Files
nan 076a8c90f1 Add specifications for two-times upscale and unified depth plane features
- Introduced the two-times upscale specification detailing requirements for unified output, fixed model presets, arbitrary dimensions, and consistent job behavior.
- Added scenarios for existing models, repeated upscale, and handling of alpha preservation.
- Created the unified depth plane specification outlining geometry modes, stable interface, and asset evaluation.
- Defined scenarios for mode switching, relief and camera preservation, and validation of delivered assets.
2026-09-17 17:19:05 +08:00

3.9 KiB
Raw Blame History

ADDED Requirements

Requirement: Frame samples geometric boundary coverage

Frame SHALL 在输出像素与源投射轮廓或前后层级交界相交时使用固定 4×4 均匀子像素中心样本,分别判断有效覆盖及深度顺序。每个样本 SHALL 沿用现有底层 RGB 打底、前景预乘采样与独立 Alpha 合成公式。

Scenario: An opaque tilted edge covers half a pixel

  • WHEN 单张不透明图片仅覆盖该像素的 8 个子样本,其余 8 个没有源覆盖
  • THEN 输出 Alpha SHALL 为 0.5
  • AND 该像素 SHALL 不因中心点位于边缘某一侧而变为全有或全无

Scenario: The center misses a narrow projection

  • WHEN 像素中心未命中投射,但 4×4 网格存在有效命中
  • THEN 有效子样本 SHALL 参与边界合成

Scenario: Depth order changes inside a pixel

  • WHEN 两个源平面在像素覆盖区域内交换前后关系
  • THEN 每个子样本 SHALL 使用自己的深度顺序
  • AND 同深度 SHALL 沿用 active 置顶及现有稳定顺序

Requirement: Frame resolves RGB and alpha with independent coverage weights

边界像素 Alpha SHALL 为全部 16 个子样本 Alpha 的算术平均,无源样本贡献零。RGB SHALL 为具有几何源覆盖的子样本合成 RGB 的等权平均,SHALL NOT 以源 Alpha 作为 RGB 平均权重。全无覆盖像素 SHALL 保持透明黑色,不向 Frame Canvas 外扩展 RGB。

Scenario: Mask Add reveals the canvas outside every source

  • WHEN Frame 范围大于所有源投射,随后 Mask Add 将完全无覆盖区域的 Alpha 恢复为 1
  • THEN 该区域 RGB SHALL 保持黑色
  • AND 源边缘颜色 SHALL NOT 形成一像素外框

Scenario: A half-transparent foreground partially covers a transparent bottom image

  • WHEN 透明蓝色底图覆盖全部 16 个样本,Alpha 为 0.5 的红色前图覆盖其中 8 个
  • THEN 输出 RGB SHALL 为 (0.25, 0, 0.75)
  • AND 输出 Alpha SHALL 为 0.25

Scenario: A white outer edge meets empty canvas

  • WHEN 不透明白色源覆盖 8 个子样本,其余没有源覆盖
  • THEN 输出 RGB SHALL 保持 (1, 1, 1),Alpha SHALL 为 0.5
  • AND 无源区域的黑色 SHALL 不混入白色边缘

Scenario: Transparent layers meet along an oblique boundary

  • WHEN 子样本合成结果 Alpha 均为零,但各自底层 RGB 不同
  • THEN 输出 SHALL 保留这些有效 RGB 的覆盖平均
  • AND Alpha SHALL 保持零

Requirement: Restoring alpha preserves antialiased layer boundaries

Frame SHALL 将边界颜色过渡存入结果 RGB,使实际 Packed Image 经 Mask Add 后仍保留图层间的抗锯齿过渡。

Scenario: Mask Add reveals a tilted foreground over a background

  • WHEN 倾斜图片与黑色或白色底图合成,经 Pack 后执行 Mask Add 恢复 Alpha
  • THEN 边界 RGB SHALL 保留子像素覆盖混合的中间颜色
  • AND Mask Add SHALL 不将边缘恢复为单点覆盖产生的两色跳变

Requirement: Frame keeps interior detail and bounded output processing

Frame SHALL 对覆盖与层级稳定的内部像素保留现有中心双线性采样。结果 Canvas、输出尺寸限制和对象放置 SHALL 保持原约定;子样本处理 SHALL 按块执行并保持跨块结果一致。

Scenario: Pixel-aligned interior contains fine detail

  • WHEN 原尺寸对齐的图片内部包含交替明暗像素,且该区域没有几何层级边界
  • THEN 内部 RGB 与 Alpha SHALL 保持现有采样结果

Scenario: A boundary crosses processing chunks

  • WHEN 相同斜边使用不同的行块尺寸执行 Frame
  • THEN 输出 SHALL 在浮点误差范围内一致
  • AND 边界 SHALL 不出现行块接缝

Scenario: Frame uses the maximum output resolution

  • WHEN 输出达到配置的最大分辨率
  • THEN 抗锯齿 SHALL 保持原输出尺寸
  • AND 系统 SHALL 不为全部源分配完整 4 倍宽、4 倍高的输出副本