feat(node_assets): add image plane geometry nodes and validation scripts
- Implemented `image_plane.py` to build the Image Plane Geometry Nodes group with customizable parameters for geometry, subdivide, and thickness. - Created `image_plane_validation.py` to validate the functionality of the image plane, ensuring correct geometry generation and material assignment. - Developed `material_layers.py` to construct shader node groups for image materials, including depth and normal handling. - Authored `plane_layouts.py` to define node arrangements for image geometry assets. - Introduced `shadeless.py` to create a shadeless shader node group that displays color without scene lighting while preserving shadows and reflections.
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: Tests protect meaningful behavior
|
||||
|
||||
维护者 MUST 审查全部测试文件、用例和辅助代码,按实际回归风险保留、合并、重写或删除。保留的测试 SHALL 验证可观察行为或关键协议,每项独有且仍适用的风险覆盖 MUST 保留。
|
||||
|
||||
#### Scenario: Audit completed
|
||||
- **WHEN** 全部测试整理完成
|
||||
- **THEN** 失效功能测试和无独立价值的重复测试已删除,保留用例能说明所保护的行为,完整测试通过
|
||||
|
||||
### Requirement: Test names reflect tested functionality
|
||||
|
||||
测试文件、类和函数 MUST 与其验证的功能、行为和关键条件相符;跨独立职责的测试集合 SHALL 按稳定功能拆分。
|
||||
|
||||
#### Scenario: Locate a behavior test
|
||||
- **WHEN** 按测试路径、类名和函数名查找某项功能
|
||||
- **THEN** 名称与测试主体的实际断言对应,共用辅助代码拥有明确的复用职责
|
||||
|
||||
### Requirement: Node asset modules reflect responsibilities
|
||||
|
||||
`tools/node_assets/` 的全部模块 MUST 按实际资产或业务职责审查命名与边界,所有重命名 MUST 同步导入、构建与验证入口及测试路径,并删除旧路径和转发层。
|
||||
|
||||
#### Scenario: Load reorganized asset tools
|
||||
- **WHEN** 启动器解析脚本并加载节点构建与验证模块
|
||||
- **THEN** 所有路径指向最终模块,文件名与构建对象、几何处理、布局或验证职责对应
|
||||
|
||||
#### Scenario: Preserve node behavior
|
||||
- **WHEN** 对重组后的节点构建函数运行针对性测试
|
||||
- **THEN** 普通图像平面统一使用 `O Image Plane` 名称,源码使用 `image_plane`;资产重命名前后接口、默认值、运算、连接及布局一致
|
||||
|
||||
### Requirement: Internal documentation matches implementation
|
||||
|
||||
`docs/internals/` 全部页面 MUST 与最终源码中的功能、职责、参数、调用链和产物对应,页面名称和目录索引 MUST 与主题对应。实现流程 SHALL 使用从上到下的 Mermaid 图。
|
||||
|
||||
#### Scenario: Read final implementation documentation
|
||||
- **WHEN** 按总览或 MkDocs 导航访问任一内部主题
|
||||
- **THEN** 链接有效,内容描述当前实现,源码路径和功能名称可核对,Debug 专页和过期 Debug 说明已清理
|
||||
@@ -0,0 +1,45 @@
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: Blender exposes production AI workflows
|
||||
|
||||
扩展 MUST 移除 Debug 主面板、DA3 / MoGe-2 / BEN2 / Upscale 子面板及四个 `anyimage.debug_*` Operator,并保持正式类型注册和逆序注销完整。
|
||||
|
||||
#### Scenario: Extension registration lifecycle
|
||||
- **WHEN** 扩展注册、注销并重新注册
|
||||
- **THEN** Debug 面板和 Operator 均不在注册清单中,正式面板与 Operator 正常可用
|
||||
|
||||
### Requirement: Server registers production jobs only
|
||||
|
||||
Server MUST 移除 `debug-da3`、`debug-moge2`、`debug-ben2` 和 `debug-upscale` Job 及其处理实现,不提供兼容入口。
|
||||
|
||||
#### Scenario: Registered jobs
|
||||
- **WHEN** Server 加载 Job 注册清单
|
||||
- **THEN** 四个 Debug Job 均缺席,正式 Job 保持已注册且可执行
|
||||
|
||||
### Requirement: Debug implementation is removed completely
|
||||
|
||||
源码和扩展文件选择 MUST 移除 Debug 专用模块、Scene 参数、UI 辅助函数、参数组装、原始预测序列化、帧复制及相应导入和导出。
|
||||
|
||||
#### Scenario: Source and packaging boundaries
|
||||
- **WHEN** 检查模块引用与扩展打包文件清单
|
||||
- **THEN** `operators/debug.py`、`server/jobs/debug_predictions.py`、`server/outputs/` 和 Debug 专用辅助实现均缺席,保留模块可正常导入
|
||||
|
||||
#### Scenario: Scene settings
|
||||
- **WHEN** 读取 `AnyImageSettings` 的属性声明
|
||||
- **THEN** Debug 专用属性已删除,正式使用的 `video_frames`、Cutout 和 Mask 属性保持可用
|
||||
|
||||
#### Scenario: Debug-only model dependencies
|
||||
- **WHEN** 加载模型目录与缓存 Resource
|
||||
- **THEN** DA3 模型声明、推理模块与缓存分支均已移除,正式 MoGe-2、BEN2 和 Upscale 模型保持可用
|
||||
|
||||
### Requirement: Shared production inference remains available
|
||||
|
||||
系统 SHALL 保持正式深度处理、Cutout、Remove Background 和 Upscale 所需的模型、输入校验、设备选择、多帧处理及内存释放行为。
|
||||
|
||||
#### Scenario: Production model requests
|
||||
- **WHEN** 正式 Operator 组装并提交 AI 请求
|
||||
- **THEN** 请求使用正式模型参数及 Add-on Preferences 设备设置,输入校验和视频帧数传递保持有效
|
||||
|
||||
#### Scenario: Production output and memory lifecycle
|
||||
- **WHEN** 正式 Job 完成单帧或多帧模型推理
|
||||
- **THEN** 生成对应正式产物,并按既有最终推理边界请求内存释放
|
||||
Reference in New Issue
Block a user