refactor(srp): formalize default renderer asset composition
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
# SRP / URP Default Renderer Asset Composition Plan
|
||||
|
||||
时间:2026-04-22
|
||||
|
||||
## 背景
|
||||
|
||||
当前 `RendererBackedRenderPipelineAsset` 已经把 renderer data collection 的运行时管理收口了,
|
||||
但 `UniversalRenderPipelineAsset` 的默认 renderer 资产组合仍然是隐式的:
|
||||
|
||||
1. 新建 asset 时,`rendererDataList` 默认还是空
|
||||
2. 默认 renderer data 主要靠 runtime resolve/fallback 时再补出来
|
||||
3. 这会让 asset authoring 和 runtime bootstrap 混在一起
|
||||
|
||||
这不够像 Unity 风格。Unity 的 pipeline asset 虽然也有 default renderer/fallback 语义,
|
||||
但“这个 asset 默认有哪些 renderer data”本身应该是 asset 侧明确表达的,而不是运行时临时补洞。
|
||||
|
||||
## 目标
|
||||
|
||||
把默认 renderer data list 正式收成 asset 默认组合。
|
||||
|
||||
阶段完成后要达到:
|
||||
|
||||
1. `RendererBackedRenderPipelineAsset` 拥有明确的默认 renderer data list 重置入口
|
||||
2. `UniversalRenderPipelineAsset` 通过专门工厂表达默认 renderer 组合
|
||||
3. 新建 `UniversalRenderPipelineAsset` 时就有正式的默认 renderer data 列表
|
||||
4. runtime fallback 只负责容错,不再承担默认 authoring 组合表达
|
||||
|
||||
## 范围
|
||||
|
||||
本阶段只处理默认 renderer asset 组合表达,不做:
|
||||
|
||||
- deferred renderer
|
||||
- renderer inspector / editor UI
|
||||
- public API 大改
|
||||
- 阴影与后处理能力扩展
|
||||
|
||||
## 实施步骤
|
||||
|
||||
### 1. 给 RendererBackedRenderPipelineAsset 增加默认重置入口
|
||||
|
||||
职责:
|
||||
|
||||
- 允许 asset 明确重置到默认 renderer data list
|
||||
- 把默认 list 构造和 runtime fallback 区分开
|
||||
|
||||
### 2. 抽出 Universal 默认 renderer data 工厂
|
||||
|
||||
职责:
|
||||
|
||||
- 创建默认 `UniversalRendererData`
|
||||
- 返回默认 renderer data list
|
||||
|
||||
### 3. 让 UniversalRenderPipelineAsset 显式初始化默认组合
|
||||
|
||||
目标:
|
||||
|
||||
- asset 构造时就有明确默认 renderer data
|
||||
- 为未来 renderer variant / preset 演进保留稳定落点
|
||||
|
||||
## 完成标准
|
||||
|
||||
满足以下条件才算本阶段收口:
|
||||
|
||||
1. `UniversalRenderPipelineAsset` 默认 renderer 组合不再依赖 runtime 隐式补全
|
||||
2. 默认 renderer data list 有专门工厂落点
|
||||
3. `XCEditor` 编译通过
|
||||
4. old editor 冒烟至少 10 秒通过
|
||||
Reference in New Issue
Block a user