瀏覽代碼

test(training): preserve bridge sources and workflow acceptance evidence

main
leiyun 1 天之前
父節點
當前提交
52ac89a6e6
共有 100 個檔案被更改,包括 26648 行新增0 行删除
  1. 二進制
     
  2. 二進制
     
  3. 二進制
     
  4. 二進制
     
  5. 二進制
     
  6. 二進制
     
  7. 二進制
     
  8. 二進制
     
  9. 二進制
     
  10. 二進制
     
  11. +65
    -0
      fixtures/bridge-script-source/脚本Markdown/README.md
  12. +160
    -0
      fixtures/bridge-script-source/脚本Markdown/TASK-VIRTUAL-005-液压泵应急切换.md
  13. +47
    -0
      fixtures/bridge-script-source/脚本Markdown/TASK-VIRTUAL-006-液压泵应急替代.md
  14. +46
    -0
      fixtures/bridge-script-source/脚本Markdown/TASK-VIRTUAL-007-前泵换件修复.md
  15. +71
    -0
      fixtures/bridge-script-source/脚本Markdown/TASK-VIRTUAL-008-平衡阀拆拼互换.md
  16. +80
    -0
      reports/bridge-005-authoring-20260916/audit.json
  17. +5
    -0
      reports/bridge-005-authoring-20260916/editor-error.json
  18. 二進制
     
  19. +11
    -0
      reports/bridge-005-authoring-20260916/editor-result-90.json
  20. +11
    -0
      reports/bridge-005-authoring-20260916/editor-result.json
  21. 二進制
     
  22. +1
    -0
      reports/bridge-005-authoring-20260916/index.html
  23. +125
    -0
      reports/bridge-005-authoring-20260916/model-placement.json
  24. +421
    -0
      reports/bridge-005-authoring-20260916/original-005-full-regression.json
  25. +6827
    -0
      reports/bridge-005-authoring-20260916/original-assignments.json
  26. +2110
    -0
      reports/bridge-005-authoring-20260916/original-tasks-regression.json
  27. +10
    -0
      reports/bridge-005-authoring-20260916/pilot.json
  28. +288
    -0
      reports/bridge-005-authoring-20260916/probe.json
  29. +511
    -0
      reports/bridge-005-authoring-20260916/runtime-edited-75.json
  30. +543
    -0
      reports/bridge-005-authoring-20260916/runtime-final-90-lan.json
  31. +271
    -0
      reports/bridge-005-authoring-20260916/runtime-first.json
  32. +485
    -0
      reports/bridge-005-authoring-20260916/runtime.json
  33. +442
    -0
      reports/bridge-005-authoring-20260916/scene-editor-roundtrip.json
  34. 二進制
     
  35. 二進制
     
  36. 二進制
     
  37. 二進制
     
  38. 二進制
     
  39. 二進制
     
  40. 二進制
     
  41. 二進制
     
  42. 二進制
     
  43. 二進制
     
  44. 二進制
     
  45. 二進制
     
  46. 二進制
     
  47. 二進制
     
  48. 二進制
     
  49. 二進制
     
  50. 二進制
     
  51. 二進制
     
  52. 二進制
     
  53. 二進制
     
  54. 二進制
     
  55. 二進制
     
  56. +1676
    -0
      reports/bridge-005-authoring-20260916/training-editor-roundtrip.json
  57. 二進制
     
  58. +173
    -0
      reports/bridge-005-new-model-20260917/audit.json
  59. +2318
    -0
      reports/bridge-005-new-model-20260917/before-116.json
  60. +656
    -0
      reports/bridge-005-new-model-20260917/before-457.json
  61. +2489
    -0
      reports/bridge-005-new-model-20260917/before-458.json
  62. +1
    -0
      reports/bridge-005-new-model-20260917/index.html
  63. +138
    -0
      reports/bridge-005-new-model-20260917/mapping.json
  64. +454
    -0
      reports/bridge-005-new-model-20260917/original-005-regression.json
  65. +998
    -0
      reports/bridge-005-new-model-20260917/runtime-final-lan.json
  66. +998
    -0
      reports/bridge-005-new-model-20260917/runtime.json
  67. 二進制
     
  68. 二進制
     
  69. 二進制
     
  70. 二進制
     
  71. 二進制
     
  72. 二進制
     
  73. 二進制
     
  74. 二進制
     
  75. 二進制
     
  76. 二進制
     
  77. 二進制
     
  78. 二進制
     
  79. 二進制
     
  80. 二進制
     
  81. 二進制
     
  82. 二進制
     
  83. 二進制
     
  84. 二進制
     
  85. 二進制
     
  86. 二進制
     
  87. +1000
    -0
      reports/bridge-005-preparation-state-20260917/after-fix.json
  88. +1829
    -0
      reports/bridge-005-preparation-state-20260917/before-fix.json
  89. 二進制
     
  90. +21
    -0
      reports/bridge-005-preparation-state-20260917/index.html
  91. +899
    -0
      reports/bridge-005-preparation-state-20260917/lan-smoke.json
  92. +468
    -0
      reports/bridge-005-preparation-state-20260917/original-005-regression.json
  93. 二進制
     
  94. 二進制
     
  95. 二進制
     
  96. 二進制
     
  97. 二進制
     
  98. 二進制
     
  99. 二進制
     
  100. 二進制
     

二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


+ 65
- 0
fixtures/bridge-script-source/脚本Markdown/README.md 查看文件

@@ -0,0 +1,65 @@
# 四份桥梁脚本:图片原文与训练编排索引

提取日期:2026-09-18。

来源:本目录上一级的 `1.jpg`~`10.jpg`,已逐张查看。工作区实际路径为 `E:/work/edit_3d/文档/桥梁/文件2`。本批文档直接依据图片转录,不以 Excel 摘要替代原文。

## 文档入口

| 任务 | 原文文档 | 来源图片 | 原稿内容 |
|---|---|---|---|
| TASK-VIRTUAL-005 | [重型支援桥液压泵应急切换](TASK-VIRTUAL-005-液压泵应急切换.md) | [1](../1.jpg)、[2](../2.jpg)、[3](../3.jpg)、[4](../4.jpg) | 封面、故障背景、序幕、概念、供油原理、五项具体操作及末尾继续作业说明 |
| TASK-VIRTUAL-006 | [重型支援桥液压泵应急替代](TASK-VIRTUAL-006-液压泵应急替代.md) | [5](../5.jpg)、[6](../6.jpg) | 故障背景、替代概念、互救概念、七项操作 |
| TASK-VIRTUAL-007 | [重型支援桥前泵换件修复](TASK-VIRTUAL-007-前泵换件修复.md) | [7](../7.jpg)、[8](../8.jpg) | 故障背景、十一项操作;前置讲解区为空 |
| TASK-VIRTUAL-008 | [重型支援桥平衡阀拆拼互换](TASK-VIRTUAL-008-平衡阀拆拼互换.md) | [9](../9.jpg)、[10](../10.jpg) | 四组各四项操作;故障背景未填写,没有独立前置讲解 |

## 转录约定

- 保留原稿的画面要求、解说词、操作顺序、数量、工具规格及相反表述;只整理换行、段落和标点间距。
- 每份文档将原文和“整理说明/待核对”分开。标题中的讲解编号、内容 ID 和下表分段是便于编排的整理建议,不是原稿已有编号。
- 图片中的空白明确记为“原稿未填写”,不自行推断故障背景、扭矩、压力合格范围、试车判据或新增操作。
- 原稿要求展示的原理图、场景画面、视频并不包含在这些文字照片中;照片链接用于查阅来源,不自动当作产品讲解背景图。
- 圈线不改变印刷正文。无法可靠辨认的手写批注只记录其存在,不作为操作要求。
- 原文中的疑似错别字单独说明。生产界面与讲解文案应使用核定后的内容,不将整理说明和待确认问题自动放入学员口播。

## 用户确认的页面流程

进入任务 → 项目背景介绍 → 讲解1 → 讲解2 → … → 讲解N → 现有操作步骤。

1. 左侧为一条连续目录:`背景`、`讲解1~N`、现有各操作步骤。
2. 背景页展示项目背景介绍。
3. 每个讲解节点支持两种展示形式:**背景图+文字**,或**视频**。
4. 背景、讲解内容和顺序在**训练编排**中配置,运行页读取配置。
5. 点击“下一步”按目录进入下一节点;最后一个讲解节点的“下一步”才进入现有操作阶段。
6. 背景页和每一个讲解页均增加“**跳过讲解**”,直接进入现有操作阶段的起点,结束当前讲解媒体播放;不把操作步骤标记为已完成。
7. 现有操作步骤的交互、准备记录、评分及提交保持原有含义。前置背景/讲解不作为已完成的模型操作。

以上为本次需求记录;尚未在本批文档提取中修改页面或发布任务。

## 根据原文建议的讲解分段

| 任务 | 背景内容 | 前置讲解建议 | 接续操作 |
|---|---|---|---|
| 005 | `005-BG`:巨石撞击前泵、检查及0 MPa现象 | `005-L01` 液压泵作用与应急切换引入;`005-L02` 应急切换是什么;`005-L03` 双泵供油回路;`005-L04` 打开球阀后的回油问题;`005-L05` 自救阀与切换原理 | 现有五步,末尾继续作业说明单独保留 |
| 006 | `006-BG`:原稿重复的前泵受损背景 | `006-L01` 替代是什么;`006-L02` 双车互救是什么 | 七步 |
| 007 | `007-BG`:原稿前泵受损背景,存在一处疑似漏字 | 原稿无独立正文;不要凭空生成。需要增加时,可另写并标记“编写内容”,或将操作解说转为经确认的演示视频 | 十一步 |
| 008 | 原稿背景空白,待补充 | 原稿无独立正文;不要套用005的事故背景。后续背景及前置讲解需另行编写或提供 | 十六步 |

对于没有前置讲解的配置,建议允许讲解数量为0:有背景时从背景进入操作;背景也未配置时直接进入操作。不在学员页展示“原稿未填写”的空白讲解占位。此项是空配置处理建议。

## 需要核定的原文问题

| 位置 | 问题 | 本次处理 |
|---|---|---|
| 005,2.jpg,型号 | 转录为“GQZ009”,型号字母建议以清晰原件复核 | 在原文文档注明待核 |
| 005,3.jpg,球阀原理 | 出现“是而是经打开的球阀”,疑为“而是” | 保留可见原文并说明 |
| 005,3.jpg→4.jpg | 原理段跨页,4.jpg开头承接3.jpg最后一句 | 连续转录,并保留跨页标识 |
| 005,4.jpg | 原理段要求打开自救阀,操作段仅列互救开关等五项 | 不擅自增删步骤或判定两者等同 |
| 006,5.jpg | 背景是前泵受损,概念段是液压系统完全失效 | 两段分别保留,适用工况待核 |
| 006,5.jpg,第4项 | “在辅助控制盒能够将”疑为病句 | 原文保留;产品文案可核定后改为“在辅助控制盒内将” |
| 007,7.jpg,背景 | 写“所有执行机构动作”,同段稍后又写“均不动作”;005/006对应句为“不动作” | 保留差异,不能悄悄补“不” |
| 007,7.jpg~8.jpg | 工具出现“板手/把手”等写法 | 原文保留,整理说明列出建议规范词 |
| 008,9.jpg→10.jpg | 装配大腔第③项先写取袋旋紧,跨页后又写拧下并封袋 | 两句都保留,标记方向相反 |
| 008,10.jpg | 装配小腔第③项也同时有装配和拆卸句 | 两句都保留,待核定 |
| 008,9.jpg~10.jpg | 安装四颗固定螺栓后,又要求旋紧四颗阀体连接螺栓 | 是否同一组不得推定 |
| 008,9.jpg | 故障背景未填写;原稿未明确文字写出两阀交换的具体来源/目标 | 保留空白与标题“互换”,不编造位置 |

+ 160
- 0
fixtures/bridge-script-source/脚本Markdown/TASK-VIRTUAL-005-液压泵应急切换.md 查看文件

@@ -0,0 +1,160 @@
# 重型支援桥液压泵应急切换

任务对应:`TASK-VIRTUAL-005`。

来源:[1.jpg](../1.jpg)、[2.jpg](../2.jpg)、[3.jpg](../3.jpg)、[4.jpg](../4.jpg)。提取日期:2026-09-18。

> 本文为图片原文转录。`005-BG`、`005-L01~L05`为后续编排建议 ID。小节标题由整理时添加;原稿画面、解说词和操作正文分别保留。

## 封面

来源:[1.jpg](../1.jpg)。

重型支援桥液压泵应急切换

## 项目背景原文(005-BG)

来源:[2.jpg](../2.jpg),表格上方“故障背景”。

重型支援桥在将移动架推出至中间位置时,突遇山体滑坡,巨石滚落,飞入底盘车两副车架内,产生巨大撞击声,操作手随即停车检查,发现前泵被飞入巨石击中,导致泵体变形。而后桥梁分队分队长指挥操作手试车检查,驾驶员在接通取力器后,操作手按照规定程序试车,此时托架和架设架所有执行机构不动作,随即向分队长报告。而后分队长指挥操作手对装备进行动作检查,操作手在托架和架设架均不动作的状态下,手动将托架马达换向联手柄搬至“向前”位置,同时,分队长观察前泵出口处(托架多路换向阀M口)压力表,此时压力表显示0MPa。由此分队长判断前泵损坏。

## 讲解1:液压泵作用与应急切换引入(005-L01)

来源:[2.jpg](../2.jpg),内容栏“序幕”,画面第1~2项及对应解说。

### 画面与字幕原文

1. 字幕:重型支援桥液压泵应急切换修复。
- (1)画面显示受损重型支援桥;
- (2)画面依次显示重型支援桥架设环境、战场环境、抢修救灾场景。
- (3)画面显示重型支援桥液压系统原理图。
2. 字幕:应急切换。

### 解说词原文

GQZ009型重型支援桥作为应急保障力量的重要组成部分,在抢险救灾中起到了关键作用。在架设与撤收中,液压系统作为装备的动力系统,特别是液压系统的心脏——液压泵,这一关键部件的可靠性直接关系到能否完成桥梁架设撤收作业,面对复杂的战场环境,一旦液压系统出现故障,就会导致桥梁架设撤收作业被迫中断,甚至引发危险状态。

那在战时,如果液压泵损坏,该怎样快速完成架桥任务呢?

通过对液压系统分析可知,重型支援桥液压系统采取了“双泵独立供油”的设计理念,因此,如果其中一个液压泵出现损伤,可以采取应急切换的方法,快速完成装备抢修。

> 整理说明:型号暂录为“GQZ009”,建议以清晰原件核对,不由产品型号常识替换。图中只有上述画面要求,没有附上原理图及三类场景素材。

## 讲解2:应急切换是什么(005-L02)

来源:[2.jpg](../2.jpg),画面第3~4项及对应解说。

### 画面与字幕原文

3. 字幕:
- 一、应急切换是什么
- 二、应急切换怎么实现
- 三、应急切换该怎么做
4. 画面:重型支援桥两个液压泵。

### 解说词原文

那什么是应急切换呢?

在装备战场抢救抢修中,切换是一种应急修理方式,其是指通过回路转换或改接,脱开损伤部分,接通备用部分,或者将原来担负非基本功能的完好部分改换到基本功能回路中。

针对重型支援桥,应急切换是指在单个液压泵或取力器出现故障时,通过切换到另一个液压泵继续完成架设或撤收作业的方法。

## 讲解3:双泵供油回路(005-L03)

来源:[3.jpg](../3.jpg),原理段开头。

### 画面与字幕原文

4. 字幕:
- 一、应急切换是什么
- 二、应急切换怎么实现
- 三、应急切换该怎么做

画面:重型支援桥液压系统原理图(供油回路)。

> 整理说明:原稿此处编号仍为“4.”,与上一页重复,转录保留。

### 解说词原文

重型支援桥是如何实现应急切换的?

我们从原理上来寻找答案,根据液压系统原理,重型支援桥设置有2个供油回路,一个是前泵供油回路,由前泵提供动力,主要负责为托架液压系统和架设架液压系统提供动力,主要由液压油箱、前泵、前泵出油滤油器、托架多路换向阀连接块内的三通流量调节阀、回油滤油器等构成完成的液压回路;另一个是后泵供油回路,由后泵提供动力,主要负责为支腿液压系统和吊机液压系统提供动力,主要由液压油箱、后泵、后泵出油滤油器、支腿多路换向阀连接块内的三通流量调节阀、回油滤油器等构成完成的液压回路。

> 整理说明:“构成完成的液压回路”按图片文字保留,疑为“构成完整的液压回路”。

## 讲解4:打开球阀后的回油问题(005-L04)

来源:[3.jpg](../3.jpg)至[4.jpg](../4.jpg)开头,连续原理段。

### 画面提示原文

(1)打开球阀。

### 解说词原文

此时,我们应该注意到在两个出油滤油器的出口处设置一球阀,在正常情况下,该球阀处于关闭状态。

那如果将该球阀打开,会出现什么样的情况呢?

此处以托架马达向前为例说明,当操作手操作托架马达向前时,来自负载侧的压力会将托架多路换向阀连接块内的三通流量调节阀关闭,此时来自前泵的液压油无法通过托架多路换向阀连接块内的三通流量调节阀返回液压油箱,应通过托架多路换向阀内部通道进入托架马达换向联,而后进入液压马达,推动液压马达旋转。

但此时液压马达侧负载压力较大,液压油便不会进入液压马达,是而是经打开的球阀,进入支腿多路换向阀连接块内,通过支腿多路换向阀内的三通流量调节阀返回液压油箱。

操作托架液压系统和架设架液压系统的任一执行机构时,均会出现上述现象。同理可分析,操作支腿液压系统和吊机液压系统的任一执行机构时,也会出现上述现象。

那在前泵损坏的情况下,可否利用液压系统这一设计理念,完成重型支援桥的架设和撤收作业呢?

通过上述分析,操作重型支援桥任一执行机构时,负载侧压力总会关闭相应的多路换向阀连接块内的三通流量调节阀,使得来自液压泵的液压油从另一多路换向阀连接块内的三通流量调节阀返回液压油箱,因此,如果提前关闭两个多路换向阀连接块内的三通流量调节阀,则无论来自哪个液压泵的液压油均不会返回液压油箱,那通过哪个元件关闭三通流量调节阀呢?

> 整理说明:最后一段在3.jpg末行“负载侧压力总会”后跨页,4.jpg从“关闭相应的……”继续;已连为完整段落。“是而是”按可见原文保留,疑为“而是”。

## 讲解5:自救阀与切换原理(005-L05)

来源:[4.jpg](../4.jpg)上半部。

### 画面提示原文

(2)打开自救阀。

### 解说词原文

此时我们应注意到,托架多路换向阀和支腿多路换向阀的M口各串联一自救阀,如果将该自救阀打开,则在接通取力器时,来自液压泵的液压油便将三通流量调节阀关闭。

因此,在实施切换时,还需打开自救阀。

## 进入操作阶段的引导原文

来源:[4.jpg](../4.jpg)下半部。

### 画面与字幕原文

4. 字幕:
- 一、应急切换是什么
- 二、应急切换怎么实现
- 三、应急切换该怎么做

画面:重型支援桥实装,具体操作。

### 引导解说原文

以上就是应急切换的原理,那在前泵损坏的情况下,该如何操作呢?操作方法具体如下:

## 具体操作原文

来源:[4.jpg](../4.jpg),被手写圈线标出的操作段。以下分项编号为整理时添加,原稿使用“首先/而后/最后”衔接。

1. 首先,根据故障现象确定是哪一个液压泵发生故障;
2. 而后,断开架桥车取力器;
3. 而后,将架桥车备胎斜上方连接两个红色滤油器的球阀打开;注意:手柄由垂直于管路方向旋转至平行于管路方向。
4. 而后,重新接通取力器;
5. 而后,打开辅助控制盒内的“互救”开关。

最后,利用一个液压泵继续完成作业,作业时按照正常的装备操作要求进行操作即可。

## 待核对与素材记录

- 原理段“打开自救阀”与操作段“互救开关”的对应关系没有在图片中解释,不能据此认定为同一操作或自行增加一步。
- 最后一段继续作业为原文内容,不能因当前系统只有五步就省略;具体后续作业动作未在本图展开。
- 两个液压泵画面、液压原理图、环境与救灾画面均为原稿要求,需另行关联素材。
- 4.jpg有圈线和手写批注;底部手写字迹无法可靠辨认,本次未作文字推定。

+ 47
- 0
fixtures/bridge-script-source/脚本Markdown/TASK-VIRTUAL-006-液压泵应急替代.md 查看文件

@@ -0,0 +1,47 @@
# 重型支援桥液压泵应急替代

任务对应:`TASK-VIRTUAL-006`。

来源:[5.jpg](../5.jpg)、[6.jpg](../6.jpg)。提取日期:2026-09-18。

> 本文为图片原文转录。`006-BG`、`006-L01~L02`为编排建议 ID。原图概念讲解对应的内容/画面栏未填写,不能视为已有背景图或视频。

## 项目背景原文(006-BG)

来源:[5.jpg](../5.jpg),表格上方“故障背景”。

重型支援桥在将移动架推出至中间位置时,突遇山体滑坡,巨石滚落,飞入底盘车两副车架内,产生巨大撞击声,操作手随即停车检查,发现前泵被飞入巨石击中,导致泵体变形。而后桥梁分队分队长指挥操作手试车检查,驾驶员在接通取力器后,操作手按照规定程序试车,此时托架和架设架所有执行机构不动作,随即向分队长报告。而后分队长指挥操作手对装备进行动作检查,操作手在托架和架设架均不动作的状态下,手动将托架马达换向联手柄搬至“向前”位置,同时,分队长观察前泵出口处(托架多路换向阀M口)压力表,此时压力表显示0MPa。由此分队长判断前泵损坏。

## 讲解1:替代是什么(006-L01)

来源:[5.jpg](../5.jpg),解说词第一段。

替代是指使用性能相似或相近的单元或原材料、油液、仪表等暂时替换损伤或缺少的资源,以恢复工程装备的基本功能或能自救。

## 讲解2:双车互救是什么(006-L02)

来源:[5.jpg](../5.jpg),解说词第二段。

互救是指在架桥车液压系统完全失效时,通过连接保障车的液压系统,利用保障车的液压泵为架桥车提供动力,完成桥梁的架设和撤收作业。

## 操作步骤原文

画面栏原文:操作步骤。

来源:[5.jpg](../5.jpg)第(1)~(5)项,[6.jpg](../6.jpg)第(6)~(7)项。

1. 确保架桥车的油泵取力器处于脱离状态并保持车辆启动;
2. 连接液压油管,将保障车与架桥车的液压油管连接,架桥车端连接至液压油箱右侧的快速接头,保障车端连接至驾驶室外右下方的快速接头;
3. 打开保障车液压油箱快速接头处的回油截止阀,保证回油油路畅通;
4. 开启互救工作模式,在辅助控制盒能够将“互救作业”开关打开;
5. 打开两出油滤油器出口处的球阀;
6. 接通保障车液压泵取力器;
7. 按正常操作步骤操作架桥车。

## 待核对与素材记录

- 项目背景描述前泵损坏,互救概念描述架桥车液压系统完全失效,原图没有交代工况如何衔接,两段均原样保留。
- 第(4)项可见文字为“在辅助控制盒能够将”,疑为病句。建议核定的产品表述是“在辅助控制盒内将”,本次不替换原文。
- “互救作业”与005的“互救”开关是否同一个,原图未作说明。
- 第(7)项没有展开正常作业动作;后续演示配置应另有依据。
- 原图未填写前置讲解画面要求。使用双车图或视频是后续制作选择,不是本次提取到的素材。

+ 46
- 0
fixtures/bridge-script-source/脚本Markdown/TASK-VIRTUAL-007-前泵换件修复.md 查看文件

@@ -0,0 +1,46 @@
# 重型支援桥前泵换件修复

任务对应:`TASK-VIRTUAL-007`。

来源:[7.jpg](../7.jpg)、[8.jpg](../8.jpg)。提取日期:2026-09-18。

> 本文为图片原文转录。`007-BG`为编排建议 ID。本稿有故障背景与操作步骤,表格前置讲解区为空,没有可直接提取的独立讲解1~N。

## 项目背景原文(007-BG)

来源:[7.jpg](../7.jpg),表格上方“故障背景”。

重型支援桥在将移动架推出至中间位置时,突遇山体滑坡,巨石滚落,飞入底盘车两副车架内,产生巨大撞击声,操作手随即停车检查,发现前泵被飞入巨石击中,导致泵体变形。而后桥梁分队分队长指挥操作手试车检查,驾驶员在接通取力器后,操作手按照规定程序试车,此时托架和架设架所有执行机构动作,随即向分队长报告。而后分队长指挥操作手对装备进行动作检查,操作手在托架和架设架均不动作的状态下,手动将托架马达换向联手柄搬至“向前”位置,同时,分队长观察前泵出口处(托架多路换向阀M口)压力表,此时压力表显示0MPa。由此分队长判断前泵损坏。

> 原文疑点:本图可见文字是“所有执行机构动作”,没有“不”字;但同段后文写“均不动作”,且2.jpg、5.jpg对应句均为“不动作”。疑为漏字,转录没有静默更正,产品文案采用前需核定。

## 前置讲解原文

原稿未填写。7.jpg表格上半部分的内容、画面及解说词区域均无正文。

## 操作步骤原文

画面栏原文:操作步骤。

来源:[7.jpg](../7.jpg)第(1)~(6)项,[8.jpg](../8.jpg)第(7)~(11)项。

1. 桥车熄火,按照前泵与取力器连接处形状裁切一块牛皮纸;
2. 关闭液压油箱出口处的1号球阀,将操作手柄由平行于油管方向转至垂直于油管方向;
3. 用大活动板手拆开前泵的进出油管接头,并用封口袋封住油管接头;
4. 用开口板手拆下液压泵与取力器处的4颗固定螺栓;
5. 取下前泵;
6. 将事前裁切的牛皮纸,按照液压泵安装形式,继续裁剪,使其与取力器贴合完整;
7. 将裁剪好的牛皮纸贴在取力口处;
8. 装上新泵;
9. 打开新泵注油口,注入液压油;
10. 用大活动把手装上前泵进出油管,并拧紧。
11. 起动装备,试车验证。

## 待核对与素材记录

- 第(1)项图片为“桥车熄火”,整理后的产品文案可核定为“架桥车熄火”。
- 图片材料名称为“牛皮纸”,按原文保留,不自行更换成其他密封材料。
- 第(3)、(4)项可见“板手”,第(10)项为“把手”,常用工具名称为“扳手”;工具写法可核定后统一。
- 原稿未给出开口扳手号数、螺栓扭矩、液压油加注量、试车合格数值,不补造参数。
- 原稿没有额外列出关注油口盖、恢复球阀等动作;若补充训练流程,应明确是经核定的补充内容。
- 没有独立前置讲解原文时,不应将“原稿没有展开”等整理说明作为学员讲解内容。

+ 71
- 0
fixtures/bridge-script-source/脚本Markdown/TASK-VIRTUAL-008-平衡阀拆拼互换.md 查看文件

@@ -0,0 +1,71 @@
# 重型支援桥平衡阀拆拼互换

任务对应:`TASK-VIRTUAL-008`。

来源:[9.jpg](../9.jpg)、[10.jpg](../10.jpg)。提取日期:2026-09-18。

> 本文为图片原文转录。原稿有四组操作,每组四项。下方额外标出当前系统对应步骤号,便于查阅,不改变原稿分组。

## 项目背景原文

来源:[9.jpg](../9.jpg),“故障背景:”之后为空白,原稿未填写。

## 前置讲解原文

原稿没有独立前置讲解正文。表格画面栏仅写“操作步骤”,解说词栏直接进入拆装步骤。

## 操作组一:拆卸小腔油口连接平衡阀

来源:[9.jpg](../9.jpg),第(1)组。对应现有系统第1~4步。

1. 用清洗液将平衡阀表面和各油管接头上的油污和灰尘进行清洗并用干净的抹布擦拭干净。
2. 用19号的开口板手拧下平衡阀控制端的油管接头;并用封口袋封住管口,防止灰尘进入油管内;
3. 用8号的内六角拧下平衡阀固定螺栓,取下平衡阀;
4. 用2个油堵头将阀体座上的2个油口堵住并用干净的抹布将阀体座表面的油污擦拭干净。

## 操作组二:拆卸大腔油口连接平衡阀

来源:[9.jpg](../9.jpg),第(2)组。对应现有系统第5~8步。

1. 用清洗液将平衡阀表面和各油管接头上的油污和灰尘进行清洗并用干净的抹布擦拭干净。
2. 用19号的开口板手拧下平衡阀控制端的油管接头;并用封口袋封住管口,防止灰尘进入油管内;
3. 用8号的内六角拧下平衡阀固定螺栓,取下平衡阀;
4. 用2个油堵头将阀体座上的2个油口堵住并用干净的抹布将阀体座表面的油污擦拭干净。

## 操作组三:装配大腔油口连接平衡阀

来源:[9.jpg](../9.jpg)末部至[10.jpg](../10.jpg)开头,第(3)组。对应现有系统第9~12步。

1. 对平衡阀、阀座表面进行擦拭,去除污渍,拆下阀座上的2个油堵头;
2. 将平衡阀安装于阀座上,用8号的内六角装上平衡阀的4个固定螺栓;
3. 将平衡阀控制端的油管接头封口袋取下并用板手将其旋紧;

**接续原文(10.jpg开头):** 用19号的开口板手拧下平衡阀控制端的油管接头;并用封口袋封住管口,防止灰尘进入油管内;

4. 用内六角将阀体4个连接螺栓旋紧。

> 原文疑点:第③项前半句是取袋并旋紧,接续句却是拧下并封袋,方向相反。两句均保留,没有选择其一作为核定步骤。

## 操作组四:装配小腔油口连接平衡阀

来源:[10.jpg](../10.jpg),第(4)组。对应现有系统第13~16步。

1. 对平衡阀、阀座表面进行擦拭,去除污渍,拆下阀座上的2个油堵头;
2. 将平衡阀安装于阀座上,用8号的内六角装上平衡阀的4个固定螺栓;
3. 将平衡阀控制端的油管接头封口袋取下并用板手将其旋紧;

**同项接续原文:** 用19号的开口板手拧下平衡阀控制端的油管接头;并用封口袋封住管口,防止灰尘进入油管内;

4. 用内六角将阀体4个连接螺栓旋紧。

> 原文疑点:本组第③项同样同时出现装配与拆卸指令,需要核定。

## 待核对与素材记录

- 背景为空,不能把005/006/007的前泵撞击事故直接作为本项目背景原文。
- 题名为“拆拼互换”,但操作正文未明确写出哪一个拆下的阀装到哪一处;两阀来源、目标位置及适用条件需核定。
- 装配第②项的“四个固定螺栓”和第④项的“四个连接螺栓”是否同一组,图片没有说明。
- 原图写“板手”,整理后的工具名称可核定为“扳手”;19号、8号规格按原文保留。
- 原文“阀体座”和“阀座”两种称呼均保留,正式编排可在术语核定后统一。
- 文本要求清洗阀体表面以及各油管接头,不能只表现阀体变色而遗漏接头。
- 图片没有给出安装位置照片、背景图、讲解视频、油污贴图或互换后的试验判据;相关素材需另行配置。

+ 80
- 0
reports/bridge-005-authoring-20260916/audit.json 查看文件

@@ -0,0 +1,80 @@
{
"pass": true,
"checkedAt": "2026-09-16T17:12:05.890Z",
"fixture": {
"sceneId": "457",
"sceneVersionId": "544",
"trainingId": "458",
"mediaUploaded": true,
"trainingVersionId": "546",
"taskId": "116",
"taskStatus": "DRAFT",
"previewUrl": "/teaching/virtual-training/preview/116"
},
"originals": [
{
"id": "86",
"code": "TASK-VIRTUAL-005",
"versionId": "533",
"unchanged": true
},
{
"id": "87",
"code": "TASK-VIRTUAL-006",
"versionId": "534",
"unchanged": true
},
{
"id": "88",
"code": "TASK-VIRTUAL-007",
"versionId": "535",
"unchanged": true
},
{
"id": "89",
"code": "TASK-VIRTUAL-008",
"versionId": "536",
"unchanged": true
}
],
"steps": 5,
"operations": 6,
"partTargets": 7,
"editedAngle": 75,
"restoredAngle": 90,
"media": [
{
"step": 1,
"video": "PILOT-005-1-VIDEO",
"audio": "PILOT-005-1-AUDIO"
},
{
"step": 2,
"video": "PILOT-005-2-VIDEO",
"audio": "PILOT-005-2-AUDIO"
},
{
"step": 3,
"video": "PILOT-005-3-VIDEO",
"audio": "PILOT-005-3-AUDIO"
},
{
"step": 4,
"video": "PILOT-005-4-VIDEO",
"audio": "PILOT-005-4-AUDIO"
},
{
"step": 5,
"video": "PILOT-005-5-VIDEO",
"audio": "PILOT-005-5-AUDIO"
}
],
"evidence": [
"editor-result",
"editor-result-90",
"runtime-edited-75",
"runtime-final-90-lan",
"original-tasks-regression",
"original-005-full-regression"
]
}

+ 5
- 0
reports/bridge-005-authoring-20260916/editor-error.json 查看文件

@@ -0,0 +1,5 @@
{
"error": "AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:\n\n400 !== 200\n\n at file:///E:/work/edit_3d/unreal_tran/ute2e/tools/bridge-005-authoring-editor-live.mjs:52:63",
"errors": [],
"body": "装备数字车间\n工作总览\n内容制作\n虚实训练\n资源智能\n系统管理\n内部维护\n内部维护 · 装备数字车间\n应用导航\n内容制作\n4\n模型制作\n场景制作\n训练编排\n作业指导\n工作总览\n数字场景编辑\n训练编排\n返回列表\n005 液压泵应急切换(编排验证)\n草稿\n有未保存修改\n回退\n前进\n更多\n校验\n保存草稿\n发布\n预览训练\n操作指引:\n1)\n选步骤\n→\n2)\n选目标与动作\n→\n3)\n配置判定规则\n→\n4)\n预览并发布\n编排模式\n基础编排\n高级编排\n虚拟仿真配置\n项目设置\n训练流程\n选择步骤\n新增步骤\n01\n根据故障现象确定是哪一个液压泵发生故障\n液压泵 · 状态判定\n状态检测\n20 分\n↑\n↓\n02\n断开架桥车取力器\n取力器开关 · 状态判定\n状态检测\n20 分\n↑\n↓\n03\n将架桥车备胎斜上方链接两个红色滤油器的球阀打开\n球阀开关 · 状态判定\n状态检测\n20 分\n↑\n↓\n04\n重新联通取力器\n取力器开关 · 状态判定\n状态检测\n20 分\n↑\n↓\n05\n打开辅助控制盒内的“互救”开关\n辅助控制盒盖 · 状态判定\n状态检测\n20 分\n↑\n↓\n选择场景\n加载模型\n环境与场景\n野外环境\n外部 GLB\n三维实时编辑\n当前场景\n室外综合训练场\n3 个场景对象 · 设备与物模型绑定已继承\n当前选中\n液压泵\n动作:等待配置\n步骤配置\n第 1 步 · 根据故障现象确定是哪一个液压泵发生故障\n目标与动作\n判定规则\n讲解设置\n配置目标与动作\n填写步骤说明 → 在三维场景点选目标 → 选择标准动作\n步骤内容\n学员端将按此顺序显示\n步骤名称\n操作说明\n引导提示\n目标位置 / 状态\n完成提示\n编排建议\n\n步骤标题使用动宾结构;操作说明只写本步动作,不提前泄露后续答案。\n\n配置本步工具 配置机构动作\n动作训练配置\n仅开放当前运行时可执行的动作\n拖\n三维拖拽\n沿受控路径完成拆卸、移动或复装\n判\n状态检测\n点击目标并按规则完成检查或测量\n语义目标\n液压泵\n取力器\n取力器开关\n球阀开关\n辅助控制盒\n辅助控制盒盖\n互救开关\n操作模式\n检查 / 确认\n标准动作时长\n毫秒\n空间容差\n状态检测无需空间容差\n步骤动画\n绑定后写入当前步骤与高级时间轴\n+\n尚未绑定动画\n从模型编辑器已发布的动画成果中选择\n绑定动画\n运行边界\n\n编辑器不会写入任意脚本;动作和目标均从经过验证的运行时白名单中选择。\n\n当前步骤\n1 / 5\n步骤分值\n20 分\n总分配置\n100 / 100\ni\n已加载发布场景:3 个对象,位姿与语义已恢复\n发布未通过\n\n教学实训发布校验未通过(5 项):steps[0].targetId 引用的对象 front-pump-hydraulic-pump 不在绑定场景的可操作对象中;steps[1].targetId 引用的对象 front-pump-pto-switch 不在绑定场景的可操作对象中;steps[2].targetId 引用的对象 front-pump-ball-valve-switch 不在绑定场景的可操作对象中;steps[3].targetId 引用的对象 front-pump-pto-switch 不在绑定场景的可操作对象中;steps[4].targetId 引用的对象 front-pump-aux-control-box-cover 不在绑定场景的可操作对象中\n\n知道了"
}

二進制
查看文件


+ 11
- 0
reports/bridge-005-authoring-20260916/editor-result-90.json 查看文件

@@ -0,0 +1,11 @@
{
"pass": true,
"sceneObjects": 2,
"partTargets": 7,
"steps": 5,
"operations": 6,
"savedAngle": 90,
"originalPublishedVersion": "552",
"draftVersion": "552",
"errors": []
}

+ 11
- 0
reports/bridge-005-authoring-20260916/editor-result.json 查看文件

@@ -0,0 +1,11 @@
{
"pass": true,
"sceneObjects": 2,
"partTargets": 7,
"steps": 5,
"operations": 6,
"savedAngle": 75,
"originalPublishedVersion": "543",
"draftVersion": "543",
"errors": []
}

二進制
查看文件


+ 1
- 0
reports/bridge-005-authoring-20260916/index.html 查看文件

@@ -0,0 +1 @@
<!doctype html><html lang="zh-CN"><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>005 场景与编排验收</title><style>body{font:16px/1.7 system-ui;margin:32px auto;padding:0 24px;max-width:1100px;color:#173d38;background:#f4f8f7}a{color:#087f70}section{background:white;padding:22px;border:1px solid #d5e7e3;border-radius:12px;margin:20px 0}img{width:100%;border-radius:8px}h1{font-size:28px}li{margin:8px 0}</style><h1>005 液压泵应急切换:场景制作 → 训练编排 → 教学预览</h1><p>验收时间:2026-09-16T17:12:05.890Z。独立验证工程,原四个已发布任务数据和版本完整对比一致。</p><section><h2>入口</h2><ul><li><a href="http://127.0.0.1:6180/content/scenes/457/edit">场景制作:整车、地形、七个真实部件目标</a></li><li><a href="http://127.0.0.1:6180/content/training-projects/458/legacy">训练编排:五步、六个机构动作及逐步数字人讲解</a></li><li><a href="http://127.0.0.1:6180/teaching/virtual-training/preview/116">独立教学预览</a>(草稿任务,不替换现有学员入口)</li></ul></section><section><h2>验证结果</h2><p>实际编辑场景并发布后,训练重新绑定已发布场景。球阀从 90° 改为 75°,保存、刷新、发布后,完成全部六次鼠标操作及服务端预览校验;随后恢复 90° 并在局域网完整复测。五段视频和五段语音已作为训练资产绑定。</p><p>原 005 完整流程回归、原四任务初始场景回归均通过。前端构建与合同测试、后端单元测试和打包通过。当前验证仅覆盖教员预览,不代表新增学员成绩验收。</p><ul><li><a href="editor-result.json">editor-result</a>:通过</li><li><a href="editor-result-90.json">editor-result-90</a>:通过</li><li><a href="runtime-edited-75.json">runtime-edited-75</a>:通过</li><li><a href="runtime-final-90-lan.json">runtime-final-90-lan</a>:通过</li><li><a href="original-tasks-regression.json">original-tasks-regression</a>:通过</li><li><a href="original-005-full-regression.json">original-005-full-regression</a>:通过</li><li><a href="audit.json">任务、版本、讲解资产与原数据核对结果</a></li></ul></section><section><h2>场景制作</h2><img src="scene-editor.png" alt="005 场景制作"></section><section><h2>训练编排</h2><img src="training-editor.png" alt="005 训练编排"></section><section><h2>球阀操作与互救开关</h2><img src="task-116-step-3.png" alt="球阀操作"><img src="task-116-step-5.png" alt="互救开关操作"></section></html>

+ 125
- 0
reports/bridge-005-authoring-20260916/model-placement.json 查看文件

@@ -0,0 +1,125 @@
{
"objects": [
{
"name": "野外山地训练场",
"position": [
-3.1597256741842212,
10.30528511389146,
-40.10715876774236
],
"rotation": [
0,
0,
0
],
"scale": [
1.7159231079037875,
1.7159231079037875,
1.7159231079037875
]
},
{
"name": "架桥车前泵互救操作整车模型",
"position": [
1.5698558846140135e-16,
0.6112875194820317,
0.13180482636746585
],
"rotation": [
3.0865583248298285e-17,
-3.96331642134641e-33,
-2.568113739801058e-16
],
"scale": [
0.9715696607300419,
0.9715696607300419,
0.9715696607300419
]
}
],
"camera": {
"position": [
6.388234886169594,
3.6955547610775583,
7.955160424286662
],
"target": [
2.220446049250313e-16,
0.9835682527980127,
0
]
},
"parts": [
{
"id": "front-pump-hydraulic-pump",
"front": [
6.098689649701348e-32,
2.5291018817332963e-16,
-1
]
},
{
"id": "front-pump-power-take-off",
"front": [
0.9805806756909202,
0.1961161351381838,
4.9599768641624273e-17
]
},
{
"id": "front-pump-pto-switch",
"hinge": [
0.0000152587890625,
-4.159996032714844,
9.5367431640625e-7
],
"front": [
0.9805806756909202,
0.1961161351381838,
4.9599768641624273e-17
]
},
{
"id": "front-pump-ball-valve-switch",
"front": [
0.9805806756909202,
0.1961161351381838,
4.9599768641624273e-17
]
},
{
"id": "front-pump-aux-control-box",
"front": [
-1,
2.568113739801058e-16,
3.96331642134641e-33
]
},
{
"id": "front-pump-aux-control-box-cover",
"front": [
-1,
2.568113739801058e-16,
3.96331642134641e-33
]
},
{
"id": "front-pump-rescue-switch",
"hinge": [
0.549492597579949,
-0.0000010728836059570312,
4.76837158203125e-7
],
"front": [
-1,
2.568113739801058e-16,
3.96331642134641e-33
],
"axis": [
6.098689649701348e-32,
2.5291018817332963e-16,
-1
]
}
]
}

+ 421
- 0
reports/bridge-005-authoring-20260916/original-005-full-regression.json 查看文件

@@ -0,0 +1,421 @@
{
"pass": true,
"checks": [
{
"name": "task 86 first view",
"state": {
"id": "front-pump-hydraulic-pump",
"step": 0,
"operation": 0,
"errors": 0,
"complete": false,
"pending": false,
"hdr": "venice_sunset_1k",
"distance": 11.052363924053688,
"zoom": 1,
"exposure": 1,
"light": [
0.8,
1.4
],
"screen": {
"x": 937.1159093565705,
"y": 510.8943121357542,
"localX": 678.1159093565705,
"localY": 322.3943121357542,
"visible": true
},
"bounds": [
0.10935024518472723,
0.13537492625037484,
0.19723593501664283
],
"projected": {
"x": 670.919240275776,
"y": 316.01579133562,
"w": 14.309325962616413,
"h": 12.873100207788639
},
"pivot": [
-0.12817655929936847,
0.6146985381013499,
1.6466816717666437
],
"pickPoints": [],
"freePoints": [],
"tip": null,
"front": [
6.098689649701348e-32,
2.5291018817332963e-16,
-1
],
"workflowCoverage": [
{
"name": "front-pump-hydraulic-pump",
"glowing": true
},
{
"name": "front-pump-pto-switch",
"glowing": true
},
{
"name": "front-pump-ball-valve-switch",
"glowing": true
},
{
"name": "front-pump-aux-control-box-cover",
"glowing": true
},
{
"name": "front-pump-rescue-switch",
"glowing": true
}
],
"camera": [
6.688026389433602,
3.8228247388783156,
8.328485692502216
],
"target": [
2.220446049250313e-16,
0.9835682527980127,
0
],
"outline": 1,
"cutaway": 0,
"materials": [
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
}
],
"labels": [
{
"text": "聚焦 · 液压泵",
"x": 881.0625,
"y": 533.375,
"w": 112,
"h": 30,
"id": "front-pump-hydraulic-pump"
}
],
"operationData": {
"targetId": "front-pump-hydraulic-pump",
"axis": [
0,
1,
0
],
"toleranceDegrees": 6,
"directionHint": "点击并确认发生故障的液压泵",
"index": 0,
"kind": "identify",
"deltaDegrees": 0
},
"position": [
0,
0,
0
],
"quaternion": [
0,
0,
0,
1
]
}
},
{
"name": "task 86 step 1 operation 1",
"target": "front-pump-hydraulic-pump",
"drag": false,
"distance": 2.5322004355743606,
"projected": {
"x": 705.1374098658791,
"y": 222.81006115045116,
"w": 91.72518026824184,
"h": 113.44868046645237
},
"labels": 3
},
{
"name": "task 86 internal target inspected with explicit translucent tool",
"targetId": "front-pump-pto-switch",
"pass": true
},
{
"name": "task 86 step 2 operation 1",
"target": "front-pump-pto-switch",
"drag": true,
"distance": 2.532200435574361,
"projected": {
"x": 709.0006218750913,
"y": 263.03238137674134,
"w": 83.99875624981757,
"h": 33.023591730971475
},
"labels": 2
},
{
"name": "task 86 step 3 operation 1",
"target": "front-pump-ball-valve-switch",
"drag": true,
"distance": 2.532200435574361,
"projected": {
"x": 742.9515028622343,
"y": 259.69721416379815,
"w": 16.096994275529482,
"h": 40.44894573262036
},
"labels": 4
},
{
"name": "task 86 step 4 operation 1",
"target": "front-pump-pto-switch",
"drag": true,
"distance": 2.532200435574361,
"projected": {
"x": 706.5903063366927,
"y": 244.5697698769074,
"w": 88.81938732661342,
"h": 69.87239851232039
},
"labels": 2
},
{
"name": "task 86 step 5 operation 1",
"target": "front-pump-aux-control-box-cover",
"drag": true,
"distance": 2.532200435574361,
"projected": {
"x": 699.1228274926349,
"y": 249.2085662189188,
"w": 103.7543450147308,
"h": 60.65167032951712
},
"labels": 4
},
{
"name": "task 86 step 5 operation 2",
"target": "front-pump-rescue-switch",
"drag": true,
"distance": 2.532200435574361,
"projected": {
"x": 748.0136091802624,
"y": 276.397277651574,
"w": 5.972781639476352,
"h": 6.274247464206724
},
"labels": 4
}
],
"errors": [],
"writes": [
"http://127.0.0.1:6180/api/tran/v1/teaching/assignments/86/preview/validate",
"http://127.0.0.1:6180/api/tran/v1/teaching/assignments/86/preview/validate",
"http://127.0.0.1:6180/api/tran/v1/teaching/assignments/86/preview/validate",
"http://127.0.0.1:6180/api/tran/v1/teaching/assignments/86/preview/validate",
"http://127.0.0.1:6180/api/tran/v1/teaching/assignments/86/preview/validate"
]
}

+ 6827
- 0
reports/bridge-005-authoring-20260916/original-assignments.json
文件差異過大導致無法顯示
查看文件


+ 2110
- 0
reports/bridge-005-authoring-20260916/original-tasks-regression.json
文件差異過大導致無法顯示
查看文件


+ 10
- 0
reports/bridge-005-authoring-20260916/pilot.json 查看文件

@@ -0,0 +1,10 @@
{
"sceneId": "457",
"sceneVersionId": "551",
"trainingId": "458",
"mediaUploaded": true,
"trainingVersionId": "552",
"taskId": "116",
"taskStatus": "DRAFT",
"previewUrl": "/teaching/virtual-training/preview/116"
}

+ 288
- 0
reports/bridge-005-authoring-20260916/probe.json 查看文件

@@ -0,0 +1,288 @@
{
"objects": [
{
"receiveShadow": true,
"rotation": [
0,
0,
0
],
"position": [
-3.1597256741842212,
10.30528511389146,
-40.10715876774236
],
"castShadow": true,
"semantic": "环境设施",
"visible": true,
"name": "野外山地训练场",
"mimeType": "model/gltf-binary",
"opacity": 1,
"contentUri": "/models/地形.glb",
"assetUrl": "/models/地形.glb",
"sourceName": "地形.glb",
"assetId": "front-pump-field-terrain",
"type": "imported",
"assetCode": "PILOT-TERRAIN",
"locked": false,
"scale": [
1.7159231079037875,
1.7159231079037875,
1.7159231079037875
],
"components": [],
"id": "front-pump-training-yard",
"sourceVersionId": "538",
"color": "#ffffff",
"modelId": "front-pump-field-terrain",
"modelOverrides": {},
"modelTimeline": null,
"sceneId": "front-pump-training-yard",
"assetKey": "",
"resourceUrl": "/models/地形.glb",
"assetRole": "environment",
"interactionId": "scene:front-pump-training-yard",
"operable": false,
"modelEditorAssetId": "content-model--538",
"modelEditorModelId": "front-pump-field-terrain",
"capabilities": [
"select",
"inspect"
],
"fitToScene": false,
"apiManaged": true,
"modelPartTargets": []
},
{
"receiveShadow": true,
"rotation": [
3.0865583248298285e-17,
-3.96331642134641e-33,
-2.568113739801058e-16
],
"position": [
1.5698558846140135e-16,
0.6112875194820317,
0.13180482636746585
],
"castShadow": true,
"semantic": "实训装备",
"visible": true,
"name": "架桥车前泵互救操作整车模型",
"mimeType": "model/gltf-binary",
"opacity": 1,
"contentUri": "/models/步骤模型.glb",
"assetUrl": "/models/步骤模型.glb",
"sourceName": "步骤模型.glb",
"assetId": "front-pump-step-vehicle",
"type": "imported",
"assetCode": "PILOT-VEHICLE",
"locked": false,
"scale": [
0.9715696607300419,
0.9715696607300419,
0.9715696607300419
],
"components": [],
"id": "front-pump-rescue-vehicle",
"sourceVersionId": "538",
"color": "#ffffff",
"modelId": "front-pump-step-vehicle",
"modelOverrides": {},
"modelTimeline": null,
"sceneId": "front-pump-rescue-vehicle",
"assetKey": "",
"resourceUrl": "/models/步骤模型.glb",
"assetRole": "equipment",
"interactionId": "scene:front-pump-rescue-vehicle",
"operable": false,
"modelEditorAssetId": "content-model--538",
"modelEditorModelId": "front-pump-step-vehicle",
"capabilities": [
"select",
"inspect"
],
"fitToScene": false,
"apiManaged": true,
"modelPartTargets": [
{
"sceneId": "front-pump-hydraulic-pump",
"interactionId": "front-pump-hydraulic-pump",
"sourceInteractionId": "front-pump-hydraulic-pump",
"name": "液压泵",
"editorId": "",
"nodePath": "",
"sourceNodeName": "1液压泵",
"visible": true,
"operable": true,
"capabilities": [
"select",
"inspect"
]
},
{
"sceneId": "front-pump-power-take-off",
"interactionId": "front-pump-power-take-off",
"sourceInteractionId": "front-pump-power-take-off",
"name": "取力器",
"editorId": "",
"nodePath": "",
"sourceNodeName": "2取力器",
"visible": true,
"operable": true,
"capabilities": [
"select",
"inspect"
]
},
{
"sceneId": "front-pump-pto-switch",
"interactionId": "front-pump-pto-switch",
"sourceInteractionId": "front-pump-pto-switch",
"name": "取力器开关",
"editorId": "",
"nodePath": "",
"sourceNodeName": "2取力器开关",
"visible": true,
"operable": true,
"capabilities": [
"select",
"inspect",
"mechanism"
]
},
{
"sceneId": "front-pump-ball-valve-switch",
"interactionId": "front-pump-ball-valve-switch",
"sourceInteractionId": "front-pump-ball-valve-switch",
"name": "球阀开关",
"editorId": "",
"nodePath": "",
"sourceNodeName": "3球阀开关",
"visible": true,
"operable": true,
"capabilities": [
"select",
"inspect",
"mechanism"
]
},
{
"sceneId": "front-pump-aux-control-box",
"interactionId": "front-pump-aux-control-box",
"sourceInteractionId": "front-pump-aux-control-box",
"name": "辅助控制盒",
"editorId": "",
"nodePath": "",
"sourceNodeName": "5辅助控制盒",
"visible": true,
"operable": true,
"capabilities": [
"select",
"inspect"
]
},
{
"sceneId": "front-pump-aux-control-box-cover",
"interactionId": "front-pump-aux-control-box-cover",
"sourceInteractionId": "front-pump-aux-control-box-cover",
"name": "辅助控制盒盖",
"editorId": "",
"nodePath": "",
"sourceNodeName": "5辅助控制盒盖",
"visible": true,
"operable": true,
"capabilities": [
"select",
"inspect",
"mechanism"
]
},
{
"sceneId": "front-pump-rescue-switch",
"interactionId": "front-pump-rescue-switch",
"sourceInteractionId": "front-pump-rescue-switch",
"name": "互救开关",
"editorId": "",
"nodePath": "",
"sourceNodeName": "5互救开关",
"visible": true,
"operable": true,
"capabilities": [
"select",
"inspect",
"mechanism"
]
}
]
}
],
"parts": [
"scene:front-pump-rescue-vehicle/part/front-pump-hydraulic-pump",
"scene:front-pump-rescue-vehicle/part/front-pump-power-take-off",
"scene:front-pump-rescue-vehicle/part/front-pump-pto-switch",
"scene:front-pump-rescue-vehicle/part/front-pump-ball-valve-switch",
"scene:front-pump-rescue-vehicle/part/front-pump-aux-control-box",
"scene:front-pump-rescue-vehicle/part/front-pump-aux-control-box-cover",
"scene:front-pump-rescue-vehicle/part/front-pump-rescue-switch"
],
"nodes": [
[
"野外山地训练场",
"野外山地训练场",
"DX",
"DX_1",
"DX_2",
"DX_3",
"DX_4",
"DX_5"
],
[
"架桥车前泵互救操作整车模型",
"架桥车前泵互救操作整车模型",
"车",
"车_1",
"车_2",
"车_3",
"车_4",
"车_5",
"车_6",
"车_7",
"车_8",
"车_9",
"车_10",
"车_11",
"车_12",
"车_13",
"车_14",
"车_15",
"车_16",
"5辅助控制盒盖",
"2取力器",
"2取力器_1",
"2取力器_2",
"2取力器开关",
"2取力器开关_1",
"2取力器开关_2",
"training-pick-proxy:scene:front-pump-rescue-vehicle/part/front-pump-pto-switch",
"5互救开关",
"training-pick-proxy:scene:front-pump-rescue-vehicle/part/front-pump-rescue-switch",
"5辅助控制盒",
"5辅助控制盒_1",
"5辅助控制盒_2",
"5辅助控制盒_3",
"5辅助控制盒_4",
"5辅助控制盒_5",
"5辅助控制盒_6",
"5辅助控制盒_7",
"1液压泵",
"关键螺丝",
"Obj_关键螺丝",
"Obj_关键螺丝_1",
"Obj_关键螺丝_2",
"Obj_关键螺丝_3",
"3球阀开关",
"training-pick-proxy:scene:front-pump-rescue-vehicle/part/front-pump-ball-valve-switch"
]
]
}

+ 511
- 0
reports/bridge-005-authoring-20260916/runtime-edited-75.json 查看文件

@@ -0,0 +1,511 @@
{
"pass": true,
"checks": [
{
"name": "task 116 first view",
"state": {
"id": "front-pump-hydraulic-pump",
"step": 0,
"operation": 0,
"errors": 0,
"complete": false,
"pending": false,
"hdr": "venice_sunset_1k",
"distance": 11.026959938593922,
"zoom": 1,
"exposure": 1,
"light": [
0.8,
1.4
],
"screen": {
"x": 933.2030379404363,
"y": 508.98653882111967,
"localX": 674.2030379404363,
"localY": 320.48653882111967,
"visible": true
},
"bounds": [
0.10935024518472723,
0.13537492625037484,
0.19723593501664283
],
"projected": {
"x": 666.9159534482183,
"y": 314.22778469888664,
"w": 14.498295179786055,
"h": 12.630906367540888
},
"pivot": [
-0.12817655929936847,
0.6146985381013499,
1.6466816717666437
],
"pickPoints": [
{
"x": 933.1651010381113,
"y": 509.0432378826571
},
{
"x": 930.9903567611434,
"y": 509.0432378826571
},
{
"x": 935.3398453150792,
"y": 509.0432378826571
},
{
"x": 928.8156124841755,
"y": 509.0432378826571
},
{
"x": 937.5145895920471,
"y": 509.0432378826571
},
{
"x": 933.1651010381113,
"y": 507.14860192752593
},
{
"x": 930.9903567611434,
"y": 507.14860192752593
},
{
"x": 935.3398453150792,
"y": 507.14860192752593
},
{
"x": 933.1651010381113,
"y": 510.93787383778823
},
{
"x": 930.9903567611434,
"y": 510.93787383778823
},
{
"x": 935.3398453150792,
"y": 510.93787383778823
},
{
"x": 928.8156124841755,
"y": 510.93787383778823
},
{
"x": 935.3398453150792,
"y": 505.25396597239484
},
{
"x": 933.1651010381113,
"y": 512.8325097929194
},
{
"x": 930.9903567611434,
"y": 512.8325097929194
},
{
"x": 928.8156124841755,
"y": 512.8325097929194
}
],
"freePoints": [],
"tip": null,
"front": [
6.098689649701348e-32,
2.5291018817332963e-16,
-1
],
"workflowCoverage": [
{
"name": "front-pump-hydraulic-pump",
"glowing": true
},
{
"name": "front-pump-pto-switch",
"glowing": true
},
{
"name": "front-pump-ball-valve-switch",
"glowing": true
},
{
"name": "front-pump-aux-control-box-cover",
"glowing": true
},
{
"name": "front-pump-rescue-switch",
"glowing": true
}
],
"camera": [
7.138234886169582,
3.695554761077557,
7.955160424286649
],
"target": [
2.220446049250313e-16,
0.9835682527980127,
0
],
"outline": 1,
"cutaway": 0,
"materials": [
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
}
],
"labels": [
{
"text": "聚焦 · 液压泵",
"x": 877.15625,
"y": 531.34375,
"w": 112,
"h": 30,
"id": "front-pump-hydraulic-pump"
}
],
"operationData": {
"targetId": "front-pump-hydraulic-pump",
"axis": [
0,
1,
0
],
"toleranceDegrees": 6,
"directionHint": "点击并确认发生故障的液压泵",
"index": 0,
"kind": "identify",
"deltaDegrees": 0
},
"position": [
0,
0,
0
],
"quaternion": [
0,
0,
0,
1
]
}
},
{
"name": "task 116 step 1 operation 1",
"target": "front-pump-hydraulic-pump",
"drag": false,
"distance": 2.5322004355743615,
"projected": {
"x": 705.1374098658791,
"y": 222.8100611504512,
"w": 91.72518026824184,
"h": 113.44868046645234
},
"labels": 3
},
{
"name": "task 116 step 2 operation 1",
"target": "front-pump-pto-switch",
"drag": true,
"distance": 2.532200435574361,
"projected": {
"x": 709.0006218750913,
"y": 263.03238137674134,
"w": 83.99875624981757,
"h": 33.023591730971475
},
"labels": 2
},
{
"name": "task 116 step 3 operation 1",
"target": "front-pump-ball-valve-switch",
"drag": true,
"distance": 2.532200435574361,
"projected": {
"x": 742.9515028622343,
"y": 259.69721416379815,
"w": 16.096994275529482,
"h": 40.44894573262036
},
"labels": 4
},
{
"name": "task 116 step 4 operation 1",
"target": "front-pump-pto-switch",
"drag": true,
"distance": 2.532200435574361,
"projected": {
"x": 706.5903063366927,
"y": 244.5697698769074,
"w": 88.81938732661342,
"h": 69.87239851232039
},
"labels": 2
},
{
"name": "task 116 step 5 operation 1",
"target": "front-pump-aux-control-box-cover",
"drag": true,
"distance": 2.532200435574361,
"projected": {
"x": 699.1228274926349,
"y": 249.2085662189188,
"w": 103.7543450147308,
"h": 60.65167032951712
},
"labels": 4
},
{
"name": "task 116 step 5 operation 2",
"target": "front-pump-rescue-switch",
"drag": true,
"distance": 2.532200435574361,
"projected": {
"x": 748.0136091802624,
"y": 276.397277651574,
"w": 5.972781639476352,
"h": 6.274247464206724
},
"labels": 4
}
],
"errors": [],
"writes": [
"http://127.0.0.1:6180/api/tran/v1/teaching/assignments/116/preview/validate",
"http://127.0.0.1:6180/api/tran/v1/teaching/assignments/116/preview/validate",
"http://127.0.0.1:6180/api/tran/v1/teaching/assignments/116/preview/validate",
"http://127.0.0.1:6180/api/tran/v1/teaching/assignments/116/preview/validate",
"http://127.0.0.1:6180/api/tran/v1/teaching/assignments/116/preview/validate"
]
}

+ 543
- 0
reports/bridge-005-authoring-20260916/runtime-final-90-lan.json 查看文件

@@ -0,0 +1,543 @@
{
"pass": true,
"checks": [
{
"name": "task 116 first view",
"state": {
"id": "front-pump-hydraulic-pump",
"step": 0,
"operation": 0,
"errors": 0,
"complete": false,
"pending": false,
"hdr": "venice_sunset_1k",
"distance": 11.026959938593922,
"zoom": 1,
"exposure": 1,
"light": [
0.8,
1.4
],
"screen": {
"x": 933.2030379404363,
"y": 508.98653882111967,
"localX": 674.2030379404363,
"localY": 320.48653882111967,
"visible": true
},
"bounds": [
0.10935024518472723,
0.13537492625037484,
0.19723593501664283
],
"projected": {
"x": 666.9159534482183,
"y": 314.22778469888664,
"w": 14.498295179786055,
"h": 12.630906367540888
},
"pivot": [
-0.12817655929936847,
0.6146985381013499,
1.6466816717666437
],
"pickPoints": [
{
"x": 933.1651010381113,
"y": 509.0432378826571
},
{
"x": 930.9903567611434,
"y": 509.0432378826571
},
{
"x": 935.3398453150792,
"y": 509.0432378826571
},
{
"x": 928.8156124841755,
"y": 509.0432378826571
},
{
"x": 937.5145895920471,
"y": 509.0432378826571
},
{
"x": 933.1651010381113,
"y": 507.14860192752593
},
{
"x": 930.9903567611434,
"y": 507.14860192752593
},
{
"x": 935.3398453150792,
"y": 507.14860192752593
},
{
"x": 933.1651010381113,
"y": 510.93787383778823
},
{
"x": 930.9903567611434,
"y": 510.93787383778823
},
{
"x": 935.3398453150792,
"y": 510.93787383778823
},
{
"x": 928.8156124841755,
"y": 510.93787383778823
},
{
"x": 935.3398453150792,
"y": 505.25396597239484
},
{
"x": 933.1651010381113,
"y": 512.8325097929194
},
{
"x": 930.9903567611434,
"y": 512.8325097929194
},
{
"x": 928.8156124841755,
"y": 512.8325097929194
}
],
"freePoints": [],
"tip": null,
"front": [
6.098689649701348e-32,
2.5291018817332963e-16,
-1
],
"workflowCoverage": [
{
"name": "front-pump-hydraulic-pump",
"glowing": true
},
{
"name": "front-pump-pto-switch",
"glowing": true
},
{
"name": "front-pump-ball-valve-switch",
"glowing": true
},
{
"name": "front-pump-aux-control-box-cover",
"glowing": true
},
{
"name": "front-pump-rescue-switch",
"glowing": true
}
],
"camera": [
7.138234886169582,
3.695554761077557,
7.955160424286649
],
"target": [
2.220446049250313e-16,
0.9835682527980127,
0
],
"outline": 1,
"cutaway": 0,
"materials": [
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
}
],
"labels": [
{
"text": "聚焦 · 液压泵",
"x": 877.15625,
"y": 531.34375,
"w": 112,
"h": 30,
"id": "front-pump-hydraulic-pump"
}
],
"narration": [
{
"video": true,
"fallback": true
},
{
"video": true,
"fallback": true
},
{
"video": true,
"fallback": true
},
{
"video": true,
"fallback": true
},
{
"video": true,
"fallback": true
}
],
"operationData": {
"targetId": "front-pump-hydraulic-pump",
"axis": [
0,
1,
0
],
"toleranceDegrees": 6,
"directionHint": "点击并确认发生故障的液压泵",
"index": 0,
"kind": "identify",
"deltaDegrees": 0
},
"position": [
0,
0,
0
],
"quaternion": [
0,
0,
0,
1
]
}
},
{
"name": "task 116 digital-human video playback",
"pass": true,
"media": {
"width": 480,
"height": 640,
"duration": 4.96,
"currentTime": 0.012821
}
},
{
"name": "task 116 step 1 operation 1",
"target": "front-pump-hydraulic-pump",
"drag": false,
"distance": 2.5322004355743615,
"projected": {
"x": 705.1374098658791,
"y": 222.8100611504512,
"w": 91.72518026824184,
"h": 113.44868046645234
},
"labels": 3
},
{
"name": "task 116 step 2 operation 1",
"target": "front-pump-pto-switch",
"drag": true,
"distance": 2.532200435574361,
"projected": {
"x": 709.0006218750913,
"y": 263.03238137674134,
"w": 83.99875624981757,
"h": 33.023591730971475
},
"labels": 2
},
{
"name": "task 116 step 3 operation 1",
"target": "front-pump-ball-valve-switch",
"drag": true,
"distance": 2.532200435574361,
"projected": {
"x": 742.9515028622343,
"y": 259.69721416379815,
"w": 16.096994275529482,
"h": 40.44894573262036
},
"labels": 4
},
{
"name": "task 116 step 4 operation 1",
"target": "front-pump-pto-switch",
"drag": true,
"distance": 2.532200435574361,
"projected": {
"x": 706.5903063366927,
"y": 244.5697698769074,
"w": 88.81938732661342,
"h": 69.87239851232039
},
"labels": 2
},
{
"name": "task 116 step 5 operation 1",
"target": "front-pump-aux-control-box-cover",
"drag": true,
"distance": 2.532200435574361,
"projected": {
"x": 699.1228274926349,
"y": 249.2085662189188,
"w": 103.7543450147308,
"h": 60.65167032951712
},
"labels": 4
},
{
"name": "task 116 step 5 operation 2",
"target": "front-pump-rescue-switch",
"drag": true,
"distance": 2.532200435574361,
"projected": {
"x": 748.0136091802624,
"y": 276.397277651574,
"w": 5.972781639476352,
"h": 6.274247464206724
},
"labels": 4
}
],
"errors": [],
"writes": [
"http://192.168.31.168:6180/api/tran/v1/teaching/assignments/116/preview/validate",
"http://192.168.31.168:6180/api/tran/v1/teaching/assignments/116/preview/validate",
"http://192.168.31.168:6180/api/tran/v1/teaching/assignments/116/preview/validate",
"http://192.168.31.168:6180/api/tran/v1/teaching/assignments/116/preview/validate",
"http://192.168.31.168:6180/api/tran/v1/teaching/assignments/116/preview/validate"
]
}

+ 271
- 0
reports/bridge-005-authoring-20260916/runtime-first.json 查看文件

@@ -0,0 +1,271 @@
{
"pass": false,
"error": "The expression evaluated to a falsy value:\n\n assert.ok(state.outline>0)\n",
"checks": [],
"state": {
"id": "front-pump-hydraulic-pump",
"step": 0,
"operation": 0,
"errors": 0,
"complete": false,
"pending": false,
"hdr": "venice_sunset_1k",
"distance": 10.556940520723852,
"zoom": 1,
"exposure": 1,
"light": [
0.8,
1.4
],
"screen": null,
"bounds": null,
"projected": null,
"pivot": null,
"pickPoints": [],
"freePoints": [],
"tip": null,
"workflowCoverage": [],
"camera": [
6.388234886169593,
3.6955547610775574,
7.9551604242866585
],
"target": [
2.220446049250313e-16,
0.9835682527980127,
0
],
"outline": 0,
"cutaway": 0,
"materials": [
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
}
],
"labels": [],
"operationData": {
"targetId": "front-pump-hydraulic-pump",
"axis": [
0,
1,
0
],
"toleranceDegrees": 6,
"directionHint": "点击并确认发生故障的液压泵",
"index": 0,
"kind": "identify",
"deltaDegrees": 0
}
},
"errors": [],
"writes": [],
"networkErrors": [
{
"path": "http://127.0.0.1:6180/14b2da40-8e59-4998-8ab4-cedb2d56e98f",
"error": "net::ERR_ABORTED"
}
],
"pending": []
}

+ 485
- 0
reports/bridge-005-authoring-20260916/runtime.json 查看文件

@@ -0,0 +1,485 @@
{
"pass": true,
"checks": [
{
"name": "task 116 first view",
"state": {
"id": "front-pump-hydraulic-pump",
"step": 0,
"operation": 0,
"errors": 0,
"complete": false,
"pending": false,
"hdr": "venice_sunset_1k",
"distance": 10.556940520723852,
"zoom": 1,
"exposure": 1,
"light": [
0.8,
1.4
],
"screen": {
"x": 933.3103730673897,
"y": 513.1321797455187,
"localX": 674.3103730673897,
"localY": 324.6321797455186,
"visible": true
},
"bounds": [
0.10935024518472723,
0.13537492625037484,
0.19723593501664283
],
"projected": {
"x": 666.7119490289721,
"y": 317.90271383869003,
"w": 15.10354286710276,
"h": 13.587830416252018
},
"pivot": [
-0.12817655929936847,
0.6146985381013499,
1.6466816717666437
],
"pickPoints": [
{
"x": 933.2637204625235,
"y": 513.196629046816
},
{
"x": 930.9981890324581,
"y": 513.196629046816
},
{
"x": 935.5292518925888,
"y": 513.196629046816
},
{
"x": 928.7326576023926,
"y": 513.196629046816
},
{
"x": 937.7947833226543,
"y": 513.196629046816
},
{
"x": 933.2637204625235,
"y": 511.15845448437824
},
{
"x": 930.9981890324581,
"y": 511.15845448437824
},
{
"x": 935.5292518925888,
"y": 511.15845448437824
},
{
"x": 933.2637204625235,
"y": 515.2348036092538
},
{
"x": 930.9981890324581,
"y": 515.2348036092538
},
{
"x": 935.5292518925888,
"y": 515.2348036092538
},
{
"x": 928.7326576023926,
"y": 515.2348036092538
},
{
"x": 935.5292518925888,
"y": 509.12027992194044
},
{
"x": 933.2637204625235,
"y": 517.2729781716916
},
{
"x": 930.9981890324581,
"y": 517.2729781716916
},
{
"x": 935.5292518925888,
"y": 517.2729781716916
},
{
"x": 928.7326576023926,
"y": 517.2729781716916
}
],
"freePoints": [],
"tip": null,
"front": [
6.098689649701348e-32,
2.5291018817332963e-16,
-1
],
"workflowCoverage": [
{
"name": "front-pump-hydraulic-pump",
"glowing": true
},
{
"name": "front-pump-pto-switch",
"glowing": true
},
{
"name": "front-pump-ball-valve-switch",
"glowing": true
},
{
"name": "front-pump-aux-control-box-cover",
"glowing": true
},
{
"name": "front-pump-rescue-switch",
"glowing": true
}
],
"camera": [
6.388234886169593,
3.6955547610775574,
7.9551604242866585
],
"target": [
2.220446049250313e-16,
0.9835682527980127,
0
],
"outline": 1,
"cutaway": 0,
"materials": [
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
}
],
"labels": [
{
"text": "聚焦 · 液压泵",
"x": 877.25,
"y": 535.984375,
"w": 112,
"h": 30,
"id": "front-pump-hydraulic-pump"
}
],
"operationData": {
"targetId": "front-pump-hydraulic-pump",
"axis": [
0,
1,
0
],
"toleranceDegrees": 6,
"directionHint": "点击并确认发生故障的液压泵",
"index": 0,
"kind": "identify",
"deltaDegrees": 0
},
"position": [
0,
0,
0
],
"quaternion": [
0,
0,
0,
1
]
}
},
{
"name": "task 116 step 1 operation 1",
"target": "front-pump-hydraulic-pump",
"drag": false,
"distance": 2.5322004355743606,
"projected": {
"x": 705.1374098658791,
"y": 222.81006115045116,
"w": 91.72518026824184,
"h": 113.44868046645237
},
"labels": 3
},
{
"name": "task 116 step 2 operation 1",
"target": "front-pump-pto-switch",
"drag": true,
"distance": 2.532200435574361,
"projected": {
"x": 709.0006218750913,
"y": 263.03238137674134,
"w": 83.99875624981757,
"h": 33.023591730971475
},
"labels": 2
},
{
"name": "task 116 step 3 operation 1",
"target": "front-pump-ball-valve-switch",
"drag": true,
"distance": 2.532200435574361,
"projected": {
"x": 742.9515028622343,
"y": 259.69721416379815,
"w": 16.096994275529482,
"h": 40.44894573262036
},
"labels": 4
},
{
"name": "task 116 step 4 operation 1",
"target": "front-pump-pto-switch",
"drag": true,
"distance": 2.532200435574361,
"projected": {
"x": 706.5903063366927,
"y": 244.5697698769074,
"w": 88.81938732661342,
"h": 69.87239851232039
},
"labels": 2
},
{
"name": "task 116 step 5 operation 1",
"target": "front-pump-aux-control-box-cover",
"drag": true,
"distance": 2.532200435574361,
"projected": {
"x": 699.1228274926349,
"y": 249.2085662189188,
"w": 103.7543450147308,
"h": 60.65167032951712
},
"labels": 4
},
{
"name": "task 116 step 5 operation 2",
"target": "front-pump-rescue-switch",
"drag": true,
"distance": 2.532200435574361,
"projected": {
"x": 748.0136091802624,
"y": 276.397277651574,
"w": 5.972781639476352,
"h": 6.274247464206724
},
"labels": 4
}
],
"errors": [],
"writes": [
"http://127.0.0.1:6180/api/tran/v1/teaching/assignments/116/preview/validate",
"http://127.0.0.1:6180/api/tran/v1/teaching/assignments/116/preview/validate",
"http://127.0.0.1:6180/api/tran/v1/teaching/assignments/116/preview/validate",
"http://127.0.0.1:6180/api/tran/v1/teaching/assignments/116/preview/validate",
"http://127.0.0.1:6180/api/tran/v1/teaching/assignments/116/preview/validate"
]
}

+ 442
- 0
reports/bridge-005-authoring-20260916/scene-editor-roundtrip.json 查看文件

@@ -0,0 +1,442 @@
{
"objects": [
{
"sceneId": "front-pump-training-yard",
"type": "imported",
"name": "野外山地训练场",
"deviceId": "front-pump-training-yard",
"modelId": "front-pump-field-terrain",
"semantic": "环境地形",
"assetRole": "environment",
"builtinAssetId": "front-pump-field-terrain",
"modelEditorAssetId": "",
"modelEditorModelId": "",
"modelEditorRevision": 0,
"modelOverrides": {},
"materialPreset": null,
"modelPartTargets": [],
"partOverrides": {},
"interactionId": "scene:front-pump-training-yard",
"operable": false,
"capabilities": [
"select",
"inspect"
],
"sourceNodeName": "",
"splitGroupId": "",
"visible": true,
"position": [
-3.1597256741842212,
10.30528511389146,
-40.10715876774236
],
"rotation": [
0,
0,
0
],
"scale": [
1.7159231079037875,
1.7159231079037875,
1.7159231079037875
],
"assetKey": "",
"resourceUrl": "/models/terrain-005-20260917.glb",
"sourceName": "terrain-005-20260917.glb",
"sizeBytes": 0,
"mimeType": "model/gltf-binary",
"enclosureMode": "",
"assetCode": "PILOT-TERRAIN-005",
"sourceAssetId": ""
},
{
"sceneId": "front-pump-rescue-vehicle",
"type": "imported",
"name": "架桥车前泵互救操作整车模型",
"deviceId": "front-pump-rescue-vehicle",
"modelId": "front-pump-step-vehicle",
"semantic": "实训装备",
"assetRole": "equipment",
"builtinAssetId": "front-pump-step-vehicle",
"modelEditorAssetId": "bridge-erector-0916",
"modelEditorModelId": "front-pump-step-vehicle",
"modelEditorRevision": 2,
"modelOverrides": {},
"materialPreset": null,
"modelPartTargets": [
{
"sceneId": "front-pump-hydraulic-pump",
"interactionId": "front-pump-hydraulic-pump",
"sourceInteractionId": "front-pump-hydraulic-pump",
"editorId": "bridge-0916-node-92",
"nodePath": "0/46/0",
"sourceNodeName": "1_24柱塞泵3_05前泵3_08新泵",
"name": "液压泵",
"operable": true,
"capabilities": [
"select",
"inspect"
],
"visible": true,
"sceneDeleted": false
},
{
"sceneId": "front-pump-power-take-off",
"interactionId": "front-pump-power-take-off",
"sourceInteractionId": "front-pump-power-take-off",
"editorId": "bridge-0916-node-80",
"nodePath": "0/40/0",
"sourceNodeName": "1_25取力器",
"name": "取力器",
"operable": true,
"capabilities": [
"select",
"inspect"
],
"visible": true,
"sceneDeleted": false
},
{
"sceneId": "front-pump-pto-switch",
"interactionId": "front-pump-pto-switch",
"sourceInteractionId": "front-pump-pto-switch",
"editorId": "bridge-0916-node-82",
"nodePath": "0/41/0",
"sourceNodeName": "1_25和1_27和2_03和2_08取力器开关",
"name": "取力器开关",
"operable": true,
"capabilities": [
"select",
"inspect",
"mechanism"
],
"visible": true,
"sceneDeleted": false
},
{
"sceneId": "front-pump-ball-valve-switch",
"interactionId": "front-pump-ball-valve-switch",
"sourceInteractionId": "front-pump-ball-valve-switch",
"editorId": "bridge-0916-node-96",
"nodePath": "0/48/0",
"sourceNodeName": "1_26球阀开关",
"name": "球阀开关",
"operable": true,
"capabilities": [
"select",
"inspect",
"mechanism"
],
"visible": true,
"sceneDeleted": false
},
{
"sceneId": "front-pump-aux-control-box",
"interactionId": "front-pump-aux-control-box",
"sourceInteractionId": "front-pump-aux-control-box",
"editorId": "bridge-0916-node-84",
"nodePath": "0/42/0",
"sourceNodeName": "1_28辅助控制盒内",
"name": "辅助控制盒",
"operable": true,
"capabilities": [
"select",
"inspect"
],
"visible": true,
"sceneDeleted": false
},
{
"sceneId": "front-pump-aux-control-box-cover",
"interactionId": "front-pump-aux-control-box-cover",
"sourceInteractionId": "front-pump-aux-control-box-cover",
"editorId": "bridge-0916-node-78",
"nodePath": "0/39/0",
"sourceNodeName": "1_28辅助控制盒盖",
"name": "辅助控制盒盖",
"operable": true,
"capabilities": [
"select",
"inspect",
"mechanism"
],
"visible": true,
"sceneDeleted": false
},
{
"sceneId": "front-pump-rescue-switch",
"interactionId": "front-pump-rescue-switch",
"sourceInteractionId": "front-pump-rescue-switch",
"editorId": "bridge-0916-node-86",
"nodePath": "0/43/0",
"sourceNodeName": "1_28和2_06互救开关",
"name": "互救开关",
"operable": true,
"capabilities": [
"select",
"inspect",
"mechanism"
],
"visible": true,
"sceneDeleted": false
}
],
"partOverrides": {
"front-pump-hydraulic-pump": {
"sceneId": "front-pump-hydraulic-pump",
"interactionId": "front-pump-hydraulic-pump",
"sourceInteractionId": "front-pump-hydraulic-pump",
"editorId": "bridge-0916-node-92",
"nodePath": "0/46/0",
"sourceNodeName": "1_24柱塞泵3_05前泵3_08新泵",
"name": "液压泵",
"position": [
0,
0,
0
],
"rotation": [
0,
0,
0
],
"scale": [
0.01,
0.01,
0.01
],
"visible": true,
"sceneDeleted": false,
"operable": true,
"capabilities": [
"select",
"inspect"
]
},
"front-pump-power-take-off": {
"sceneId": "front-pump-power-take-off",
"interactionId": "front-pump-power-take-off",
"sourceInteractionId": "front-pump-power-take-off",
"editorId": "bridge-0916-node-80",
"nodePath": "0/40/0",
"sourceNodeName": "1_25取力器",
"name": "取力器",
"position": [
0,
0,
0
],
"rotation": [
0,
0,
0
],
"scale": [
0.01,
0.01,
0.01
],
"visible": true,
"sceneDeleted": false,
"operable": true,
"capabilities": [
"select",
"inspect"
]
},
"front-pump-pto-switch": {
"sceneId": "front-pump-pto-switch",
"interactionId": "front-pump-pto-switch",
"sourceInteractionId": "front-pump-pto-switch",
"editorId": "bridge-0916-node-82",
"nodePath": "0/41/0",
"sourceNodeName": "1_25和1_27和2_03和2_08取力器开关",
"name": "取力器开关",
"position": [
0,
0,
0
],
"rotation": [
0,
0,
0
],
"scale": [
0.01,
0.01,
0.01
],
"visible": true,
"sceneDeleted": false,
"operable": true,
"capabilities": [
"select",
"inspect",
"mechanism"
]
},
"front-pump-ball-valve-switch": {
"sceneId": "front-pump-ball-valve-switch",
"interactionId": "front-pump-ball-valve-switch",
"sourceInteractionId": "front-pump-ball-valve-switch",
"editorId": "bridge-0916-node-96",
"nodePath": "0/48/0",
"sourceNodeName": "1_26球阀开关",
"name": "球阀开关",
"position": [
0,
0,
0
],
"rotation": [
0,
0,
0
],
"scale": [
0.01,
0.01,
0.01
],
"visible": true,
"sceneDeleted": false,
"operable": true,
"capabilities": [
"select",
"inspect",
"mechanism"
]
},
"front-pump-aux-control-box": {
"sceneId": "front-pump-aux-control-box",
"interactionId": "front-pump-aux-control-box",
"sourceInteractionId": "front-pump-aux-control-box",
"editorId": "bridge-0916-node-84",
"nodePath": "0/42/0",
"sourceNodeName": "1_28辅助控制盒内",
"name": "辅助控制盒",
"position": [
0,
0,
0
],
"rotation": [
0,
0,
0
],
"scale": [
0.01,
0.01,
0.01
],
"visible": true,
"sceneDeleted": false,
"operable": true,
"capabilities": [
"select",
"inspect"
]
},
"front-pump-aux-control-box-cover": {
"sceneId": "front-pump-aux-control-box-cover",
"interactionId": "front-pump-aux-control-box-cover",
"sourceInteractionId": "front-pump-aux-control-box-cover",
"editorId": "bridge-0916-node-78",
"nodePath": "0/39/0",
"sourceNodeName": "1_28辅助控制盒盖",
"name": "辅助控制盒盖",
"position": [
0,
0,
0
],
"rotation": [
0,
0,
0
],
"scale": [
0.01,
0.01,
0.01
],
"visible": true,
"sceneDeleted": false,
"operable": true,
"capabilities": [
"select",
"inspect",
"mechanism"
]
},
"front-pump-rescue-switch": {
"sceneId": "front-pump-rescue-switch",
"interactionId": "front-pump-rescue-switch",
"sourceInteractionId": "front-pump-rescue-switch",
"editorId": "bridge-0916-node-86",
"nodePath": "0/43/0",
"sourceNodeName": "1_28和2_06互救开关",
"name": "互救开关",
"position": [
0,
0,
0
],
"rotation": [
0,
0,
0
],
"scale": [
0.01,
0.01,
0.01
],
"visible": true,
"sceneDeleted": false,
"operable": true,
"capabilities": [
"select",
"inspect",
"mechanism"
]
}
},
"interactionId": "scene:front-pump-rescue-vehicle",
"operable": false,
"capabilities": [
"select",
"inspect"
],
"sourceNodeName": "Group",
"splitGroupId": "",
"visible": true,
"position": [
1.5698558846140135e-16,
0.00012730681329620186,
0.13180482636746585
],
"rotation": [
3.0865583248298285e-17,
-3.96331642134641e-33,
-2.568113739801058e-16
],
"scale": [
0.9715696607300419,
0.9715696607300419,
0.9715696607300419
],
"assetKey": "",
"resourceUrl": "/models/bridge-erector-20260916.glb",
"sourceName": "0916架桥车.glb",
"sizeBytes": 37160920,
"mimeType": "model/gltf-binary",
"enclosureMode": "",
"assetCode": "PILOT-VEHICLE-0916",
"sourceAssetId": ""
}
],
"ready": 0
}

二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


+ 1676
- 0
reports/bridge-005-authoring-20260916/training-editor-roundtrip.json
文件差異過大導致無法顯示
查看文件


二進制
查看文件


+ 173
- 0
reports/bridge-005-new-model-20260917/audit.json 查看文件

@@ -0,0 +1,173 @@
{
"pass": true,
"time": "2026-09-17T14:35:31.975Z",
"fixture": {
"sceneId": "457",
"sceneVersionId": "551",
"trainingId": "458",
"mediaUploaded": true,
"trainingVersionId": "552",
"taskId": "116",
"taskStatus": "DRAFT",
"previewUrl": "/teaching/virtual-training/preview/116"
},
"model": "/models/bridge-erector-20260916.glb",
"sha256": "5993a52f55cf981fd7cb6113e346ff3c6b1f434bbd84f18232ab5af494d9ddca",
"targets": [
{
"sceneId": "front-pump-hydraulic-pump",
"interactionId": "front-pump-hydraulic-pump",
"sourceInteractionId": "front-pump-hydraulic-pump",
"editorId": "bridge-0916-node-92",
"nodePath": "0/46/0",
"sourceNodeName": "1_24柱塞泵3_05前泵3_08新泵",
"name": "液压泵",
"operable": true,
"capabilities": [
"select",
"inspect"
],
"visible": true,
"sceneDeleted": false
},
{
"sceneId": "front-pump-power-take-off",
"interactionId": "front-pump-power-take-off",
"sourceInteractionId": "front-pump-power-take-off",
"editorId": "bridge-0916-node-80",
"nodePath": "0/40/0",
"sourceNodeName": "1_25取力器",
"name": "取力器",
"operable": true,
"capabilities": [
"select",
"inspect"
],
"visible": true,
"sceneDeleted": false
},
{
"sceneId": "front-pump-pto-switch",
"interactionId": "front-pump-pto-switch",
"sourceInteractionId": "front-pump-pto-switch",
"editorId": "bridge-0916-node-82",
"nodePath": "0/41/0",
"sourceNodeName": "1_25和1_27和2_03和2_08取力器开关",
"name": "取力器开关",
"operable": true,
"capabilities": [
"select",
"inspect",
"mechanism"
],
"visible": true,
"sceneDeleted": false
},
{
"sceneId": "front-pump-ball-valve-switch",
"interactionId": "front-pump-ball-valve-switch",
"sourceInteractionId": "front-pump-ball-valve-switch",
"editorId": "bridge-0916-node-96",
"nodePath": "0/48/0",
"sourceNodeName": "1_26球阀开关",
"name": "球阀开关",
"operable": true,
"capabilities": [
"select",
"inspect",
"mechanism"
],
"visible": true,
"sceneDeleted": false
},
{
"sceneId": "front-pump-aux-control-box",
"interactionId": "front-pump-aux-control-box",
"sourceInteractionId": "front-pump-aux-control-box",
"editorId": "bridge-0916-node-84",
"nodePath": "0/42/0",
"sourceNodeName": "1_28辅助控制盒内",
"name": "辅助控制盒",
"operable": true,
"capabilities": [
"select",
"inspect"
],
"visible": true,
"sceneDeleted": false
},
{
"sceneId": "front-pump-aux-control-box-cover",
"interactionId": "front-pump-aux-control-box-cover",
"sourceInteractionId": "front-pump-aux-control-box-cover",
"editorId": "bridge-0916-node-78",
"nodePath": "0/39/0",
"sourceNodeName": "1_28辅助控制盒盖",
"name": "辅助控制盒盖",
"operable": true,
"capabilities": [
"select",
"inspect",
"mechanism"
],
"visible": true,
"sceneDeleted": false
},
{
"sceneId": "front-pump-rescue-switch",
"interactionId": "front-pump-rescue-switch",
"sourceInteractionId": "front-pump-rescue-switch",
"editorId": "bridge-0916-node-86",
"nodePath": "0/43/0",
"sourceNodeName": "1_28和2_06互救开关",
"name": "互救开关",
"operable": true,
"capabilities": [
"select",
"inspect",
"mechanism"
],
"visible": true,
"sceneDeleted": false
}
],
"originals": [
{
"id": "86",
"code": "TASK-VIRTUAL-005",
"versionId": "533",
"unchanged": true
},
{
"id": "87",
"code": "TASK-VIRTUAL-006",
"versionId": "534",
"unchanged": true
},
{
"id": "88",
"code": "TASK-VIRTUAL-007",
"versionId": "535",
"unchanged": true
},
{
"id": "89",
"code": "TASK-VIRTUAL-008",
"versionId": "536",
"unchanged": true
}
],
"grounding": {
"samples": 446,
"minGap": 3.3306690738754696e-16,
"maxGap": 0.001553249851667493
},
"media": {
"width": 480,
"height": 640,
"duration": 4.96,
"currentTime": 0.012008
},
"steps": 5,
"operations": 6
}

+ 2318
- 0
reports/bridge-005-new-model-20260917/before-116.json
文件差異過大導致無法顯示
查看文件


+ 656
- 0
reports/bridge-005-new-model-20260917/before-457.json 查看文件

@@ -0,0 +1,656 @@
{
"project": {
"id": "457",
"type": "SCENE",
"code": "SCENE-EBC79290EA954BBC",
"name": "005 液压泵应急切换(编排验证)",
"description": "独立验证工程;不替换 TASK-VIRTUAL-005 及其发布版本。",
"categoryCode": "MAINTENANCE",
"trainingMode": "",
"coverUri": "fsvc://unreal-tran/image/2026/09/16/e660ee4fc97512fbc4f155b71f6dbeb4.jpg",
"status": "PUBLISHED",
"ownerUserId": "99",
"ownerName": "内部维护",
"departmentId": "1",
"currentVersionId": "544",
"currentVersionNo": 4,
"currentVersionCode": "V4.0.0",
"publishedVersionId": "544",
"publishedTime": 1789567749,
"usageCount": 1,
"version": 13,
"addTime": 1789566525,
"updateTime": "2026-09-17T01:09:37",
"contentSummary": {
"schema": "edit3dv4.scene",
"sceneType": "OUTDOOR",
"environmentName": "野外保障、抢修与多装备协同",
"objectCount": 2
},
"currentVersionStatus": "PUBLISHED",
"dependencyCount": 0,
"assetCount": 3,
"readCount": 0,
"downloadCount": 0
},
"currentVersion": {
"id": "544",
"projectId": "457",
"versionNo": 4,
"versionCode": "V4.0.0",
"status": "PUBLISHED",
"content": {
"schema": "edit3dv4.scene",
"version": "1.5",
"templateRevision": 1,
"presetId": "outdoor-1",
"name": "室外综合训练场",
"type": "outdoor",
"updatedAt": "2026-09-16T14:09:08.354Z",
"environment": {
"schema": "edit3dv4.scene-environment",
"version": "1.0",
"presetId": "outdoor-1",
"type": "outdoor",
"floorOnly": false,
"useModelFloor": false
},
"rendering": {
"schema": "edit3dv4.scene-rendering",
"version": "1.0",
"background": 11062241,
"fog": {
"color": 11062241,
"near": 34,
"far": 88
},
"toneMappingExposure": 1.05,
"environment": {
"type": "room",
"sigma": 0.04
},
"camera": {
"fov": 45,
"near": 0.05,
"far": 800,
"position": [
7.138234886169582,
3.695554761077557,
7.955160424286649
],
"target": [
2.220446049250313e-16,
0.9835682527980127,
0
]
},
"lights": {
"hemisphere": {
"skyColor": 15594743,
"groundColor": 6910582,
"intensity": 1.45
},
"directional": {
"color": 16777215,
"intensity": 2,
"position": [
12,
18,
10
],
"castShadow": true,
"shadowMapSize": 2048,
"shadowBounds": 82
}
}
},
"objects": [
{
"sceneId": "ENV-outdoor-1",
"type": "scene-environment",
"name": "室外基础环境",
"deviceId": "",
"modelId": "",
"semantic": "环境设施",
"assetRole": "environment-base",
"builtinAssetId": "outdoor-1",
"interactionId": "",
"operable": false,
"capabilities": [],
"visible": true,
"position": [
0,
0,
0
],
"rotation": [
0,
0,
0
],
"scale": [
1,
1,
1
],
"environmentDescriptor": {
"schema": "edit3dv4.scene-environment",
"version": "1.0",
"presetId": "outdoor-1",
"type": "outdoor",
"floorOnly": false,
"useModelFloor": false
}
},
{
"sceneId": "front-pump-training-yard",
"type": "imported",
"name": "野外山地训练场",
"deviceId": "front-pump-training-yard",
"modelId": "front-pump-field-terrain",
"semantic": "环境地形",
"assetRole": "environment",
"builtinAssetId": "front-pump-field-terrain",
"modelEditorAssetId": "",
"modelEditorModelId": "",
"modelEditorRevision": 0,
"modelOverrides": {},
"materialPreset": null,
"modelPartTargets": [],
"partOverrides": {},
"interactionId": "scene:front-pump-training-yard",
"operable": false,
"capabilities": [
"select",
"inspect"
],
"sourceNodeName": "",
"splitGroupId": "",
"visible": true,
"position": [
-3.1597256741842212,
10.30528511389146,
-40.10715876774236
],
"rotation": [
0,
0,
0
],
"scale": [
1.7159231079037875,
1.7159231079037875,
1.7159231079037875
],
"assetKey": "",
"resourceUrl": "/models/地形.glb",
"sourceName": "地形.glb",
"sizeBytes": 0,
"mimeType": "model/gltf-binary",
"enclosureMode": "",
"assetCode": "PILOT-TERRAIN",
"sourceAssetId": ""
},
{
"sceneId": "front-pump-rescue-vehicle",
"type": "imported",
"name": "架桥车前泵互救操作整车模型",
"deviceId": "front-pump-rescue-vehicle",
"modelId": "front-pump-step-vehicle",
"semantic": "实训装备",
"assetRole": "equipment",
"builtinAssetId": "front-pump-step-vehicle",
"modelEditorAssetId": "content-scene-BRIDGE-005-AUTHORING-PILOT-SCENE-front-pump-rescue-vehicle",
"modelEditorModelId": "front-pump-step-vehicle",
"modelEditorRevision": 0,
"modelOverrides": {},
"materialPreset": null,
"modelPartTargets": [
{
"sceneId": "front-pump-hydraulic-pump",
"interactionId": "front-pump-hydraulic-pump",
"sourceInteractionId": "front-pump-hydraulic-pump",
"editorId": "model-front-pump-step-vehicle-41",
"nodePath": "0/6/0",
"sourceNodeName": "1液压泵",
"name": "液压泵",
"operable": true,
"capabilities": [
"select",
"inspect"
],
"visible": true,
"sceneDeleted": false
},
{
"sceneId": "front-pump-power-take-off",
"interactionId": "front-pump-power-take-off",
"sourceInteractionId": "front-pump-power-take-off",
"editorId": "model-front-pump-step-vehicle-22",
"nodePath": "0/2/0",
"sourceNodeName": "2取力器",
"name": "取力器",
"operable": true,
"capabilities": [
"select",
"inspect"
],
"visible": true,
"sceneDeleted": false
},
{
"sceneId": "front-pump-pto-switch",
"interactionId": "front-pump-pto-switch",
"sourceInteractionId": "front-pump-pto-switch",
"editorId": "model-front-pump-step-vehicle-26",
"nodePath": "0/3/0",
"sourceNodeName": "2取力器开关",
"name": "取力器开关",
"operable": true,
"capabilities": [
"select",
"inspect",
"mechanism"
],
"visible": true,
"sceneDeleted": false
},
{
"sceneId": "front-pump-ball-valve-switch",
"interactionId": "front-pump-ball-valve-switch",
"sourceInteractionId": "front-pump-ball-valve-switch",
"editorId": "model-front-pump-step-vehicle-53",
"nodePath": "0/12/0",
"sourceNodeName": "3球阀开关",
"name": "球阀开关",
"operable": true,
"capabilities": [
"select",
"inspect",
"mechanism"
],
"visible": true,
"sceneDeleted": false
},
{
"sceneId": "front-pump-aux-control-box",
"interactionId": "front-pump-aux-control-box",
"sourceInteractionId": "front-pump-aux-control-box",
"editorId": "model-front-pump-step-vehicle-32",
"nodePath": "0/5/0",
"sourceNodeName": "5辅助控制盒",
"name": "辅助控制盒",
"operable": true,
"capabilities": [
"select",
"inspect"
],
"visible": true,
"sceneDeleted": false
},
{
"sceneId": "front-pump-aux-control-box-cover",
"interactionId": "front-pump-aux-control-box-cover",
"sourceInteractionId": "front-pump-aux-control-box-cover",
"editorId": "model-front-pump-step-vehicle-20",
"nodePath": "0/1/0",
"sourceNodeName": "5辅助控制盒盖",
"name": "辅助控制盒盖",
"operable": true,
"capabilities": [
"select",
"inspect",
"mechanism"
],
"visible": true,
"sceneDeleted": false
},
{
"sceneId": "front-pump-rescue-switch",
"interactionId": "front-pump-rescue-switch",
"sourceInteractionId": "front-pump-rescue-switch",
"editorId": "model-front-pump-step-vehicle-30",
"nodePath": "0/4/0",
"sourceNodeName": "5互救开关",
"name": "互救开关",
"operable": true,
"capabilities": [
"select",
"inspect",
"mechanism"
],
"visible": true,
"sceneDeleted": false
}
],
"partOverrides": {
"front-pump-hydraulic-pump": {
"sceneId": "front-pump-hydraulic-pump",
"interactionId": "front-pump-hydraulic-pump",
"sourceInteractionId": "front-pump-hydraulic-pump",
"editorId": "model-front-pump-step-vehicle-41",
"nodePath": "0/6/0",
"sourceNodeName": "1液压泵",
"name": "液压泵",
"position": [
0,
0,
0
],
"rotation": [
0,
0,
0
],
"scale": [
0.01,
0.01,
0.01
],
"visible": true,
"sceneDeleted": false,
"operable": true,
"capabilities": [
"select",
"inspect"
]
},
"front-pump-power-take-off": {
"sceneId": "front-pump-power-take-off",
"interactionId": "front-pump-power-take-off",
"sourceInteractionId": "front-pump-power-take-off",
"editorId": "model-front-pump-step-vehicle-22",
"nodePath": "0/2/0",
"sourceNodeName": "2取力器",
"name": "取力器",
"position": [
0,
0,
0
],
"rotation": [
0,
0,
0
],
"scale": [
0.01,
0.01,
0.01
],
"visible": true,
"sceneDeleted": false,
"operable": true,
"capabilities": [
"select",
"inspect"
]
},
"front-pump-pto-switch": {
"sceneId": "front-pump-pto-switch",
"interactionId": "front-pump-pto-switch",
"sourceInteractionId": "front-pump-pto-switch",
"editorId": "model-front-pump-step-vehicle-26",
"nodePath": "0/3/0",
"sourceNodeName": "2取力器开关",
"name": "取力器开关",
"position": [
0,
0,
0
],
"rotation": [
0,
0,
0
],
"scale": [
0.01,
0.01,
0.01
],
"visible": true,
"sceneDeleted": false,
"operable": true,
"capabilities": [
"select",
"inspect",
"mechanism"
]
},
"front-pump-ball-valve-switch": {
"sceneId": "front-pump-ball-valve-switch",
"interactionId": "front-pump-ball-valve-switch",
"sourceInteractionId": "front-pump-ball-valve-switch",
"editorId": "model-front-pump-step-vehicle-53",
"nodePath": "0/12/0",
"sourceNodeName": "3球阀开关",
"name": "球阀开关",
"position": [
0,
0,
0
],
"rotation": [
0,
0,
0
],
"scale": [
0.01,
0.01,
0.01
],
"visible": true,
"sceneDeleted": false,
"operable": true,
"capabilities": [
"select",
"inspect",
"mechanism"
]
},
"front-pump-aux-control-box": {
"sceneId": "front-pump-aux-control-box",
"interactionId": "front-pump-aux-control-box",
"sourceInteractionId": "front-pump-aux-control-box",
"editorId": "model-front-pump-step-vehicle-32",
"nodePath": "0/5/0",
"sourceNodeName": "5辅助控制盒",
"name": "辅助控制盒",
"position": [
0,
0,
0
],
"rotation": [
0,
0,
0
],
"scale": [
0.01,
0.01,
0.01
],
"visible": true,
"sceneDeleted": false,
"operable": true,
"capabilities": [
"select",
"inspect"
]
},
"front-pump-aux-control-box-cover": {
"sceneId": "front-pump-aux-control-box-cover",
"interactionId": "front-pump-aux-control-box-cover",
"sourceInteractionId": "front-pump-aux-control-box-cover",
"editorId": "model-front-pump-step-vehicle-20",
"nodePath": "0/1/0",
"sourceNodeName": "5辅助控制盒盖",
"name": "辅助控制盒盖",
"position": [
0,
0,
0
],
"rotation": [
0,
0,
0
],
"scale": [
0.01,
0.01,
0.01
],
"visible": true,
"sceneDeleted": false,
"operable": true,
"capabilities": [
"select",
"inspect",
"mechanism"
]
},
"front-pump-rescue-switch": {
"sceneId": "front-pump-rescue-switch",
"interactionId": "front-pump-rescue-switch",
"sourceInteractionId": "front-pump-rescue-switch",
"editorId": "model-front-pump-step-vehicle-30",
"nodePath": "0/4/0",
"sourceNodeName": "5互救开关",
"name": "互救开关",
"position": [
0,
0,
0
],
"rotation": [
0,
0,
0
],
"scale": [
0.01,
0.01,
0.01
],
"visible": true,
"sceneDeleted": false,
"operable": true,
"capabilities": [
"select",
"inspect",
"mechanism"
]
}
},
"interactionId": "scene:front-pump-rescue-vehicle",
"operable": false,
"capabilities": [
"select",
"inspect"
],
"sourceNodeName": "Group",
"splitGroupId": "",
"visible": true,
"position": [
1.5698558846140135e-16,
0.6112875194820317,
0.13180482636746585
],
"rotation": [
3.0865583248298285e-17,
-3.96331642134641e-33,
-2.568113739801058e-16
],
"scale": [
0.9715696607300419,
0.9715696607300419,
0.9715696607300419
],
"assetKey": "",
"resourceUrl": "/models/步骤模型.glb",
"sourceName": "步骤模型.glb",
"sizeBytes": 0,
"mimeType": "model/gltf-binary",
"enclosureMode": "",
"assetCode": "PILOT-VEHICLE",
"sourceAssetId": ""
}
],
"apiManaged": true,
"sceneType": "OUTDOOR",
"objectCount": 3,
"environmentName": "野外保障、抢修与多装备协同"
},
"changeSummary": "",
"checksum": "1783a564084e83cf1919c7e9a2f58f6a7830cd9038c88d8bbc97838a51a04e53",
"createdByUserId": "99",
"createdByName": "内部维护",
"publishedByUserId": "99",
"publishedByName": "内部维护",
"publishedTime": 1789567749,
"version": 3,
"addTime": 1789567748,
"updateTime": "2026-09-16T22:09:09",
"dependencies": [],
"assets": [
{
"id": "4223",
"versionId": "544",
"code": "PILOT-TERRAIN",
"name": "PILOT-TERRAIN",
"type": "MODEL_FILE",
"storageUri": "/models/地形.glb",
"mimeType": "model/gltf-binary",
"sizeBytes": 10726472,
"sha256": "fa71494be13ca2ef727031a8a0f2ac42da74bccefebb3b61c7d59489999f349e",
"metadata": {
"builtin": true
},
"status": "READY",
"sortOrder": 0
},
{
"id": "4224",
"versionId": "544",
"code": "PILOT-VEHICLE",
"name": "PILOT-VEHICLE",
"type": "MODEL_FILE",
"storageUri": "/models/步骤模型.glb",
"mimeType": "model/gltf-binary",
"sizeBytes": 32195288,
"sha256": "e1ee2ff78956d68d224d662552ed7bf18c02223bb741f0f8002def9842db8995",
"metadata": {
"builtin": true
},
"status": "READY",
"sortOrder": 0
},
{
"id": "4225",
"versionId": "544",
"code": "SCENE_COVER",
"name": "场景画面封面",
"type": "IMAGE",
"storageUri": "fsvc://unreal-tran/image/2026/09/16/e660ee4fc97512fbc4f155b71f6dbeb4.jpg",
"mimeType": "image/jpeg",
"sizeBytes": 39227,
"sha256": "0d2857905f830c320e9c7c3bc33f4d0a56b22ca501eeb073b3f67258fa49d45e",
"metadata": {
"usage": "scene-cover",
"source": "scene-editor-viewport",
"originalFilename": "scene-cover.jpg",
"format": "JPEG",
"width": 640,
"height": 496,
"integrity": "sha256"
},
"status": "READY",
"sortOrder": 2
}
]
}
}

+ 2489
- 0
reports/bridge-005-new-model-20260917/before-458.json
文件差異過大導致無法顯示
查看文件


+ 1
- 0
reports/bridge-005-new-model-20260917/index.html 查看文件

@@ -0,0 +1 @@
<!doctype html><html lang="zh-CN"><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>005 新模型验收</title><style>body{font:16px/1.7 system-ui;color:#173f39;background:#f3f8f6;max-width:1200px;margin:32px auto;padding:0 24px}section{background:white;border:1px solid #d5e6df;border-radius:12px;padding:24px;margin:20px 0}img{width:100%;border-radius:8px}a{color:#087f70}li{margin:8px 0}</style><h1>005 新版架桥车:替换与完整流程验收</h1><p>2026-09-17T14:35:31.975Z · 本地与局域网 · 管理员教员预览</p><section><h2>结果</h2><p>已替换为 0916架桥车.glb,七个目标全部重新绑定。五步六个动作、真实鼠标拖拽、服务端预览校验、数字人视频与语音回退通过。前端构建和新模型几何测试通过。</p><p>新增场景资产保留了原运行中的平整作业区,移除重复的基础地面;车轮贴地检查通过。盖板沿新版铰链向外开启,互救手柄向上拨动。</p><p>验证任务 116 保持草稿。原四个已发布任务的完整数据逐项对比一致,旧版 005 的完整流程回归通过。未切换原学员任务,未验证新增学员成绩。</p><ul><li><a href="http://127.0.0.1:6180/teaching/virtual-training/preview/116">打开新版 005 预览</a></li><li><a href="http://127.0.0.1:6180/content/scenes/457/edit">场景制作</a>(发布版本 551)</li><li><a href="http://127.0.0.1:6180/content/training-projects/458/legacy">训练编排</a>(发布版本 552)</li><li><a href="audit.json">模型、版本、贴地与原任务核对</a></li><li><a href="runtime-final-lan.json">局域网操作证据</a> / <a href="original-005-regression.json">原 005 回归</a></li></ul></section><section><h2>新版整车</h2><img src="task-116-initial.png"></section><section><h2>球阀操作</h2><img src="task-116-step-3.png"></section><section><h2>开盖与互救开关</h2><img src="task-116-step-5.png"></section><section><h2>场景制作与训练编排</h2><img src="scene-editor.png"><img src="training-editor.png"></section></html>

+ 138
- 0
reports/bridge-005-new-model-20260917/mapping.json 查看文件

@@ -0,0 +1,138 @@
{
"source": "0916架桥车.glb",
"sha256": "5993a52f55cf981fd7cb6113e346ff3c6b1f434bbd84f18232ab5af494d9ddca",
"resourceUrl": "/models/bridge-erector-20260916.glb",
"sceneVersionId": "549",
"map": {
"1液压泵": "1_24柱塞泵3_05前泵3_08新泵",
"2取力器": "1_25取力器",
"2取力器开关": "1_25和1_27和2_03和2_08取力器开关",
"3球阀开关": "1_26球阀开关",
"5辅助控制盒": "1_28辅助控制盒内",
"5辅助控制盒盖": "1_28辅助控制盒盖",
"5互救开关": "1_28和2_06互救开关"
},
"targets": [
{
"sceneId": "front-pump-hydraulic-pump",
"interactionId": "front-pump-hydraulic-pump",
"sourceInteractionId": "front-pump-hydraulic-pump",
"editorId": "bridge-0916-node-92",
"nodePath": "0/46/0",
"sourceNodeName": "1_24柱塞泵3_05前泵3_08新泵",
"name": "液压泵",
"operable": true,
"capabilities": [
"select",
"inspect"
],
"visible": true,
"sceneDeleted": false
},
{
"sceneId": "front-pump-power-take-off",
"interactionId": "front-pump-power-take-off",
"sourceInteractionId": "front-pump-power-take-off",
"editorId": "bridge-0916-node-80",
"nodePath": "0/40/0",
"sourceNodeName": "1_25取力器",
"name": "取力器",
"operable": true,
"capabilities": [
"select",
"inspect"
],
"visible": true,
"sceneDeleted": false
},
{
"sceneId": "front-pump-pto-switch",
"interactionId": "front-pump-pto-switch",
"sourceInteractionId": "front-pump-pto-switch",
"editorId": "bridge-0916-node-82",
"nodePath": "0/41/0",
"sourceNodeName": "1_25和1_27和2_03和2_08取力器开关",
"name": "取力器开关",
"operable": true,
"capabilities": [
"select",
"inspect",
"mechanism"
],
"visible": true,
"sceneDeleted": false
},
{
"sceneId": "front-pump-ball-valve-switch",
"interactionId": "front-pump-ball-valve-switch",
"sourceInteractionId": "front-pump-ball-valve-switch",
"editorId": "bridge-0916-node-96",
"nodePath": "0/48/0",
"sourceNodeName": "1_26球阀开关",
"name": "球阀开关",
"operable": true,
"capabilities": [
"select",
"inspect",
"mechanism"
],
"visible": true,
"sceneDeleted": false
},
{
"sceneId": "front-pump-aux-control-box",
"interactionId": "front-pump-aux-control-box",
"sourceInteractionId": "front-pump-aux-control-box",
"editorId": "bridge-0916-node-84",
"nodePath": "0/42/0",
"sourceNodeName": "1_28辅助控制盒内",
"name": "辅助控制盒",
"operable": true,
"capabilities": [
"select",
"inspect"
],
"visible": true,
"sceneDeleted": false
},
{
"sceneId": "front-pump-aux-control-box-cover",
"interactionId": "front-pump-aux-control-box-cover",
"sourceInteractionId": "front-pump-aux-control-box-cover",
"editorId": "bridge-0916-node-78",
"nodePath": "0/39/0",
"sourceNodeName": "1_28辅助控制盒盖",
"name": "辅助控制盒盖",
"operable": true,
"capabilities": [
"select",
"inspect",
"mechanism"
],
"visible": true,
"sceneDeleted": false
},
{
"sceneId": "front-pump-rescue-switch",
"interactionId": "front-pump-rescue-switch",
"sourceInteractionId": "front-pump-rescue-switch",
"editorId": "bridge-0916-node-86",
"nodePath": "0/43/0",
"sourceNodeName": "1_28和2_06互救开关",
"name": "互救开关",
"operable": true,
"capabilities": [
"select",
"inspect",
"mechanism"
],
"visible": true,
"sceneDeleted": false
}
],
"position": [
1.5698558846140135e-16,
0.00012730681329620186,
0.13180482636746585
]
}

+ 454
- 0
reports/bridge-005-new-model-20260917/original-005-regression.json 查看文件

@@ -0,0 +1,454 @@
{
"pass": true,
"checks": [
{
"name": "task 86 first view",
"state": {
"id": "front-pump-hydraulic-pump",
"step": 0,
"operation": 0,
"errors": 0,
"complete": false,
"pending": false,
"grounding": null,
"modelSources": [
{
"name": "地形.glb",
"url": "/models/地形.glb"
},
{
"name": "步骤模型.glb",
"url": "/models/步骤模型.glb"
}
],
"hdr": "venice_sunset_1k",
"distance": 11.052363924053688,
"zoom": 1,
"exposure": 1,
"light": [
0.8,
1.4
],
"screen": {
"x": 937.1159093565705,
"y": 510.8943121357542,
"localX": 678.1159093565705,
"localY": 322.3943121357542,
"visible": true
},
"bounds": [
0.10935024518472723,
0.13537492625037484,
0.19723593501664283
],
"projected": {
"x": 670.919240275776,
"y": 316.01579133562,
"w": 14.309325962616413,
"h": 12.873100207788639
},
"pivot": [
-0.12817655929936847,
0.6146985381013499,
1.6466816717666437
],
"pickPoints": [],
"freePoints": [],
"tip": null,
"front": [
6.098689649701348e-32,
2.5291018817332963e-16,
-1
],
"workflowCoverage": [
{
"name": "front-pump-hydraulic-pump",
"glowing": true
},
{
"name": "front-pump-pto-switch",
"glowing": true
},
{
"name": "front-pump-ball-valve-switch",
"glowing": true
},
{
"name": "front-pump-aux-control-box-cover",
"glowing": true
},
{
"name": "front-pump-rescue-switch",
"glowing": true
}
],
"camera": [
6.688026389433602,
3.8228247388783156,
8.328485692502216
],
"target": [
2.220446049250313e-16,
0.9835682527980127,
0
],
"outline": 1,
"cutaway": 0,
"materials": [
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
}
],
"labels": [
{
"text": "聚焦 · 液压泵",
"x": 881.0625,
"y": 533.375,
"w": 112,
"h": 30,
"id": "front-pump-hydraulic-pump"
}
],
"narration": [
{
"video": true,
"fallback": true
},
{
"video": true,
"fallback": true
},
{
"video": true,
"fallback": true
},
{
"video": true,
"fallback": true
},
{
"video": true,
"fallback": true
}
],
"operationData": {
"targetId": "front-pump-hydraulic-pump",
"axis": [
0,
1,
0
],
"toleranceDegrees": 6,
"directionHint": "点击并确认发生故障的液压泵",
"index": 0,
"kind": "identify",
"deltaDegrees": 0
},
"position": [
0,
0,
0
],
"quaternion": [
0,
0,
0,
1
]
}
},
{
"name": "task 86 step 1 operation 1",
"target": "front-pump-hydraulic-pump",
"drag": false,
"distance": 2.5322004355743606,
"projected": {
"x": 705.1374098658791,
"y": 222.81006115045116,
"w": 91.72518026824184,
"h": 113.44868046645237
},
"labels": 3
},
{
"name": "task 86 internal target inspected with explicit translucent tool",
"targetId": "front-pump-pto-switch",
"pass": true
},
{
"name": "task 86 step 2 operation 1",
"target": "front-pump-pto-switch",
"drag": true,
"distance": 2.532200435574361,
"projected": {
"x": 709.0006218750913,
"y": 263.03238137674134,
"w": 83.99875624981757,
"h": 33.023591730971475
},
"labels": 2
},
{
"name": "task 86 step 3 operation 1",
"target": "front-pump-ball-valve-switch",
"drag": true,
"distance": 2.532200435574361,
"projected": {
"x": 742.9515028622343,
"y": 259.69721416379815,
"w": 16.096994275529482,
"h": 40.44894573262036
},
"labels": 4
},
{
"name": "task 86 step 4 operation 1",
"target": "front-pump-pto-switch",
"drag": true,
"distance": 2.532200435574361,
"projected": {
"x": 706.5903063366927,
"y": 244.5697698769074,
"w": 88.81938732661342,
"h": 69.87239851232039
},
"labels": 2
},
{
"name": "task 86 step 5 operation 1",
"target": "front-pump-aux-control-box-cover",
"drag": true,
"distance": 2.532200435574361,
"projected": {
"x": 699.1228274926349,
"y": 249.2085662189188,
"w": 103.7543450147308,
"h": 60.65167032951712
},
"labels": 4
},
{
"name": "task 86 step 5 operation 2",
"target": "front-pump-rescue-switch",
"drag": true,
"distance": 2.532200435574361,
"projected": {
"x": 748.0136091802624,
"y": 276.397277651574,
"w": 5.972781639476352,
"h": 6.274247464206724
},
"labels": 4
}
],
"errors": [],
"writes": [
"http://127.0.0.1:6180/api/tran/v1/teaching/assignments/86/preview/validate",
"http://127.0.0.1:6180/api/tran/v1/teaching/assignments/86/preview/validate",
"http://127.0.0.1:6180/api/tran/v1/teaching/assignments/86/preview/validate",
"http://127.0.0.1:6180/api/tran/v1/teaching/assignments/86/preview/validate",
"http://127.0.0.1:6180/api/tran/v1/teaching/assignments/86/preview/validate"
]
}

+ 998
- 0
reports/bridge-005-new-model-20260917/runtime-final-lan.json
文件差異過大導致無法顯示
查看文件


+ 998
- 0
reports/bridge-005-new-model-20260917/runtime.json
文件差異過大導致無法顯示
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


+ 1000
- 0
reports/bridge-005-preparation-state-20260917/after-fix.json
文件差異過大導致無法顯示
查看文件


+ 1829
- 0
reports/bridge-005-preparation-state-20260917/before-fix.json
文件差異過大導致無法顯示
查看文件


二進制
查看文件


+ 21
- 0
reports/bridge-005-preparation-state-20260917/index.html 查看文件

@@ -0,0 +1,21 @@
<!doctype html>
<html lang="zh-CN"><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1">
<title>005 操作准备与盒盖状态回归</title>
<style>body{font:16px/1.7 system-ui;max-width:1100px;margin:32px auto;padding:0 20px;color:#153b37}img{max-width:100%;border:1px solid #c9dfda}code{background:#edf4f2;padding:2px 5px}a{color:#087d69}</style>
<h1>005 操作准备与盒盖状态回归</h1>
<p>环境:本地 127.0.0.1:6180、局域网 192.168.31.168:6180,现有 /api 网关代理。账号类型:管理员,教员预览。</p>
<p>原因:准备校验失败会恢复模型,但未恢复当前步骤已完成的机构动作。005 没有补充操作台,原恢复逻辑因此跳过了已打开的盒盖。</p>
<p>修复:恢复当前步骤已完成的动作不再依赖补充操作台。拒绝末项操作时,仅回退该项动作,保留开盖状态和动作进度。</p>
<ul>
<li><a href="before-fix.json">修复前:真实鼠标操作复现失败</a>,盒盖从打开 100° 复位为关闭。</li>
<li><a href="after-fix.json">修复后:新模型任务 116 全流程</a>。开盖后触发准备提示,校验已开盖姿态、开关回退、操作序号及证据数量;连续保存两次后,真实拖动开关完成第 5 步。</li>
<li><a href="original-005-regression.json">原有任务 86 全流程回归</a>,五步、六项交互,任务版本及定义快照保持不变。</li>
<li><a href="lan-smoke.json">局域网预览检查</a>。</li>
</ul>
<p>执行:<code>node tools/bridge-controls-live.mjs</code>,新任务启用 <code>TASK_IDS=116 EXECUTE=1 PREPARE_SAFETY=1 LATE_PREPARATION=1 MANUAL_OCCLUSION_TOOLS=1</code>;原有任务设置 <code>TASK_IDS=86</code>,不启用 LATE_PREPARATION(原任务没有该准备拦截)。</p>
<p>前端验证:<code>node scripts/virtual-training-formal-route.contract.test.mjs</code>、<code>pnpm run build</code>。本次没有创建任务、发布新版本或写入学员成绩;预览准备信息仅用于本次预览,测试只留下本目录报告与截图。</p>
<h2>保存准备后,盒盖保持打开</h2>
<img src="task-116-late-preparation-lid-open.png" alt="保存准备后盒盖仍打开,互救开关可见">
<h2>继续操作互救开关,完成第 5 步</h2>
<img src="task-116-step-5.png" alt="新模型第5步已完成">
</html>

+ 899
- 0
reports/bridge-005-preparation-state-20260917/lan-smoke.json 查看文件

@@ -0,0 +1,899 @@
{
"pass": true,
"checks": [
{
"name": "task 116 first view",
"state": {
"id": "front-pump-hydraulic-pump",
"step": 0,
"operation": 0,
"errors": 0,
"complete": false,
"pending": false,
"lid": {
"position": [
0,
0,
0
],
"quaternion": [
0,
0,
0,
1
]
},
"evidenceCount": 0,
"grounding": null,
"modelSources": [
{
"name": "terrain-005-20260917.glb",
"url": "/models/terrain-005-20260917.glb"
},
{
"name": "0916架桥车.glb",
"url": "/models/bridge-erector-20260916.glb"
}
],
"hdr": "venice_sunset_1k",
"distance": 11.026959938593922,
"zoom": 1,
"exposure": 1,
"light": [
0.8,
1.4
],
"screen": {
"x": 933.2020303264042,
"y": 508.95441504276926,
"localX": 674.2020303264042,
"localY": 320.45441504276926,
"visible": true
},
"bounds": [
0.10935033827385107,
0.13537495848346393,
0.1972360067697554
],
"projected": {
"x": 666.91484191321,
"y": 314.1958643764656,
"w": 14.498500962929938,
"h": 12.630497316989477
},
"pivot": [
-0.12817634914491466,
0.6152234412401882,
1.6466822177405493
],
"pickPoints": [
{
"x": 933.164092394675,
"y": 509.0111130349603
},
{
"x": 930.9893172502354,
"y": 509.0111130349603
},
{
"x": 935.3388675391145,
"y": 509.0111130349603
},
{
"x": 928.814542105796,
"y": 509.0111130349603
},
{
"x": 937.5136426835539,
"y": 509.0111130349603
},
{
"x": 933.164092394675,
"y": 507.1165384374119
},
{
"x": 930.9893172502354,
"y": 507.1165384374119
},
{
"x": 935.3388675391145,
"y": 507.1165384374119
},
{
"x": 933.164092394675,
"y": 510.9056876325087
},
{
"x": 930.9893172502354,
"y": 510.9056876325087
},
{
"x": 935.3388675391145,
"y": 510.9056876325087
},
{
"x": 928.814542105796,
"y": 510.9056876325087
},
{
"x": 935.3388675391145,
"y": 505.22196383986346
},
{
"x": 933.164092394675,
"y": 512.8002622300571
},
{
"x": 930.9893172502354,
"y": 512.8002622300571
},
{
"x": 928.814542105796,
"y": 512.8002622300571
}
],
"freePoints": [],
"tip": null,
"front": [
4.7683715820306587e-7,
1.629206909017054e-7,
-0.9999999999998731
],
"workflowCoverage": [
{
"name": "front-pump-hydraulic-pump",
"glowing": true
},
{
"name": "front-pump-pto-switch",
"glowing": true
},
{
"name": "front-pump-ball-valve-switch",
"glowing": true
},
{
"name": "front-pump-aux-control-box-cover",
"glowing": true
},
{
"name": "front-pump-rescue-switch",
"glowing": true
}
],
"camera": [
7.138234886169582,
3.695554761077557,
7.955160424286649
],
"target": [
2.220446049250313e-16,
0.9835682527980127,
0
],
"outline": 1,
"cutaway": 0,
"materials": [
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
}
],
"labels": [
{
"text": "聚焦 · 液压泵",
"x": 877.15625,
"y": 531.3125,
"w": 112,
"h": 30,
"id": "front-pump-hydraulic-pump"
}
],
"narration": [
{
"video": true,
"fallback": true
},
{
"video": true,
"fallback": true
},
{
"video": true,
"fallback": true
},
{
"video": true,
"fallback": true
},
{
"video": true,
"fallback": true
}
],
"operationData": {
"targetId": "front-pump-hydraulic-pump",
"axis": [
0,
1,
0
],
"toleranceDegrees": 6,
"directionHint": "点击并确认发生故障的液压泵",
"index": 0,
"kind": "identify",
"deltaDegrees": 0
},
"position": [
0,
0,
0
],
"quaternion": [
0,
0,
0,
1
]
}
}
],
"errors": [],
"writes": []
}

+ 468
- 0
reports/bridge-005-preparation-state-20260917/original-005-regression.json 查看文件

@@ -0,0 +1,468 @@
{
"pass": true,
"checks": [
{
"name": "task 86 first view",
"state": {
"id": "front-pump-hydraulic-pump",
"step": 0,
"operation": 0,
"errors": 0,
"complete": false,
"pending": false,
"lid": {
"position": [
0,
0,
0
],
"quaternion": [
0,
0,
0,
1
]
},
"evidenceCount": 0,
"grounding": null,
"modelSources": [
{
"name": "地形.glb",
"url": "/models/地形.glb"
},
{
"name": "步骤模型.glb",
"url": "/models/步骤模型.glb"
}
],
"hdr": "venice_sunset_1k",
"distance": 11.052363924053688,
"zoom": 1,
"exposure": 1,
"light": [
0.8,
1.4
],
"screen": {
"x": 937.1159093565705,
"y": 510.8943121357542,
"localX": 678.1159093565705,
"localY": 322.3943121357542,
"visible": true
},
"bounds": [
0.10935024518472723,
0.13537492625037484,
0.19723593501664283
],
"projected": {
"x": 670.919240275776,
"y": 316.01579133562,
"w": 14.309325962616413,
"h": 12.873100207788639
},
"pivot": [
-0.12817655929936847,
0.6146985381013499,
1.6466816717666437
],
"pickPoints": [],
"freePoints": [],
"tip": null,
"front": [
6.098689649701348e-32,
2.5291018817332963e-16,
-1
],
"workflowCoverage": [
{
"name": "front-pump-hydraulic-pump",
"glowing": true
},
{
"name": "front-pump-pto-switch",
"glowing": true
},
{
"name": "front-pump-ball-valve-switch",
"glowing": true
},
{
"name": "front-pump-aux-control-box-cover",
"glowing": true
},
{
"name": "front-pump-rescue-switch",
"glowing": true
}
],
"camera": [
6.688026389433602,
3.8228247388783156,
8.328485692502216
],
"target": [
2.220446049250313e-16,
0.9835682527980127,
0
],
"outline": 1,
"cutaway": 0,
"materials": [
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
},
{
"opacity": 1,
"baseline": 1,
"side": 2
}
],
"labels": [
{
"text": "聚焦 · 液压泵",
"x": 881.0625,
"y": 533.375,
"w": 112,
"h": 30,
"id": "front-pump-hydraulic-pump"
}
],
"narration": [
{
"video": true,
"fallback": true
},
{
"video": true,
"fallback": true
},
{
"video": true,
"fallback": true
},
{
"video": true,
"fallback": true
},
{
"video": true,
"fallback": true
}
],
"operationData": {
"targetId": "front-pump-hydraulic-pump",
"axis": [
0,
1,
0
],
"toleranceDegrees": 6,
"directionHint": "点击并确认发生故障的液压泵",
"index": 0,
"kind": "identify",
"deltaDegrees": 0
},
"position": [
0,
0,
0
],
"quaternion": [
0,
0,
0,
1
]
}
},
{
"name": "task 86 step 1 operation 1",
"target": "front-pump-hydraulic-pump",
"drag": false,
"distance": 2.5322004355743606,
"projected": {
"x": 705.1374098658791,
"y": 222.81006115045116,
"w": 91.72518026824184,
"h": 113.44868046645237
},
"labels": 3
},
{
"name": "task 86 internal target inspected with explicit translucent tool",
"targetId": "front-pump-pto-switch",
"pass": true
},
{
"name": "task 86 step 2 operation 1",
"target": "front-pump-pto-switch",
"drag": true,
"distance": 2.532200435574361,
"projected": {
"x": 709.0006218750913,
"y": 263.03238137674134,
"w": 83.99875624981757,
"h": 33.023591730971475
},
"labels": 2
},
{
"name": "task 86 step 3 operation 1",
"target": "front-pump-ball-valve-switch",
"drag": true,
"distance": 2.532200435574361,
"projected": {
"x": 742.9515028622343,
"y": 259.69721416379815,
"w": 16.096994275529482,
"h": 40.44894573262036
},
"labels": 4
},
{
"name": "task 86 step 4 operation 1",
"target": "front-pump-pto-switch",
"drag": true,
"distance": 2.532200435574361,
"projected": {
"x": 706.5903063366927,
"y": 244.5697698769074,
"w": 88.81938732661342,
"h": 69.87239851232039
},
"labels": 2
},
{
"name": "task 86 step 5 operation 1",
"target": "front-pump-aux-control-box-cover",
"drag": true,
"distance": 2.532200435574361,
"projected": {
"x": 699.1228274926349,
"y": 249.2085662189188,
"w": 103.7543450147308,
"h": 60.65167032951712
},
"labels": 4
},
{
"name": "task 86 step 5 operation 2",
"target": "front-pump-rescue-switch",
"drag": true,
"distance": 2.532200435574361,
"projected": {
"x": 748.0136091802624,
"y": 276.397277651574,
"w": 5.972781639476352,
"h": 6.274247464206724
},
"labels": 4
}
],
"errors": [],
"writes": [
"http://127.0.0.1:6180/api/tran/v1/teaching/assignments/86/preview/validate",
"http://127.0.0.1:6180/api/tran/v1/teaching/assignments/86/preview/validate",
"http://127.0.0.1:6180/api/tran/v1/teaching/assignments/86/preview/validate",
"http://127.0.0.1:6180/api/tran/v1/teaching/assignments/86/preview/validate",
"http://127.0.0.1:6180/api/tran/v1/teaching/assignments/86/preview/validate"
]
}

二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


部分文件因文件數量過多而無法顯示

Loading…
取消
儲存