Files
nan 198fcbf55b
Some checks failed
Test / test (push) Has been cancelled
Initial public release
2026-09-19 21:31:36 +08:00

3.3 KiB
Raw Permalink Blame History

cutout-split-boundary-shaping Specification

Purpose

TBD - created by archiving change refine-cutout-split-boundaries. Update Purpose after archive.

Requirements

Requirement: Split boundary triangle cleanup

Depth Cutout SHALL 在 Split 后、投影与边界平滑前,一次删除三个顶点均在当前边界上的三角面。

Scenario: Remove a boundary ear

  • WHEN Split 输出包含三个边界顶点的三角面及包含内部顶点的相邻三角面
  • THEN 前者被删除,后者保留,清理不递归传播

Requirement: Boundary smoothing after cleanup

Depth Cutout SHALL 在三角面清理后的几何上沿用现有 Boundary Smooth,保留其参数语义。

Scenario: Smooth the cleaned boundary

  • WHEN 全边界三角面清理完成且 Boundary Smooth 大于 0
  • THEN 现有平滑在保留几何上求值,已删除三角面不参与平滑

Scenario: Disable boundary smoothing

  • WHEN Boundary Smooth 为 0
  • THEN 深度及网格平滑步骤保持各自输入值,其他切口形状处理继续按当前参数求值

Requirement: Rounded split thickness profile

Depth Cutout SHALL 使新切口的 Balloon 厚度轮廓在边界为零,在邻近区域连续恢复,并使 Edge Round 影响新切口的圆润过渡。

Scenario: Form a new meeting boundary

  • WHEN Split 产生内部切口并执行 Balloon 厚度成形
  • THEN 新切口前后表面在零厚度边界交汇,影响带外保留原厚度轮廓

Scenario: Adjust edge rounding

  • WHEN 用户增加 Edge Round
  • THEN 新切口的过渡带随之加宽,最终几何呈现圆润过渡的变化,原 Alpha 轮廓继续使用既有规则

Scenario: No new boundary

  • WHEN 当前 Split 结果没有新增边界
  • THEN 切口轮廓步骤保留原厚度字段

Requirement: Thickness weighted normal smoothing

Depth Cutout SHALL 始终按归一化厚度的 smoothstep 权重混合原法向与平滑法向,再归一化;保留 Normal Smooth 对平滑迭代数的控制。

Scenario: Thin thickness

  • WHEN Balloon Thickness 趋于 0,或 Uniform Thickness 与 Reference Depth 的比例趋于 0
  • THEN 法向平滑引入的方向偏差连续趋于 0,结果保持有限

Scenario: Full smoothing strength

  • WHEN 归一化厚度达到或超过 1
  • THEN 使用完整的既有法向平滑结果

Scenario: Normal smoothing disabled

  • WHEN Normal Smooth 为 0
  • THEN 混合结果等于对应消费几何上的原法向归一化结果

Requirement: Live cutout controls

Depth Cutout SHALL 在每次参数变更后重新求值 Split、边界平滑和厚度成形,保留现有参数接口。

Scenario: Edit the loaded modifier

  • WHEN 用户加载节点资产后连续修改 Split Threshold、Boundary Smooth 和 Edge Round
  • THEN 几何按新参数实时更新,恢复相同参数可重现相同结果,不依赖冻结的中间网格

Requirement: Loadable node asset

本功能 SHALL 随正式节点资产交付,所有相关节点组及测试辅助图保持 Capture Attribute 为零,并保留用户属性。

Scenario: Independently load built asset

  • WHEN 在独立 Blender 进程加载重建资产
  • THEN 接口、动态形状求值和必要属性均正确,输出不含实验诊断或已结束生命周期的内部临时属性