Files
AnyImage/openspec/changes/unify-boundary-depth-smoothing/tasks.md
nan 31074bd511 Add tests and implement boundary smoothing and cutout functionality
- Introduced tests for boundary smoothing in `test_boundary_smoothing.py`, verifying that smoothing reduces stair-step artifacts while preserving boundary integrity.
- Added tests for cutout boundary behavior in `test_cutout_boundary.py`, ensuring proper handling of boundary triangles and normal blending.
- Created `test_temporary_attributes.py` to check the cleanup of temporary attributes across depth modifier branches, ensuring no warnings are raised.
- Implemented point culling functionality in `test_validity.py`, confirming that invalid points are removed without affecting adjacent geometry.
- Developed boundary smoothing logic in `boundary_smoothing.py`, allowing for depth smoothing while maintaining edge integrity.
- Added cutout boundary management in `cutout_boundary.py`, including functions for removing boundary triangles and tapering thickness profiles.
- Implemented validity checks in `validity.py` to ensure proper deletion of invalid vertices and associated wire edges.
2026-09-11 20:37:20 +08:00

2.3 KiB
Raw Blame History

1. 实施基线

  • 1.1 检查当前工作区修改、三个节点组的参数标识和调用顺序,保留已有工作;运行相关边界与深度节点测试,记录基线。
  • 1.2 复查独立实验的 Cutout 和 Depth Plane 对比,准备可重建的尖刺、内部孔洞、深度断层及全景接缝/极点合成场景。

2. 公共深度平滑

  • 2.1 在 common/boundary_smoothing.py 中实现 Point 域标量 Blur、两圈影响权重及保护字段,复用现有节点辅助函数。
  • 2.2 实现迭代数为 0 和影响权重为 0 时的原值直通,验证内部精确保持、拓扑不变及分离表面的采样隔离。

3. 节点组接入

  • 3.1 接入 Depth Cutout,在 Split 后、投影前平滑相机 Z,按原射线重建;让原 Alpha 轮廓参与深度平滑,并保留后置网格平滑的既有保护规则。
  • 3.2 接入 Depth Plane,复用原 UV 矩形外框保护,处理 Valid Only 和 Split 的新边界;验证完整矩形的新增深度平滑为恒等操作。
  • 3.3 接入 Depth Panorama,在当前球面拓扑上平滑有效径向距离,接回 Depth Scale 表达式;验证 Invalid Distance、Valid Only 两分支、UV 接缝和极点。
  • 3.4 三组共用 Boundary Smooth 迭代数,保留默认 5、范围 0–20 和既有 socket 标识;更新对应界面描述并精简重复连接。

4. 回归与实图验收

  • 4.1 为源码构建和保存资产补齐零值直通、边界尖刺、两圈外保持、零深度、相机射线/球面方向及原矩形保护的行为测试。
  • 4.2 覆盖 Alpha 与模型 validity 开口、Split 隔离、Cutout 两种模式、零/正厚度及 Depth Scale;检查几何、UV、材质与用户属性传递。
  • 4.3 对三张既有实图复验 Cutout 与 Depth Plane,比较 Boundary Smooth 5、12 及不同密度;检查尖刺改善和过度软化,并完成全景专项验收。
  • 4.4 递归检查几何组及嵌套组 Capture 为零,审查命名属性的必要性与清理位置,确认节点布局可读。

5. 资产与交付

  • 5.1 运行 uv run node-group build,更新 O_AnyImage.blend 和必要资产版本标识,在独立 Blender 进程中加载并验证。
  • 5.2 运行相关节点及 Operator 测试,确认正常退出;核对源码与资产的一致性、最终差异和旧引用,保留已有其他修改。