{ "pass": true, "generatedAt": "2026-09-15T15:30:39.664Z", "rootCause": "聚焦/旋转视角时自动将遮挡网格 visible 设为 false。实际 GLB 的一块网格可能涵盖大片车身或地形,DoubleSide 无法显示已被隐藏的网格。", "changes": [ "删除自动遮挡隐藏及其恢复/逐帧射线逻辑", "保留物理材质 DoubleSide", "校准液压泵和球阀的可见观察面", "只允许步骤动画及主动查看工具改变显隐" ], "visibility": [ { "id": "86", "name": "focus keeps every previously visible mesh", "before": 41, "after": 41, "automaticHidden": 0 }, { "id": "86", "name": "three orbit directions, glow, explicit opacity/hide and restore", "pass": true, "meshes": 41 }, { "id": "87", "name": "focus keeps every previously visible mesh", "before": 69, "after": 69, "automaticHidden": 0 }, { "id": "87", "name": "three orbit directions, glow, explicit opacity/hide and restore", "pass": true, "meshes": 71 }, { "id": "88", "name": "focus keeps every previously visible mesh", "before": 66, "after": 66, "automaticHidden": 0 }, { "id": "88", "name": "three orbit directions, glow, explicit opacity/hide and restore", "pass": true, "meshes": 74 }, { "id": "89", "name": "focus keeps every previously visible mesh", "before": 77, "after": 77, "automaticHidden": 0 }, { "id": "89", "name": "three orbit directions, glow, explicit opacity/hide and restore", "pass": true, "meshes": 77 } ], "lan": [ { "id": "86", "name": "focus keeps every previously visible mesh", "before": 41, "after": 41, "automaticHidden": 0 }, { "id": "86", "name": "three orbit directions, glow, explicit opacity/hide and restore", "pass": true, "meshes": 41 } ], "operations": 94, "serverValidations": 39, "explicitTools": [ { "name": "task 86 internal target inspected with explicit translucent tool", "targetId": "front-pump-pto-switch", "pass": true }, { "name": "task 87 internal target inspected with explicit translucent tool", "targetId": "front-pump-pto-switch", "pass": true }, { "name": "task 88 internal target inspected with explicit translucent tool", "targetId": "bridge-engine", "pass": true }, { "name": "task 89 explicit isolate for overlapping workflow targets", "targetId": "bridge-small-seat", "pass": true }, { "name": "task 89 internal target inspected with explicit translucent tool", "targetId": "bridge-small-seat", "pass": true }, { "name": "task 89 explicit isolate for overlapping workflow targets", "targetId": "bridge-large-seat", "pass": true }, { "name": "task 89 internal target inspected with explicit translucent tool", "targetId": "bridge-large-seat", "pass": true }, { "name": "task 89 explicit isolate for overlapping workflow targets", "targetId": "bridge-large-seat", "pass": true }, { "name": "task 89 internal target inspected with explicit translucent tool", "targetId": "bridge-large-seat", "pass": true }, { "name": "task 89 explicit isolate for overlapping workflow targets", "targetId": "bridge-large-plug-1", "pass": true }, { "name": "task 89 internal target inspected with explicit translucent tool", "targetId": "bridge-large-plug-1", "pass": true }, { "name": "task 89 explicit isolate for overlapping workflow targets", "targetId": "bridge-large-plug-2", "pass": true }, { "name": "task 89 internal target inspected with explicit translucent tool", "targetId": "bridge-large-plug-2", "pass": true }, { "name": "task 89 explicit isolate for overlapping workflow targets", "targetId": "bridge-large-bolt-1", "pass": true }, { "name": "task 89 internal target inspected with explicit translucent tool", "targetId": "bridge-large-bolt-1", "pass": true }, { "name": "task 89 explicit isolate for overlapping workflow targets", "targetId": "bridge-large-bolt-2", "pass": true }, { "name": "task 89 internal target inspected with explicit translucent tool", "targetId": "bridge-large-bolt-2", "pass": true }, { "name": "task 89 explicit isolate for overlapping workflow targets", "targetId": "bridge-large-bolt-3", "pass": true }, { "name": "task 89 internal target inspected with explicit translucent tool", "targetId": "bridge-large-bolt-3", "pass": true }, { "name": "task 89 explicit isolate for overlapping workflow targets", "targetId": "bridge-large-bolt-4", "pass": true }, { "name": "task 89 internal target inspected with explicit translucent tool", "targetId": "bridge-large-bolt-4", "pass": true }, { "name": "task 89 explicit isolate for overlapping workflow targets", "targetId": "bridge-large-bolt-3", "pass": true }, { "name": "task 89 internal target inspected with explicit translucent tool", "targetId": "bridge-large-bolt-3", "pass": true }, { "name": "task 89 explicit isolate for overlapping workflow targets", "targetId": "bridge-large-bolt-4", "pass": true }, { "name": "task 89 internal target inspected with explicit translucent tool", "targetId": "bridge-large-bolt-4", "pass": true } ], "commands": [ { "command": "pnpm run build", "pass": true }, { "command": "node scripts/virtual-training-formal-route.contract.test.mjs", "pass": true }, { "command": "git diff --check", "pass": true } ], "environment": [ "http://127.0.0.1:6180", "http://192.168.31.168:6180" ], "account": "管理员 / 教员预览", "data": "未新增任务、未写学员成绩;操作回归只使用现有任务的 preview/validate。" }