| @@ -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 | 故障背景未填写;原稿未明确文字写出两阀交换的具体来源/目标 | 保留空白与标题“互换”,不编造位置 | | |||||
| @@ -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有圈线和手写批注;底部手写字迹无法可靠辨认,本次未作文字推定。 | |||||
| @@ -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)项没有展开正常作业动作;后续演示配置应另有依据。 | |||||
| - 原图未填写前置讲解画面要求。使用双车图或视频是后续制作选择,不是本次提取到的素材。 | |||||
| @@ -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)项为“把手”,常用工具名称为“扳手”;工具写法可核定后统一。 | |||||
| - 原稿未给出开口扳手号数、螺栓扭矩、液压油加注量、试车合格数值,不补造参数。 | |||||
| - 原稿没有额外列出关注油口盖、恢复球阀等动作;若补充训练流程,应明确是经核定的补充内容。 | |||||
| - 没有独立前置讲解原文时,不应将“原稿没有展开”等整理说明作为学员讲解内容。 | |||||
| @@ -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号规格按原文保留。 | |||||
| - 原文“阀体座”和“阀座”两种称呼均保留,正式编排可在术语核定后统一。 | |||||
| - 文本要求清洗阀体表面以及各油管接头,不能只表现阀体变色而遗漏接头。 | |||||
| - 图片没有给出安装位置照片、背景图、讲解视频、油污贴图或互换后的试验判据;相关素材需另行配置。 | |||||
| @@ -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" | |||||
| ] | |||||
| } | |||||
| @@ -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知道了" | |||||
| } | |||||
| @@ -0,0 +1,11 @@ | |||||
| { | |||||
| "pass": true, | |||||
| "sceneObjects": 2, | |||||
| "partTargets": 7, | |||||
| "steps": 5, | |||||
| "operations": 6, | |||||
| "savedAngle": 90, | |||||
| "originalPublishedVersion": "552", | |||||
| "draftVersion": "552", | |||||
| "errors": [] | |||||
| } | |||||
| @@ -0,0 +1,11 @@ | |||||
| { | |||||
| "pass": true, | |||||
| "sceneObjects": 2, | |||||
| "partTargets": 7, | |||||
| "steps": 5, | |||||
| "operations": 6, | |||||
| "savedAngle": 75, | |||||
| "originalPublishedVersion": "543", | |||||
| "draftVersion": "543", | |||||
| "errors": [] | |||||
| } | |||||
| @@ -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> | |||||
| @@ -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 | |||||
| ] | |||||
| } | |||||
| ] | |||||
| } | |||||
| @@ -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" | |||||
| ] | |||||
| } | |||||
| @@ -0,0 +1,10 @@ | |||||
| { | |||||
| "sceneId": "457", | |||||
| "sceneVersionId": "551", | |||||
| "trainingId": "458", | |||||
| "mediaUploaded": true, | |||||
| "trainingVersionId": "552", | |||||
| "taskId": "116", | |||||
| "taskStatus": "DRAFT", | |||||
| "previewUrl": "/teaching/virtual-training/preview/116" | |||||
| } | |||||
| @@ -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" | |||||
| ] | |||||
| ] | |||||
| } | |||||
| @@ -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" | |||||
| ] | |||||
| } | |||||
| @@ -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" | |||||
| ] | |||||
| } | |||||
| @@ -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": [] | |||||
| } | |||||
| @@ -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" | |||||
| ] | |||||
| } | |||||
| @@ -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 | |||||
| } | |||||
| @@ -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 | |||||
| } | |||||
| @@ -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 | |||||
| } | |||||
| ] | |||||
| } | |||||
| } | |||||
| @@ -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> | |||||
| @@ -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 | |||||
| ] | |||||
| } | |||||
| @@ -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" | |||||
| ] | |||||
| } | |||||
| @@ -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> | |||||
| @@ -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": [] | |||||
| } | |||||
| @@ -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" | |||||
| ] | |||||
| } | |||||