本文件是测试设计与源码断言核对,不是执行通过证据。最终结果由 results.json、validation.json、evidence/*.json 与 coverage.json 决定。
| 脚本 | 实际范围 | 证据边界 |
|---|---|---|
| model-editor-closure.spec.ts | 属性数值、PBR首槽、扩展标记、保存重开、撤销重做、视图开关/原生片段、新建/权限 | 已删除不存在的 object.* / viewport.* / permissions.* ID;变换模式按钮不等同真实 gizmo 拖拽,不能代填 view.move/rotate/scale |
| model-editor-assets-closure.spec.ts | 主模型/外部环境真实上传、JSON往返、无效导入、保存失败和重试、发布封面/固定版本/离线步骤HTML | 异常通过定向请求中断注入;恢复副本“存在”不等于恢复/隔离/下载全部UI已测;固定版本可取得不等于下游自动运行 |
| model-editor-blueprint-closure.spec.ts | 真实轨道/帧/曲线/蓝图库/接线/剪贴板/执行控制、真实点击/双击/auto事件;另有刻度/按键/录帧/分量、基准动作匹配/不匹配、搜索拖入/工具栏添加/画布操作专项 | 条件真假出口的补充检查标记为 runtime;第4专项才覆盖搜索/拖入和曲线分量路径断言,不把第1例仅切换选择器当成已验 |
| model-editor-navigation-closure.spec.ts | 独立原模型157副本;资源搜索/卡片切换、三内置环境保存重开、折叠树、鼠标镜头/聚焦、页签/分割条/Tab、预览±2秒/Esc、日志/统计、名称保存/真实30秒自动保存 | 三项真实用例已在私有预跑通过,截图41~47;此预跑不替代最终results,最终统一结果仍须核对 |
| model-editor-interaction-closure.spec.ts | 真实三维 gizmo 平移/旋转/缩放,撤销重做、保存重开;离开时关闭确认、保存失败保留、重试成功再离开 | 独立副本;只读投影定位手柄,不脚本改变模型姿态;注入503验证失败分支 |
| model-editor-recovery-closure.spec.ts | 同版本真实未存恢复→显式保存、旧版本下载隔离;受控GLB下载失败→UI重试、预检开关无写入和错误资源导入拒绝 | 恢复稿来自真实beforeunload,不预注入localStorage;较新服务端内容不被旧稿覆盖;服务端发布严格合同另由API测试验证 |
首批四份脚本显式计划关联 88/103 个功能 ID;随后新增交互/恢复两份脚本补上其中 7 项,时间轴/蓝图专项补 7 项,最终六份脚本显式关联 102/103 个功能 ID,多轨计算以明确 unit 证据关联。全部 ID 与 catalog 对齐,未发现未知 ID。这里记录的是“已写断言计划”,不是最终通过数;最终结果以 coverage.json 为准。
后续并行补测分工:时间轴/蓝图专项负责 timeline.seek/record/baseline、curve.axis、blueprint.palette/add/canvas;资产专项负责恢复稿/加载失败/发布预检;宿主专项负责真实 gizmo 拖拽与离开确认。timeline.multitrack 以真实计算方法单元测试作独立证据,映射在 unit-coverage-plan.json,该计划文件本身不代表通过。最终生成器按实际证据动态计算,下面保留补测前的差距,便于对照补测来源。
| 功能 ID | 补测前已有的验证 | 据此安排的补测范围 |
|---|---|---|
| project.recovery | 本轮 API 指纹回归与真实 beforeunload 方法回归:键顺序相同内容不写假稿;真实变化仍保留;现有 API 恢复合同 | 用户明确恢复/放弃/隔离/下载的真实对话框;同版本真实修改与旧版本分叉 |
| project.leave | 上一轮角色/权限回归及宿主聚焦合同 | 本轮模型编辑器脏状态取消、放弃、保存失败与上传忙时离开;不能用干净页面切路由代替 |
| resource.loading | 启动后readyFrame状态;本轮renderAssets真实DOM空目录/卡片回归 | GLB下载或解析失败后中性失败状态、重试成功;不能把未加载空白当成功 |
| view.move | 属性XYZ保存重开;多轨中性基值单测 | 真实TransformControls平移手柄拖动、保存重开;当前只点击W模式 |
| view.rotate | 旋转数值输入保存;多轨旋转单测 | 真实旋转环拖动及撤销重做;当前只点击E模式 |
| view.scale | 缩放数值输入保存重开 | 真实缩放手柄拖动及保存;当前只点击R模式 |
| timeline.seek | 时间轴拖帧触发timechange合同;键盘/seek运行时已有回归 | 真实播放头/刻度点击、左右/Shift按键、时间码与视口同步 |
| timeline.record | 主类addKeyframeFromSelection源码已接;中性姿态单测 | 真实“记录关键帧”按钮捕获当前帧偏移,保存后回放一致 |
| timeline.multitrack | 本轮main实际capture/apply方法单测:最后有效轨道、静音/删除/重绑、保存基值 | 可用unit证据明确覆盖计算合同;需要多轨真实视口可见性截图时另加UI,不能冒称已拍 |
| timeline.baseline | 既有装备profile/动作生成合同 | 有匹配实际载入并保存;无匹配保留数据;当前没有单独确认框,不能写“取消验证通过” |
| curve.axis | 现有UI只选Y再选X;向量其他分量保持的unit回归 | 修改不同轴数值后切显示轴,断言曲线变化且不改其他数据 |
| blueprint.palette | 当前点选创建七类型节点 | 搜索/清空、HTML5拖入节点,不能用脚本addNode冒充拖放 |
| blueprint.add | 当前节点库点选与节点新增unit | 工具栏“添加节点”确实新增默认提示节点并进入历史/JSON |
| blueprint.canvas | 现有用例点击“适应画布”;节点自身拖动 | 蓝图画布滚轮缩放、Space平移/适应,并验证节点图数据未意外变化 |
| publish.preflight | 发布API拒绝非法资源/固定版本合同;当前面板打开并真实发布 | 界面校验清单和服务端阻断对应,打开/关闭不改变工程;不能仅凭绿标判定有效 |
property.identity 新增可见性/阴影真实DOM回归;补充UI目前检查只读标识与流程绑定字段。权限注入的“只读”标签需由宿主最终用例确认。timeline.drag-key 已有真实拖动与碰撞合同,Alt取消吸附尚未单独通过浏览器验证。blueprint.move 有单节点真实拖动与全选剪贴板;多选框选拖移并未单独截图。blueprint.highlight 有真实执行与缺目标/隐藏目标/临时材质单测;呼吸幅度当前不是像素级曲线验收。publish.cover 的真实成功上传、版本、封面URI已测;503/409失败保旧图由独立API合同补充,不能称该真实服务自然出现503。selection.scope 补充用例增加明确整机根/部件对象断言;仍需避免把仅点击按钮当成三维目标操作。以上属于修复和证据分层,不新增 solo,也不把组件运行系统、完整离线三维包、下游自动运行三项待确认范围伪装成已实现。