# 内部实现总览 Blender 进程负责交互与数据创建,独立 Job Server 负责模型推理和文件处理。两侧通过 BlendJob 传递可序列化参数与 Job 目录中的产物。 ```mermaid flowchart TD Input["Image Empty / 手势"] --> Operator["Blender Operator"] Operator --> Choice{"需要独立计算?"} Choice -- "否" --> Build["Blender 主线程构建"] Choice -- "是" --> Runtime["BlendJob Runtime"] Runtime --> Server["Job Server"] Server --> Files["Job 产物"] Files --> Build Build --> Result["Image / Mesh / Material / Modifier"] ``` ## 项目主干 ```text . ├── src/anyimage/ │ ├── __init__.py # Blender 注册入口 │ ├── menu.py # Image Empty 右键菜单 │ ├── preferences.py # 扩展级配置 │ ├── properties.py # Scene 状态与模型枚举 │ ├── runtime.py # BlendJob Runtime 配置 │ ├── common/ # Blender 侧共享原子能力 │ ├── operators/ # 交互、任务提交与结果导入 │ ├── server/ # 无 Blender 依赖的计算端 │ ├── assets/ # 随扩展分发的节点资产 │ └── wheels/ # 随扩展分发的 BlendJob wheel ├── tools/ # 打包、模型同步与 Blender 节点资产 └── tests/ # Python 自动化测试 ``` ## 文档分层 - [程序架构](architecture.md):注册、配置、线程和模块边界。 - [Common 公共函数](common.md):仅列生产功能从 `common/` 外部调用的函数。 - [Job Runtime 与 Server](runtime.md):任务生命周期、媒体输入和模型 Session。 - [Operator 实现索引](operators/index.md):按 `src/anyimage/operators/` 中的完整功能拆分实现页。 - [Job 产物](outputs.md):文件用途和 Blender 导入关系。 - [开发与发布](development.md):本地环境、测试、打包和 CI。 - [节点资产](node-assets.md):Geometry Nodes 的构建、加载与验证。