{ "time": "2026-09-06T08:28:23.891Z", "status": "PASS", "e2eComplete": true, "checks": [ { "name": "装备模型编辑回归", "command": "node --test (8 model editor test files)", "tests": 54, "status": "PASS", "failures": 0, "exitCode": 0 }, { "name": "权限桥新建、脏状态和只读键盘回归", "command": "node --test tools/content-permissions.test.mjs", "tests": 14, "status": "PASS", "failures": 0, "exitCode": 0 }, { "name": "报告证据归属与附件校验回归", "command": "node --test tools/model-editor-report-evidence.test.mjs", "tests": 7, "status": "PASS", "failures": 0, "exitCode": 0 }, { "name": "实际 Kingbase 驱动正常检查与隔离网络无响应验证", "command": "KingbaseValidationProbe (isolated loopback TCP proxy, SELECT 1 only)", "evidence": "data/kingbase-validation-probe-result.json", "tests": 3, "status": "PASS", "failures": 0, "exitCode": 0 }, { "name": "Auth / Tran 完整构建与测试", "command": "mvn -pl ut_auth,ut_tran -am package", "tests": 476, "moduleTests": [ 120, 356 ], "status": "PASS", "failures": 0, "exitCode": 0 }, { "name": "Web 构建和 iframe 产物一致性", "command": "pnpm run build", "warning": "既有大包体积提示;构建及10项public/dist哈希校验通过", "status": "PASS", "failures": 0, "exitCode": 0 }, { "name": "6 E2E specs strict TypeScript", "command": "tsc --noEmit --strict (closure specs, helper, config)", "status": "PASS", "failures": 0, "exitCode": 0 } ], "coverage": [ { "title": "resource catalog startup renders all model/environment cards and binds every action with a real DOM", "featureIds": [ "resource.catalog" ], "scope": "真实 DOM 渲染、卡片绑定、空目录及 busy 保护;不包含 GLB 网络加载。", "status": "PASS", "kind": "unit", "testFile": "unreal_tran/tests/model-main-closure.test.mjs" }, { "title": "curve edits real scalar key values, time and interpolation, persisting through document reload", "featureIds": [ "timeline.curve", "curve.time", "curve.value", "curve.easing" ], "scope": "真实曲线控件与 TimelineEditor,标量编辑与文档往返。", "status": "PASS", "kind": "unit", "testFile": "unreal_tran/tests/model-main-closure.test.mjs" }, { "title": "curve vector editing preserves other components and selected track; invalid values do not mutate", "featureIds": [ "curve.value" ], "scope": "向量其它分量保留,当前轨道、非法值保护;不包含显示轴切换或可视像素验收。", "status": "PASS", "kind": "unit", "testFile": "unreal_tran/tests/model-main-closure.test.mjs" }, { "title": "multiple tracks on one property use last effective value; capture subtracts it only once", "featureIds": [ "timeline.multitrack" ], "scope": "调用实际 apply/capture/update 基值方法;验证同属性最后有效轨道、静音/删除后中性姿态,偏移只扣一次。", "status": "PASS", "kind": "unit", "testFile": "unreal_tran/tests/model-main-closure.test.mjs" }, { "title": "changing a binding resets the former target and keeps manual transform edits as base", "featureIds": [ "timeline.multitrack", "timeline.target" ], "scope": "轨道重绑后旧目标复位,手动变换成为新基值;不假称鼠标拖动已验。", "status": "PASS", "kind": "unit", "testFile": "unreal_tran/tests/model-main-closure.test.mjs" }, { "title": "custom properties and extension labels survive actual capture, project JSON and object restore", "featureIds": [ "property.code", "property.status", "component.tag" ], "scope": "真实对象 capture、normalization、JSON 与 restore 往返;清空和撤销到未存在字段状态。", "status": "PASS", "kind": "unit", "testFile": "unreal_tran/tests/model-main-closure.test.mjs" }, { "title": "boolean, numeric and nested blueprint conditions select their true/false branches", "featureIds": [ "blueprint.condition" ], "scope": "布尔、数字、truthy 与嵌套路径值解析。", "status": "PASS", "kind": "unit", "testFile": "unreal_tran/tests/model-main-closure.test.mjs" }, { "title": "visible child under a hidden ancestor cannot be picked or highlighted; trigger aliases include ancestors", "featureIds": [ "tree.visibility", "blueprint.highlight" ], "scope": "共用可见性和祖先别名函数;鼠标事件另由 E2E 验证。", "status": "PASS", "kind": "unit", "testFile": "unreal_tran/tests/model-main-closure.test.mjs" }, { "title": "inspector state tags reflect ancestor visibility and actual shadow flags, with a host editability hook", "featureIds": [ "property.identity" ], "scope": "真实属性 DOM 显示隐藏/阴影状态,并提供宿主权限标签 hook;不伪称此单测完成会话鉴权。", "status": "PASS", "kind": "unit", "testFile": "unreal_tran/tests/model-main-closure.test.mjs" }, { "title": "history retains 60 states, truncates redo after edits and ignores duplicate snapshots", "featureIds": [ "project.undo", "project.redo" ], "scope": "60 个快照上限、重复状态忽略及新编辑截断 redo 分支。", "status": "PASS", "kind": "unit", "testFile": "unreal_tran/tests/model-main-closure.test.mjs" }, { "title": "history serializes async restores and leaves index unchanged when restoration fails", "featureIds": [ "project.undo", "project.redo" ], "scope": "异步互斥、下载失败不移动索引,解除锁后可继续操作。", "status": "PASS", "kind": "unit", "testFile": "unreal_tran/tests/model-main-closure.test.mjs" }, { "title": "managed-GLB history downloads the snapshot stable reference before restoring, without rewriting it", "featureIds": [ "project.undo", "project.redo" ], "scope": "受控 GLB 快照先物化再恢复,不把临时 URL 写回快照。", "status": "PASS", "kind": "unit", "testFile": "unreal_tran/tests/model-main-closure.test.mjs" }, { "title": "beforeunload recovery does not create a draft for key order alone, but preserves real unsaved changes", "featureIds": [ "project.recovery" ], "scope": "同语义对象键顺序不产生假恢复稿;真正修改仍保留。不包含全部恢复/隔离/下载 UI 分支。", "status": "PASS", "kind": "unit", "testFile": "unreal_tran/tests/model-main-closure.test.mjs" }, { "title": "highlight rejects missing/hidden targets and transient colors never enter a saved project", "featureIds": [ "blueprint.highlight" ], "scope": "目标不存在/隐藏报错,执行时暂态发光颜色不进入保存文档,结束恢复原材质。", "status": "PASS", "kind": "unit", "testFile": "unreal_tran/tests/model-main-closure.test.mjs" }, { "title": "API publish supplies current cover, blocks duplicate publication and reports preserved old cover once", "featureIds": [ "publish.api", "publish.cover", "feedback.toast" ], "scope": "实际发布宿主方法传封面、重入阻断和上传失败只提示一次;模拟 API,不是实际服务响应。", "status": "PASS", "kind": "unit", "testFile": "unreal_tran/tests/model-main-closure.test.mjs" }, { "title": "API conflict leaves publication failed and releases the cover guard", "featureIds": [ "project.conflict", "publish.api", "publish.cover" ], "scope": "409 分支不误报已发布并释放 busy 标记;模拟 API。", "status": "PASS", "kind": "unit", "testFile": "unreal_tran/tests/model-main-closure.test.mjs" } ], "runtime": { "authSha256": "95b8487ca6a1d970387214b027ee9c1d34ae0d1d5c988574c024805d8bb61d9b", "tranSha256": "e9528d739d6d817ebf7c5b9a34302195156b1543663066f5484c86c594c6e729", "builtEqualsRunning": true, "fileService": "开发进程撤销旧17180转发覆盖,恢复已配置远端文件服务" }, "previousWorkPushed": { "api": "71df00dffa39a8f49a4f0654969a3014c2f78f67", "web": "3f39e2c94df9cdadf3545ae14bf0df41f2c37bf1", "e2e": "b3d4ce8ffd8144090c18c8a28f5ca824170042c8" } }