Files
MapLibreParticleLab/docs/报告/STEP-095_V13独立严格代码与性能审查_Codex完成报告_v1.md
tei 4bc9d0ca56
Some checks failed
validate-scripts / validate-scripts (push) Has been cancelled
docs: record STEP-095 delivery verification
2026-09-25 20:48:48 +09:00

8.9 KiB
Raw Permalink Blame History

STEP-095 V13 独立严格代码与性能审查 — Codex 完成报告 v1

日期:2026-09-25(Asia/Tokyo)。本轮为独立静态调查与中文文档交付,不是修复或产品验收。

1. 执行摘要与状态

已完成 V13 冻结源码审查、旧 F01~F10 独立复核、V12/V13 成本比较和 RDC 验证方案。新增最高优先问题为 target 切换后 stencil 记录未失效、Metal depth/stencil 契约未完整下传、绘制抛错后 cache 仍可能标成功、V4 PLAY 未接入生产时钟推进。另有 JSON、数值入库、listener、物化/UI 成本等明确源码链。

没有运行构建、测试、设备或 profiler;不宣称已发生黑屏、OOM、崩溃或达到某个性能收益。调查内容完成,Git 状态以阶段记录第 4 节追加结果为准。调查交付 PASS 与 V13 产品运行态 PASS 分离;后者本轮不成立,运行验证均 NOT RUN/NEEDS_RUNTIME。

2. 基线与审查范围

环境为 Mac-mini-tei.lan、/Users/tei/dev/MapLibreParticleLab、particle/main。起始 HEAD/实际 origin 为 05878d662308b9a92c20c433c3cd2943d74ae718,工作树 clean。冻结源码 ee0b89e711bf01335b3aa71d36def785cd97fec3,功能提交 016fd1fff6a33cf795c10d4f5c5413d308383677。RN/Android 13.4.1-particle.13、iOS 6.28.0-particle.13;manifest/tag 已核对,manifest sourceCommit ddf20dec… 至冻结点无生产源码变化。

本次恢复指令由用户在同一会话明确指定 gpt-6-astra high,符合任务要求。该记录不冒充底层启动参数的独立核验。保留已有调查正文,仅做模型来源澄清及引用校正。

已读取 AGENTS、当前规范/总则/基线,先源码后旧报告,交叉检查 STEP-088~094;范围包括 Segment JSON/resolver、全局排序、runtime/cache、GL/Metal offscreen、State/Trail/时间场/QBIN、Android/iOS/RN、Host 版本锁及 Integration 只读状态。Vulkan、全部驱动/并发交错、业务 provider/HTTP、产物独立重建下载、真实 NavSea 接入未验证。

完整 manifest 坐标/散列、源码路径图及范围限制见调查第 2 节。发布回读仅 HISTORY,文档提交不发布新软件。

3. Finding 总表与详细证据入口

以下为交付索引;每项的精确文件/行范围、最短可复核调用链、反例、修复方向和验收方案完整保存在调查第 3~6 节,作为本报告证据明细,不另复制一套可能漂移的行号。D=缺陷路径,C=确定成本,R=后果待运行,E=环境偏差;源码链置信度均高。

编号/级别/类别 问题及最短触发/影响 最小修复方向 验收
N01 P1 D+R 同 tiles 的 R-R/R-C 跨 target 复用 CPU stencil 映射 target generation 隔离/重置 OFF基线、stencil capture
N02 P1 D+R Metal clear/attachment 契约缺口 完整翻译 depth/stencil/combined attachment 真机/模拟器 validation/capture
N03 P1 D+R group 抛错被 catch,残图仍 markBuildSucceeded build 成功状态传递,失败不可发布 故障注入/恢复/no reuse
N04 P1 D 一次 set time 后 PLAY 无生产 advance owner-thread 唯一时钟接线 PLAY/PAUSE/速度/跨窗口
N05 P2 D NUL 截断/重复 strategy 绕过严格语义 长度感知与唯一键校验 JSON/两桥接错误回归
N06 P2 D+R 坏数值先入库,物化失败丢可用投影 入库前约束/事务发布 好旧帧→坏高revision
N07 P2 D 同 view attach/detach listener递增 单listener/幂等/移除 100次/换view/销毁
C01 P1 C full diagnostics 锁内深复制进热路 轻量一致快照,完整pull隔离 alloc/锁/复制次数
C02 P1 C+R retained及普通粒子Metal wait 先profile,再有序提交 wait/GPU/State-Trail顺序
C03 P1 C dirty销毁同尺寸allocation content/resource失效分离 mutation/resize/context分别计数
C04 P1 C+R GPU多R和CPU多field无总预算 map预算/安全fallback 阶梯压力/peak/长稳
C05 P2 C ordinal线性与fast全items扫描 generation索引/粒子列表 S/G扩展和reorder回归
C06 P1 C+R 同时间/mix也整网格物化、UI提交 早退/端点复用/安全异步发布 大网格/UI/alloc/rebuild
C07 P2 C tick drawable重建、端点复制 保留对象/不可变共享 tick与窗口边界分测
O01 P2 D 旧cache析构计数落新topology index identity/generation计数 真cache切换/析构
E01 P1 E Host .10/native .13 对齐依赖和lock,独立后续任务 干净包/typecheck/codegen/设备
E02 P3 E Integration旧协调状态 负责人按接入事实更新 commit/包/设备交叉核对

4. 旧 F01~F10 独立复核

旧项 意见 修正依据
F01 CONFIRMED 深复制链成立,成功fast可两次而非所有帧必两次
F02 CONFIRMED retained仅build等待,补普通State/Trail等待
F03 CONFIRMED dirty释放成立,稳定reuse不分配
F04 CONFIRMED 无总预算成立,OOM/泄漏未测
F05 QUALIFIED 错配成立,旧TS2307为历史环境失败,不能仅归.10
F06 QUALIFIED 显式设计限制建议P2;full CPU不等于关闭GPU reuse
F07 CONFIRMED ordinal线性,但全局编号对正确性必要
F08 QUALIFIED 保守全局失效,裁窄前须证明依赖完整
F09 CONFIRMED 可具体复核先换entries后析构;不证明stale纹理
F10 QUALIFIED 文档偏差降P3;不能推定NavSea实际接入

不为凑数标 DISPROVED;没有证据的运行后果均留 NEEDS_RUNTIME。旧报告未作出的断言不反向归咎于旧作者。

5. V12/V13 与缺失验证

V12 固定最多两个 R,V13 任意独立 R/C,增加管理/资源上界;单 C fast 保留,多 C 回 full CPU。成本模型为完整快照 O(L+S)、多段 ordinal 最坏前缀 O(S×G)、retained 资源 O(R×W×H)、场物化 O(P)。普通粒子 wait、drawable/物化多为继承成本,不全归 V13。无 profiler 不给收益百分比,不外推 STEP-090 21.7%/97.0%历史值。

验证 本轮状态 不能替代它的历史证据
GL/Metal编译、Native/TS/codegen NOT RUN STEP-094构建/43 tests、旧审查69 tests/TS仅HISTORY
任意R/C像素、depth/stencil/alpha NOT RUN/NEEDS_RUNTIME resolver/diagnostics单测不覆盖GPU
CPU/GPU时间、30/60FPS、单C/多C NOT RUN/NEEDS_RUNTIME 历史特定Style CPU不可外推
allocation/peak、context loss、长稳 NOT RUN/NEEDS_RUNTIME 逻辑release计数不等于物理显存
PLAY/数值/attach/destroy端到端 NOT RUN 手动clock advance不等于生产接线
默认Host版本/ABI与设备调用 NOT RUN 临时工作树TS/codegen不等于默认安装
Android GL / iOS Metal / Vulkan运行 全部NOT RUN 编译成功不证明运行支持

完整 topology/异常/生命周期矩阵、精确既有验证命令及日志要求见调查第 9 节。新增缺陷尚需增加对应测试;仅复跑现有过滤集不能关闭。所有运行由 RDC 后续独立执行。

6. 修复建议、交付边界与 Git

建议分批:A 正确性 gate N01~N04;B 输入/生命周期/观测/Host N05~N07/O01/E01;C 轻快照/ordinal/相同时间早退;D GPU预算、allocation/content分离和同步;E multi-C fast、source精确依赖、异步大场与正式mask独立设计。不得为性能绕过保守gate、合并相邻R或引入provider/HTTP/业务调度。只建议,不创建修复任务。

仅新增本报告、调查、阶段记录,追加根粒子开发记录。没有生产源码、shader、API、package/lock、build、manifest、tag、产物或Integration变更。

起始SHA见第2节;实际主提交SHA/message、push、remote HEAD/status和最终收尾提交的自引用说明统一记录在阶段第4节。推送前交付暂记PARTIAL;完成并核对后以追加结果为准。最终由RDC独立审计本文证据和任务边界,Codex不宣布正式产品验收。

已完成的交付核对

主提交 ad5f92c48ea353c18548c79d223e9a06888330d3(docs: audit V13 source and performance for STEP-095)已push origin particle/main,exit 0;实际远端HEAD回读与本地一致,核对时工作树clean。四份文档、9处相对链接、63处带行号源码引用范围及cached diff空白检查通过,开发记录仅追加。调查主稿仍285行;无生产源码变化。

据此调查主交付为 PASS,产品运行态仍 NOT RUN/未验收。本追加结果由独立docs-only收尾提交保存,其最终SHA及二次push/clean核对按阶段记录自引用规则在最终回复提供;不虚构自身哈希或未执行测试。