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

70 lines
3.4 KiB
Markdown
Raw Permalink 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.
# cutout-edge-length Specification
## Purpose
TBD - created by archiving change use-world-space-cutout-edge-length. Update Purpose after archive.
## Requirements
### Requirement: Physical edge length control
系统 SHALL 提供正值浮点长度参数 Edge Length,初始物理默认值为 0.1 m,遵循 Blender 场景单位显示与换算。
#### Scenario: Default length
- **WHEN** 用户首次使用 Cutout
- **THEN** Edge Length 的初始值表示 0.1 m,并可连续调整
#### Scenario: Scene unit conversion
- **WHEN** 场景 Unit Scale 为 0.01,用户输入 0.1 m 且相对限制未触发
- **THEN** 建网目标间距为 10 个 Blender 世界单位
### Requirement: Relative spacing floor
系统 SHALL 在 Preferences 提供 Minimum Relative Edge Length 百分比,默认 1%,并使用 `max(请求边长, 有效裁切包围盒世界长边 × 最小比例)` 计算有效目标间距。包围盒 SHALL 来自参与建网的有效内容,包含所有组件,采用图像平面轴向边经过世界变换后的较长边。
#### Scenario: Floor is applied
- **WHEN** 包围盒长边为 1 m,最小比例为 1%,请求边长为 0.001 m
- **THEN** 有效目标间距为 0.01 m
#### Scenario: Requested spacing is retained
- **WHEN** 包围盒长边为 1 m,最小比例为 1%,请求边长为 0.1 m
- **THEN** 有效目标间距为 0.1 m
#### Scenario: Preference changes
- **WHEN** 用户将最小比例改为 2%,包围盒长边为 1 m,请求边长为 0.001 m
- **THEN** 有效目标间距为 0.02 m
### Requirement: Stable world density
系统 SHALL 根据有效世界间距驱动普通轮廓与 Fine Outline 的基础采样。图片分辨率与有效内容外的画布 SHALL 不参与目标间距定义;对象世界变换 SHALL 参与空间长度计算。
#### Scenario: Resolution and canvas changes
- **WHEN** 相同物理尺寸和轮廓的主体更换图像分辨率或增加透明画布,参数保持一致
- **THEN** 两种建网模式采用相同的有效目标间距
#### Scenario: Object scaling below the floor threshold
- **WHEN** 用户放大 Image Empty 且相对限制仍未触发
- **THEN** 目标边长保持一致,放大的区域获得更多采样点
#### Scenario: Rotation and nonuniform scale
- **WHEN** 对象旋转或非均匀缩放
- **THEN** 两种建网模式在世界平面度量中应用有效间距,旋转不改变包围盒长边基准
### Requirement: Detail preserving spacing semantics
系统 SHALL 将长度限制解释为基础采样目标,允许轮廓适配和三角剖分产生更短的边,并保持 Fine Outline 的细小部件支持。
#### Scenario: Thin outline feature
- **WHEN** Fine Outline 处理宽度小于有效间距的可用细小轮廓
- **THEN** 建网可增加局部采样并生成较短边,以保留该轮廓
### Requirement: Effective length feedback and parameter replacement
系统 SHALL 在相对限制生效后显示有效目标长度,并保留用户请求长度。系统 SHALL 使用新长度属性和相对偏好替换旧 Mesh Detail 枚举与最大网格分辨率设置。
#### Scenario: Visible clamp result
- **WHEN** 用户请求 0.1 m,但实际采用 0.2 m
- **THEN** 界面反馈显示有效长度 0.2 m,用户设置仍为 0.1 m
#### Scenario: Consistent execution paths
- **WHEN** 用户通过同步或 AI 异步路径生成 Cutout
- **THEN** 系统依据最终建网内容采用同一套有效边长规则