Refactor geometry node groups for image depth processing

- Introduced new utility functions in common nodes for evaluating fields and capturing attributes.
- Simplified volume field calculations in image depth cutout and panorama groups by utilizing new utility functions.
- Enhanced readability and maintainability of the image depth cutout and panorama node groups by removing redundant code and improving function usage.
- Adjusted default values for thickness and depth scale in image relief plane group for better user experience.
- Improved handling of geometry attributes and connections in image depth plane group to streamline processing.
This commit is contained in:
2026-09-10 16:46:19 +08:00
parent 489003c2cc
commit 8ae3c1d5b7
20 changed files with 553 additions and 473 deletions

View File

@@ -47,7 +47,7 @@ uv run pytest
uv run pack
# 构建并验证 Blender 节点资产
uv run build-nodes
uv run node-group build
# 准备、校验并同步 ONNX 模型到 R2
uv run sync-models
@@ -90,5 +90,9 @@ uv run sync-models
- 节点组统一保存于 `src/anyimage/assets/O_AnyImage.blend`。
- 插件运行时必须使用 `load_node_group(group_name)` 从资产加载,禁止调用 `bpy.data.node_groups.new()` 创建节点组。
- `tools/nodes` 构建脚本和测试允许通过代码创建节点组。
- 修改节点组的逻辑、接口、布局或共用构建函数后,必须运行 `uv run build-nodes`,无需另行确认;源码、测试与 `.blend` 资产均更新且验证通过,才算完成。
- 字段默认直接连接,按消费位置的几何、域、类型及输入属性版本验证求值等价性;多个消费者可复用同一输出。
- 域转换显式表达;跨变形、拓扑或分支变化需要保留源值时,使用 Capture Attribute 并确保捕获值随几何传递。
- 命名属性用于需要按名称访问的数据协议,明确名称、类型、域与消费者;内部临时命名属性按专用前缀在最后消费者之后清理。
- 节点布局通过区域内输入、字段排列和必要的 Reroute 保持可读;存储须有数据生命周期依据,构建阶段通过明确的节点或 socket 引用接线。
- 修改节点组的逻辑、接口、布局或共用构建函数后,必须运行 `uv run node-group build`,无需另行确认;源码、测试与 `.blend` 资产均更新且验证通过,才算完成。
- 具体构建规范与操作步骤见[节点资产](docs/internals/node-assets.md)。