Add new node asset scripts for geometry and shader operations
- Implemented `build_mesh_plane.py` to create a geometry node group for mesh planes with customizable parameters. - Created `build_shadeless.py` for a shader node group that displays color without scene lighting while preserving shadows and reflections. - Added `validate.py` to validate the integrity of the newly created node groups and their inputs. - Introduced `validate_cutout.py` to ensure the functionality of cutout node groups and their dependencies. - Developed `validate_mesh_plane.py` to test the mesh plane creation and its modifier settings.
This commit is contained in:
48
docs/internals/index.md
Normal file
48
docs/internals/index.md
Normal file
@@ -0,0 +1,48 @@
|
||||
# 内部实现总览
|
||||
|
||||
AnyImage 的实现围绕一条清晰边界展开:Blender 进程负责交互与数据创建,独立 Job Server 负责模型推理和文件处理。两侧通过 BlendJob 传递可序列化参数与 Job 目录中的产物,不跨进程传递 Blender RNA 数据。
|
||||
|
||||
```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 配置
|
||||
│ ├── operators/ # 交互、任务提交与结果导入
|
||||
│ ├── server/ # 无 Blender 依赖的计算端
|
||||
│ ├── assets/ # 随扩展分发的节点资产
|
||||
│ └── wheels/ # 随扩展分发的 BlendJob wheel
|
||||
├── tools/ # Blender 资产构建与验证
|
||||
├── tests/ # Python 自动化测试
|
||||
├── pack.py # 多平台扩展打包
|
||||
└── sync_models.py # ONNX 模型同步
|
||||
```
|
||||
|
||||
## 文档分层
|
||||
|
||||
- [程序架构](architecture.md):注册、配置、线程和模块边界。
|
||||
- [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 的构建、加载与验证。
|
||||
|
||||
内部实现文档描述模块之间的职责和主要数据流。函数级分支、参数校验与异常处理以源码和测试为准,避免文档重复实现细节。
|
||||
Reference in New Issue
Block a user