诊断码
能力边界
有意不做的、还没做的、往返带不走的,以及 1.0.0 的已知问题清单 —— 附带它们各自会怎么显形。
这一页把「DreamFX 不做什么」写清楚。原则只有一条:每一处降级都有诊断,绝不静默。 所以下面每一条都配着它显形的方式。
有意不做
| 为什么 | |
|---|---|
| Scratch Pad | scratch pad 脚本是内嵌在资产里的图,没有稳定名字可以寻址 |
| 把模块 body 铺成节点图 | .dfm 的 body 落成一个 custom HLSL 节点。铺开是「二级」,那是 DreamShader 已经背着的约 1.3 万行的问题再来一遍 |
| 通用表达式编译器 | 内联表达式只有算术和一张短白名单(DFX4031)。要更多请写 hlsl { } 或 .dfm |
| 真正的 emitter 继承 | from 是拷贝。改 .dfe 不会反向影响已经拷过它的系统,直到重建 |
MaterialParam | 保留语法,未实现(DFX5093) |
[Group] / [SortPriority] 到达资产 | 外部编辑 API 的 user 变量结构体没有这些元数据字段(DFX5099) |
#Region 到达资产 | 外部编辑 API 没有给栈加注记的函数(L5) |
还没做
| 现在会怎样 | |
|---|---|
| GPU/CPU 条件分支 | 不表达 |
| Scalability 条件逻辑 | 不表达(emitter 级的 QualityLevelMask 是支持的) |
静态开关在 .dfm 里编译期折叠 | 接受、校验,然后按普通输入 lower(DFX5102) |
| 曲线数据接口的完整可读语法 | 键之外还有配置时退回逐字 JSON |
| stage 的其余属性(state 迭代那一组等) | 头部只接受五个参数(DFX2026) |
往返带不走的
往返缺口 — DFX8014
emitter 继承被摊平。 合并后的栈完整保留,重建出来的 emitter 行为与原件一致 —— 丢的是链接:以后对父资产的编辑会进原件,不会进镜像。
往返缺口 — DFX8015
一个 emitter 上的第二个事件处理器。 一个可表达;多的带不走。独立 .dfe 导出也带不走处理器的
Source,因为那里没有兄弟 emitter 可以命名。
往返缺口 — DFX8016
自定义 C++ stage 类。 普通 stage 导出成 Stage name(...);类不是引擎通用 stage 的带不走。
还有两类不报码但值得知道:
- renderer 列表元素的其余字段。
Meshes写成路径数组,而每个元素其实是个结构体 —— 网格的逐元素轴心、缩放、LOD 范围没有语法。会因此丢东西的导出把它写进文件头。 - 内联表达式不按原样回来。 它们以等价的
hlsl { }块回来。往返是语义上的,不是文本上的。
1.0.0 已知问题
- 嵌套 dynamic input 节点上深度 > 1 的链接型宣言开关未防护 —— 引擎缺陷可达,但语料零命中; 计划在 1.0.x 把守卫扩到该深度。
- emitter 级
FixedBounds未携带(系统级已携带)。 bGpuAlwaysRunParticleUpdateScript未携带。- DI 配置以原样 JSON 承载(可读语法挂起);裸
DI<T>+ 链接形态下的默认实例残骸计数不稳 —— 那是判据噪音,不是数据丢失。 - UE 5.8.1 的 refPath 导入回归 —— 引擎 bug,已用
NormalizeObjectReferences绕过, 5.8.2 复测后拆除。 - L4 画面对比是人工可选步骤(OBS 配方已验证,未脚本化)。
- 长尾未做栏:自定义 C++ stage 类、参数驱动迭代次数等 —— 缺口头会点名,语料里没有实例。
这些不是缺陷,是环境要求
宿主项目必须启用与创作项目相同的内容插件(如 NiagaraFluids)。插件没挂载时模块探针没有基线,
引用其模块的源码会以缺口或编译错的形式显形。一整族解析不了的名字共享同一个前缀 = 挂载点没挂。
写包的命令要关编辑器(build / corpus / mirror-diff / decompile-all)。
两个进程存同一批包,谁后存谁赢,两边都不吭声。
重建一个系统之前先让它的实例消失。 活着的 NiagaraActor 在热替换瞬间可能看到建到一半的
renderer 布局,然后在渲染 worker 上断言。这是引擎侧的竞态,DreamFX 挡不住。
自己量自己的覆盖率
别人的数字回答不了你的问题:
pwsh -File Plugins/DreamFX/.skill/dfx.ps1 coverage它按特性分桶报告一整棵内容树里有多少能被表达。展开在往返与等价。