Files
AnyImage/openspec/changes/support-frame-view-plane-intersections/tasks.md
nan 1994d38ccd Add comprehensive tests for image processing and mask functionalities
- Introduced tests for color image handling, ensuring source preservation and premultiplied alpha usage.
- Implemented tests for brush stroke operations, validating segment boundaries and brush anti-aliasing.
- Added tests for frame anti-aliasing, confirming correct rendering behavior with various alpha values and depth settings.
- Created tests for frame projection, ensuring accurate overlap calculations and half-plane clipping.
- Developed tests for image premultiplied retention, verifying behavior during loading and packing processes.
- Added undo functionality tests for mask operations, ensuring single transaction behavior during edits.
2026-09-05 21:33:11 +08:00

2.0 KiB
Raw Blame History

1. 投影与求交基础

  • 1.1 从冻结的 Viewport 投影矩阵和 Image Empty 世界矩阵构建本地图片平面到 Region screen-space 的 Projective Transform,并实现带量级容差的逆映射与逐点有效性结果
  • 1.2 实现 active 图片有效投射区域与 Frame 矩形的连续几何裁剪和正面积判断,覆盖正交投影、透视前方、跨观察原点、无穷远分界、平行视线和窄交叠
  • 1.3 为屏幕到图片局部坐标、源像素坐标和视图深度计算补充不同对象尺度、极近正深度、固定阈值误判与退化矩阵单元测试

2. Frame 采样与合成

  • 2.1 将 Frame source descriptor 从有限角点 Quad 改为屏幕观察射线到图片平面的映射,并按正交与透视模式分别计算样本有效性
  • 2.2 更新分块像素合成:正交视图保留任意有限深度样本,透视视图只保留观察方向前方样本,单条平行或无效射线只让对应源透明
  • 2.3 补充正交负深度多图排序、透视跨平面部分采样、后方透明、单源局部退化、共面 active 置顶和既有普通透视结果回归测试

3. 结果放置与事务边界

  • 3.1 保留正常透视和正交视图的 active 原点深度放置;当透视 active 原点不在前方时,从 active 有效交叠区域屏幕几何中心求取代表正深度
  • 3.2 在代表深度不可稳定求解时于创建或替换结果 Image 前取消操作,并验证所有参与 Object、Image 和变换保持不变
  • 3.3 补充 active 原点在前方、位于观察原点、处于后方但图片部分可见,以及没有稳定代表深度的结果矩阵与显示范围测试

4. 文档与验证

  • 4.1 更新 Frame 与公共 Viewport/Image 内部文档,用从 Frame 像素到观察射线、图片平面交点、源像素和深度合成的流程正面描述当前实现
  • 4.2 运行 Frame、Image Edit Tool、注册与 Blender Addon 相关测试,再运行 uv run pytest,确认完整测试集通过且不构建文档、节点资产或扩展包