SuperAPI AI 工具集

threejs-visual-validation

测试与质量

查看项目

更新于 10-16 00:00

技能介绍

用途:该技能用于验证 Three.js WebGPU/TSL 实现中的可证伪声明,而不是评价画面是否精美。每个结论只针对一条已声明声明,避免用外观证据替代机制、时序或生命周期证明。机制真值与失败特征由所属主题技能定义,本技能定义如何证伪。

主要能力:按声明类别(视觉、机制、时序、性能、GPU 归因、资源、生命周期)记录不变量与真值来源、可观测项与隔离诊断、原生域指标与单位、对齐、掩码、聚合方式、候选检查前固定的验收门限、阻塞性失败与所需证据。所有驱动声明的数字须标注为 Authored、Derived、Measured 或 Gated,并记录单位与来源,未知值保持未知。

使用方式:先预声明每条声明,确保有直接证伪器;再冻结运行,记录 Three.js 版本、渲染器与已初始化后端、目标、浏览器/GPU、相机矩阵、种子、时间或确定性步长、视口、DPR、质量状态、资产与颜色/输出图。需要 GPU 计时时在初始化前构造渲染器:const renderer = new WebGPURenderer( { trackTimestamp: gpuTimingRequirement === 'required' } ); await renderer.init(); 并检查 renderer.backend.isWebGPUBackend !== true 时抛出错误。随后采集产生机制(最终、无后处理与贡献视图,以及所需诊断),在原生域测量,按声明需要执行条件状态分支,最后给出 PASS、FAIL 或 INSUFFICIENT_EVIDENCE。

限制:纯 CPU 侧数值、字节布局或元数据声明不能证明 GPU 着色器、渲染图像或目标性能声明。renderer.computeAsync() 只提交工作,不证明 GPU 完成;CPU 可见完成需要实际回读/映射,GPU 成本需要时间戳证据。缺少所需 GPU 时间戳时,GPU 成本声明为 INSUFFICIENT_EVIDENCE。解码带填充的 WebGPU 纹理到缓冲区拷贝时,须使用对齐回读辅助函数并传入实际整数 bytesPerRow,不得从宽度或缓冲区总长度推断行距。规范 WebGPU 不可用时记录阻塞,仅在用户明确要求时才走兼容回退分支。