Loading...
Loading...
Compare original and translation side by side
rgjqPATHgrep -rnpackage.jsonPATHrgjqgrep -rnpackage.jsonuseFrameuseFramejq -r '
((.dependencies // {}) + (.devDependencies // {}) + (.peerDependencies // {}))
| to_entries
| map(select(.key | test("^(three$|@react-three/)")))
| .[].key
' package.json 2>/dev/nulljq -r '
((.dependencies // {}) + (.devDependencies // {}) + (.peerDependencies // {}))
| to_entries
| map(select(.key | test("^(three$|@react-three/)")))
| .[].key
' package.json 2>/dev/nullundefinedundefined
Note the file paths — each check refers back to them.
记录文件路径——每项检查都会引用这些路径。undefinedundefined
No signal → skip that check and say so in the report's skipped list. Each check
file restates its own activation condition; follow that over this summary if
they disagree.
若无信号→跳过该检查项,并在报告的跳过列表中说明。每个检查文件都会重新说明其激活条件,若与本摘要冲突,以检查文件中的条件为准。references/checks/<name>.md--check=<name>references/checks/<name>.md--check=<name>highmediumlowundefinedhighmediumlowundefined
Each check file ends with a **How to report this finding** section — use its
wording so findings from different checks read consistently.
Skip checks that produced no finding (don't pad the report). End with a tally:
`<N> findings: <high> high, <medium> medium, <low> low`, followed by one line
naming any conditional checks skipped for lack of a signal.
每个检查文件末尾都有**如何报告该结果**章节——使用其中的表述,确保不同检查项的结果报告风格一致。
跳过未产生结果的检查项(不要填充报告)。结尾添加统计信息:`<N> 项问题: <high> 高风险, <medium> 中风险, <low> 低风险`,随后用一行说明因无信号而跳过的条件检查项。review:changes-reviewreview:changes-reviewreferences/checks/<name>.mdreferences/checks/<name>.md| Check | Topic | Severity |
|---|---|---|
| Cap | High (perf) |
| Stacked transparency and post-processing passes shading the same pixels many times over | High (perf) |
| | High (perf) |
| Geometries, materials, textures, and render targets leaking VRAM without | High (memory) |
| | High (perf) |
| A distinct geometry/material per object where one shared instance would do | Medium (perf/memory) |
| Hundreds of identical meshes that should be one | Medium (perf) |
| Shadow map resolution, casting light count, and shadow cameras fitted to nothing | Medium (perf) |
| Shader-define changes at runtime causing main-thread GLSL recompiles | Medium (perf) |
| Oversized or uncompressed textures, wrong colour space, mipmaps disabled | Medium (memory/perf) |
| Culling disabled, stale bounding volumes, or one merged mesh spanning the scene | Medium (perf) |
| 检查项 | 主题 | 严重程度 |
|---|---|---|
| 通过像素预算限制 | 高(性能) |
| 堆叠的透明效果和后期处理通道导致同一像素被多次着色 | 高(性能) |
| 在 | 高(性能) |
| 几何体、材质、纹理和渲染目标未调用 | 高(内存) |
| | 高(性能) |
| 每个对象使用独立的几何体/材质,而实际上可共享单个实例 | 中(性能/内存) |
| 数百个相同网格应合并为一个 | 中(性能) |
| 阴影贴图分辨率、投射光源数量及阴影相机设置不合理 | 中(性能) |
| 运行时修改着色器定义导致主线程GLSL重新编译 | 中(性能) |
| 纹理尺寸过大、未压缩、颜色空间错误或禁用mipmaps | 中(内存/性能) |
| 剔除功能禁用、边界盒过期或单个合并网格覆盖整个场景 | 中(性能) |
| Check | Topic | Severity |
|---|---|---|
| Atom store reads that don't subscribe, and unbatched related writes | Medium (perf/convention) |
| Gameplay at priority 1, effects at priority 2, so effects don't sample stale transforms | Medium (correctness/convention) |
| 3D components under | Low (convention) |
| 检查项 | 主题 | 严重程度 |
|---|---|---|
| 原子状态库读取未订阅,以及相关写入未批量处理 | 中(性能/约定) |
| 游戏逻辑优先级设为1,特效优先级设为2,避免特效采样过时变换 | 中(正确性/约定) |
| 3D组件放在 | 低(约定) |
references/checks/<name>.md**Conditional:**references/checks/<name>.md**条件:**react-audittexture-budgetreact-audittexture-budget