## ADDED Requirements ### Requirement: Image layer exposes alpha adjustment strength O Image Layer SHALL 在默认折叠的 `Options` 面板中依次提供 `Alpha Fix`、`Normal Scale`、`Object Space`。Alpha Fix SHALL 为浮点输入,范围 0–1,subtype 为 FACTOR,默认 0,并以该值控制内部 Alpha Float Curve 的 Factor。 #### Scenario: Options are initially collapsed - **WHEN** 创建 O Image Layer 节点实例 - **THEN** Options 面板 SHALL 默认折叠,包含 Alpha Fix、Normal Scale、Object Space - **AND** Color、Alpha、Normal、Bump Scale SHALL 位于面板外 #### Scenario: Adjustment is disabled - **WHEN** Alpha Fix 为 0 - **THEN** 组输出 Alpha SHALL 等于输入 Alpha #### Scenario: Adjustment is fully applied - **WHEN** Alpha Fix 为 1 - **THEN** 组输出 Alpha SHALL 等于内部 Float Curve 对输入 Alpha 的求值 #### Scenario: Adjustment is partially applied - **WHEN** Alpha Fix 为 0.5 - **THEN** 输出 SHALL 等于原始 Alpha 与完整曲线结果的平均值 ### Requirement: Alpha curve follows the reference profile Alpha 曲线 SHALL 使用四个点:起点 `(0, 0)`、低端控制点 `(0.8, 0)`、靠近右上方的平滑控制点和终点 `(1, 1)`,形成参考图中的快速上升轮廓。对输入范围 0–1,完整调整后的输出 SHALL 保持在 0–1,保持单调不减,并保持完全透明与完全不透明端值。 #### Scenario: Low alpha is suppressed - **WHEN** 输入 Alpha 在 0–0.8 且调整强度为 1 - **THEN** 输出 Alpha SHALL 为 0,允许浮点求值误差 #### Scenario: Opaque alpha is preserved - **WHEN** 输入 Alpha 为 1 - **THEN** 任意调整强度下输出 Alpha SHALL 为 1 ### Requirement: Material creation initializes adjustment from preferences 创建使用 O Image Layer 的材质时,系统 SHALL 通过现有偏好读取入口,将 Alpha Fix 初始化为 `Adapt to Scene View Transform` 开启时的 1、关闭时的 0。 #### Scenario: Adaptation is enabled - **WHEN** 开启适配后创建普通着色或 Shadeless 材质 - **THEN** O Image Layer 实例的 Alpha Fix SHALL 为 1 - **AND** 对应着色器 SHALL 使用该组调整后的 Alpha 输出 #### Scenario: Adaptation is disabled - **WHEN** 关闭适配后创建材质 - **THEN** O Image Layer 实例的 Alpha Fix SHALL 为 0 #### Scenario: Color space falls back - **WHEN** 适配开启且颜色空间解析回退到 sRGB - **THEN** 新建 O Image Layer 实例的 Alpha Fix SHALL 仍为 1 #### Scenario: Existing material is manually adjusted - **WHEN** 用户修改现有材质的 Alpha Fix 后切换偏好 - **THEN** 已有实例的调整值 SHALL 保留 - **AND** 后续新建材质 SHALL 使用当前偏好初始化