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.
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
## Context
|
||||
|
||||
本变更整理本轮已经选定并实现的排列方案。用户确认的基准是“结构与通道联合规划”版本:支线呈现横向计算层次,主线随计算块自然起伏,长连接使用共享通道。
|
||||
|
||||
布局由构建工具生成,保存于 `O_AnyImage.blend`。运行时沿用资产加载方式。当前实现已经覆盖资产中的 7 个几何节点组。
|
||||
|
||||
## Goals / Non-Goals
|
||||
|
||||
**Goals:**
|
||||
|
||||
- 通过计算块与连接通道联合规划保持整体秩序和可追溯性。
|
||||
- 让全部几何节点组使用同一个通用排列入口。
|
||||
- 保持节点运算、接口、真实连接、几何结果及重复排列行为正确。
|
||||
|
||||
## Decisions
|
||||
|
||||
### 按最近的几何消费者识别支线
|
||||
|
||||
`branches.py` 从依赖图逆向计算字段节点的消费者集合,将集合相同且相连的字段组成计算块。几何处理节点和成对区域入口参与主结构规划。Group Input 按计算块或直接消费节点局部读取,减少跨区域参数线。
|
||||
|
||||
### 列内排列与整体通道规划共同形成结果
|
||||
|
||||
`layout.py` 依据依赖关系建立列,将跨列连接的中继位置作为空间参与者;通过相邻 socket 的位置关系确定列内顺序和间距。计算块在相同列坐标上整理内部层次,再与共享长线的水平通道一起形成区间约束,求出整体纵向位置。
|
||||
|
||||
这一方案保留选定版本的横向阅读习惯。交叉数不是硬性验收指标;画面评估关注是否能区分各条连接及支线归属。
|
||||
|
||||
### 规划完成后统一写入 Blender
|
||||
|
||||
`arrange.py` 负责清除已有布局容器与中继、准备局部输入、调用规划器,然后创建位置、共享 Reroute 和复杂支线 Frame。替换连线复用 `common.nodes.replace_link_source`,保留多输入 socket 的连接顺序。旧排列器失去调用入口的模块随替换移除。
|
||||
|
||||
### 通过现有构建入口发布资产
|
||||
|
||||
`tools/nodes/build.py` 对每个 GeometryNodeTree 调用排列器。测试按 `check.py` 中的几何资产清单参数化,覆盖排列前后程序与几何比较、节点矩形重叠、重复排列后的连接及局部输入数量。独立 Blender 进程重新加载保存资产,验证资产完整性和几何求值。
|
||||
|
||||
## Risks / Trade-offs
|
||||
|
||||
- 长垂线及跨越其他 Frame 的连接仍可能存在 → 保留通道分组和局部预览,以实际追线效果评估后续调整。
|
||||
- 复杂支线仍可能横向较宽 → 本轮以用户确认的整体秩序为基准,结合主线和支线的全局画面检查。
|
||||
- 当前节点逻辑与历史试排的图结构不同 → 使用同一规则重新计算当前图,以当前资产的功能一致性验证结果。
|
||||
|
||||
## Migration Plan
|
||||
|
||||
通用实现替换后构建资产,在独立 Blender 进程完成重新加载检查,并对照完整及局部预览。实现与资产作为同一变更交付;需要回退时同步恢复这两部分。
|
||||
Reference in New Issue
Block a user