This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: Unified depth symmetry identity
|
||||
系统 SHALL 使用菜单名称 `Depth Symmetry`、节点组名称 `O Image Depth Symmetry` 和 Shape 标识 `DEPTH_SYMMETRY`,节点 Mode SHALL 按 `Balloon / Projected` 顺序提供选择。
|
||||
|
||||
#### Scenario: Load the node asset
|
||||
- **WHEN** 用户创建 Depth Symmetry 对象
|
||||
- **THEN** 系统从节点资产加载 `O Image Depth Symmetry`,Mode 包含 Balloon 和 Projected
|
||||
|
||||
### Requirement: Gesture selects the initial mode
|
||||
系统 SHALL 为 Lasso 创建结果选择 Balloon,为 Polyline 创建结果选择 Projected,并允许用户随后手动切换 Mode。
|
||||
|
||||
#### Scenario: Lasso preset
|
||||
- **WHEN** 用户通过 Lasso 选择区域并创建 Depth Symmetry
|
||||
- **THEN** Mode 初始值为 Balloon
|
||||
|
||||
#### Scenario: Polyline preset
|
||||
- **WHEN** 用户通过 Polyline 选择区域并创建 Depth Symmetry
|
||||
- **THEN** Mode 初始值为 Projected,Depth Cutout 自身的 Polyline → Shell 关系保持不变
|
||||
|
||||
#### Scenario: Switch the generated object's mode
|
||||
- **WHEN** 用户修改已创建对象的 Mode
|
||||
- **THEN** 同一份输入网格和深度数据按所选模式重新求值,不受创建手势锁定
|
||||
|
||||
### Requirement: Preserve balloon behavior
|
||||
Balloon 模式 SHALL 保持原 Depth Balloon 的几何与参数行为,在对称平面向原 Cutout 剪影收拢。
|
||||
|
||||
#### Scenario: Compare the original mode
|
||||
- **WHEN** 同一输入、深度图和原有参数分别进入旧基准与新节点的 Balloon 模式
|
||||
- **THEN** 输出拓扑和位置在浮点容差内一致,包括 Double Sided、Thickness、平滑及 Depth Axis 的行为
|
||||
|
||||
### Requirement: Projected positive surface
|
||||
Projected 模式 SHALL 独立读取深度,使用 Reference Depth 和 Depth Direction 调整正面的置换与投射方向。成形坐标中的正面 MUST 保持在 `Z≥0`,越界面 SHALL 被删除。
|
||||
|
||||
#### Scenario: Adjust both depth controls
|
||||
- **WHEN** 用户修改 Reference Depth 或 Depth Direction
|
||||
- **THEN** 正面形体与投射轮廓重新求值,镜像平面保持在成形坐标的 `Z=0`
|
||||
|
||||
#### Scenario: A face crosses the plane
|
||||
- **WHEN** 正面某个面含有负 Z 顶点
|
||||
- **THEN** 该面及失去面支撑的边线、孤点被删除,剩余结果不包含越界正面或外围压平裙边
|
||||
|
||||
#### Scenario: Everything is outside
|
||||
- **WHEN** 参数使全部输入面越界
|
||||
- **THEN** 输出为空几何,求值正常结束
|
||||
|
||||
### Requirement: Close the projected symmetric volume with straight walls
|
||||
Projected 开启 Double Sided 时 SHALL 关于成形坐标 `Z=0` 镜像,并沿 Z 轴直线连接对应外边界,生成封闭网格。正面平滑 SHALL 在镜像补壁之前完成。
|
||||
|
||||
#### Scenario: Complete a car volume
|
||||
- **WHEN** 合法正面存在外边界且 Double Sided 打开
|
||||
- **THEN** 输出网格没有开放边、异常面邻接或顶点非流形,面绕序一致;每个 `(x,y,z)` 存在镜像对应点 `(x,y,-z)`
|
||||
|
||||
#### Scenario: Check straight walls after smoothing
|
||||
- **WHEN** 用户开启 Projected 平滑后生成双面网格
|
||||
- **THEN** 外边界仍沿 Z 轴直线连接,侧壁法线与 Z 轴垂直,平滑不使侧壁弯曲
|
||||
|
||||
#### Scenario: Preview only the front
|
||||
- **WHEN** 用户关闭 Projected 的 Double Sided
|
||||
- **THEN** 仅输出非负 Z 正面,用于检查投射和裁去区域
|
||||
|
||||
### Requirement: Direct node construction and shared builders
|
||||
Projected 分支 MUST 直接使用基础节点与公共构建函数,不得使用 Mesh Boolean、Capture Attribute 或依赖 Depth Plane、Depth Cutout 节点组。插件运行时 SHALL 从资产加载节点组。
|
||||
|
||||
#### Scenario: Inspect the built asset
|
||||
- **WHEN** 构建与检查 `O Image Depth Symmetry`
|
||||
- **THEN** 新模式不存在布尔、Capture Attribute 或上述节点组依赖,Depth Symmetry 源码与资产接口一致
|
||||
|
||||
### Requirement: Verify performance on equivalent inputs
|
||||
实现 SHALL 在同一机器、同输入、同平滑和同参数序列下,对比直接构建版本与已验证的布尔原型,分别记录 Reference Depth 和 Depth Direction 更新耗时。
|
||||
|
||||
#### Scenario: Compare ordinary and dense meshes
|
||||
- **WHEN** 对普通与加密网格执行预热后的重复求值
|
||||
- **THEN** 报告两种更新的中位数、输入规模与测试条件,并确认正式双模式 Projected 分支的求值收益,而非以固定毫秒值作为跨机器测试门槛
|
||||
Reference in New Issue
Block a user