Files
AnyImage/openspec/changes/remove-geometry-node-smoothing/tasks.md
nan 591e62085a feat(cutout): implement boundary padding for cutout textures
- Introduced a new `Boundary Padding` preference in the Cutout Tool with a default of 2 px and a configurable range of 1-4 px.
- Updated the Cutout client to establish inward mapping from the final Mask, sampling in a fixed direction and processing independent material RGBA and Depth.
- Enhanced the handling of RGBA and Depth during cutout operations, ensuring proper mapping and preservation of source data.
- Added tests to validate the new boundary padding functionality and its integration with existing cutout processes.

feat(geometry): remove overall mesh smoothing from geometry nodes

- Removed the `Smooth` input from several geometry node groups to eliminate unnecessary overall mesh smoothing.
- Retained `Smooth Weight` for depth nodes while removing it from Cutout and Relief Plane nodes.
- Ensured that boundary, normal, and fill smoothing behaviors remain intact and consistent.
- Updated tests and documentation to reflect the changes in node interfaces and behaviors.

feat(normals): scale tangent normals with depth

- Reused the existing `o_normal_reduction` attribute to adjust Tangent Normal strength based on the geometry's `Depth Scale`.
- Ensured that Tangent Normal strength is consistent with the geometry depth, preserving full strength for materials that do not provide the attribute.
- Updated tests to verify the correct behavior of normal strength adjustments in both Tangent and Object Space.
2026-09-15 00:40:24 +08:00

18 lines
1.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## 1. 节点组实现
- [x] 1.1 从 Cutout、Depth Cutout、Depth Plane、Depth Panorama 与 Relief Plane 删除 `Smooth` 接口及末端整体 `expand_smooth()` 调用,直接连接原有着色或输出阶段
- [x] 1.2 从 Cutout 与 Relief Plane 删除仅服务整体 smooth 的 `Smooth Weight`,并确认三个深度节点组继续以 `Smooth Weight` 驱动边界平滑
- [x] 1.3 检查共享 smoothing 构建函数的剩余调用,保留边界平滑所需实现并清理仅随末端整体 smooth 产生的无用代码
## 2. 调用方与测试
- [x] 2.1 清理 operator、节点检查工具和测试中对已删除 `Smooth` 及相应 `Smooth Weight` 的赋值与接口预期
- [x] 2.2 更新节点组库存与布局测试,验证五个节点组不再暴露 `Smooth`,且仅三个深度节点组保留 `Smooth Weight`
- [x] 2.3 精简整体 smooth 行为测试,并保留或补充边界平滑、法线平滑、Fill Smooth 与 smooth shading 不变的有效覆盖
## 3. 资产与验证
- [x] 3.1 同步 `tools/nodes` 与 `docs/internals` 中相关接口和实现说明,检查仓库内不存在失效的整体 `Smooth` 引用
- [x] 3.2 运行 `uv run node-group build`,更新并验证 `src/anyimage/assets/O_AnyImage.blend`
- [x] 3.3 运行相关节点与 operator 测试,检查最终差异并确认专用平滑路径仍正常