Просмотр исходного кода

test(training): record bridge preview and label placement acceptance

main
leiyun 5 часов назад
Родитель
Сommit
626c008547
100 измененных файлов: 9301 добавлений и 0 удалений
  1. +534
    -0
      reports/bridge-entry-view-20260925-before/result.json
  2. Двоичные данные
     
  3. Двоичные данные
     
  4. Двоичные данные
     
  5. Двоичные данные
     
  6. Двоичные данные
     
  7. Двоичные данные
     
  8. Двоичные данные
     
  9. Двоичные данные
     
  10. Двоичные данные
     
  11. Двоичные данные
     
  12. Двоичные данные
     
  13. Двоичные данные
     
  14. +218
    -0
      reports/bridge-entry-view-20260925-dual/result.json
  15. Двоичные данные
     
  16. Двоичные данные
     
  17. Двоичные данные
     
  18. Двоичные данные
     
  19. +758
    -0
      reports/bridge-entry-view-20260925-laptop/result.json
  20. Двоичные данные
     
  21. Двоичные данные
     
  22. Двоичные данные
     
  23. Двоичные данные
     
  24. Двоичные данные
     
  25. Двоичные данные
     
  26. Двоичные данные
     
  27. Двоичные данные
     
  28. Двоичные данные
     
  29. Двоичные данные
     
  30. Двоичные данные
     
  31. Двоичные данные
     
  32. Двоичные данные
     
  33. +34
    -0
      reports/bridge-entry-view-20260925/index.html
  34. +758
    -0
      reports/bridge-entry-view-20260925/result.json
  35. Двоичные данные
     
  36. Двоичные данные
     
  37. Двоичные данные
     
  38. Двоичные данные
     
  39. Двоичные данные
     
  40. Двоичные данные
     
  41. Двоичные данные
     
  42. Двоичные данные
     
  43. Двоичные данные
     
  44. Двоичные данные
     
  45. Двоичные данные
     
  46. Двоичные данные
     
  47. +155
    -0
      reports/bridge-introduction-3d-20260925-laptop-layout/result.json
  48. Двоичные данные
     
  49. Двоичные данные
     
  50. Двоичные данные
     
  51. Двоичные данные
     
  52. Двоичные данные
     
  53. +542
    -0
      reports/bridge-introduction-3d-20260925-laptop/result.json
  54. Двоичные данные
     
  55. Двоичные данные
     
  56. Двоичные данные
     
  57. Двоичные данные
     
  58. Двоичные данные
     
  59. Двоичные данные
     
  60. Двоичные данные
     
  61. Двоичные данные
     
  62. Двоичные данные
     
  63. Двоичные данные
     
  64. Двоичные данные
     
  65. Двоичные данные
     
  66. Двоичные данные
     
  67. Двоичные данные
     
  68. +170
    -0
      reports/bridge-introduction-3d-20260925-resize/result.json
  69. Двоичные данные
     
  70. Двоичные данные
     
  71. Двоичные данные
     
  72. Двоичные данные
     
  73. Двоичные данные
     
  74. +36
    -0
      reports/bridge-introduction-3d-20260925/index.html
  75. +602
    -0
      reports/bridge-introduction-3d-20260925/result.json
  76. Двоичные данные
     
  77. Двоичные данные
     
  78. Двоичные данные
     
  79. Двоичные данные
     
  80. Двоичные данные
     
  81. Двоичные данные
     
  82. Двоичные данные
     
  83. Двоичные данные
     
  84. Двоичные данные
     
  85. Двоичные данные
     
  86. Двоичные данные
     
  87. Двоичные данные
     
  88. Двоичные данные
     
  89. Двоичные данные
     
  90. +1
    -0
      reports/bridge-label-placement-20260925-laptop/index.html
  91. +5493
    -0
      reports/bridge-label-placement-20260925-laptop/result.json
  92. Двоичные данные
     
  93. Двоичные данные
     
  94. Двоичные данные
     
  95. Двоичные данные
     
  96. Двоичные данные
     
  97. Двоичные данные
     
  98. Двоичные данные
     
  99. Двоичные данные
     
  100. Двоичные данные
     

+ 534
- 0
reports/bridge-entry-view-20260925-before/result.json Просмотреть файл

@@ -0,0 +1,534 @@
{
"pass": true,
"baseline": true,
"checks": [
{
"task": "86",
"view": "entry",
"snapshot": null,
"media": {
"paused": true,
"time": 0
},
"badge": {
"max": "210px",
"width": 210,
"title": ""
}
},
{
"task": "86",
"view": "overview",
"snapshot": {
"step": 0,
"completed": [],
"autoVoice": true,
"camera": [
7.845729572806127,
4.314302505404388,
9.770153807645361
],
"target": [
2.220446049250313e-16,
0.9835682527980127,
0
],
"zoom": 1,
"viewport": {
"x": 487,
"y": 188.5,
"w": 1422,
"h": 709.5
},
"area": {
"x": 492,
"y": 104.4375,
"w": 594,
"h": 529.0625
},
"primary": {
"x": 526.099348545458,
"y": 269.81826219289417,
"w": 439.3860665242073,
"h": 255.54519097874947
},
"rootBounds": [
{
"name": "架桥车前泵互救操作整车模型",
"size": [
1.8371859555733263,
1.9671365109410388,
8
]
}
],
"pending": false
}
},
{
"task": "86",
"view": "reset",
"snapshot": {
"step": 0,
"completed": [],
"autoVoice": true,
"camera": [
7.845729572806127,
4.314302505404388,
9.770153807645361
],
"target": [
2.220446049250313e-16,
0.9835682527980127,
0
],
"zoom": 1,
"viewport": {
"x": 487,
"y": 188.5,
"w": 1422,
"h": 709.5
},
"area": {
"x": 492,
"y": 104.4375,
"w": 594,
"h": 529.0625
},
"primary": {
"x": 526.099348545458,
"y": 269.81826219289417,
"w": 439.3860665242072,
"h": 255.54519097874947
},
"rootBounds": [
{
"name": "架桥车前泵互救操作整车模型",
"size": [
1.8371859555733263,
1.9671365109410388,
8
]
}
],
"pending": false
}
},
{
"task": "87",
"view": "entry",
"media": {
"paused": true,
"time": 0
},
"badge": {
"max": "210px",
"width": 210,
"title": ""
}
},
{
"task": "87",
"view": "overview",
"snapshot": {
"step": 0,
"completed": [],
"autoVoice": true,
"camera": [
11.200418933268718,
6.633106461001029,
11.970584313997993
],
"target": [
1.6883683848926894,
1.0123493187788344,
-0.13566183848059055
],
"zoom": 1,
"viewport": {
"x": 487,
"y": 188.5,
"w": 1422,
"h": 709.5
},
"area": {
"x": 492,
"y": 104.4375,
"w": 594,
"h": 529.0625
},
"primary": {
"x": 542.2461617223871,
"y": 271.8017853857075,
"w": 309.155255300627,
"h": 197.3465556112713
},
"rootBounds": [
{
"name": "架桥车前泵互救操作整车模型",
"size": [
1.8909461975097657,
2.024699456040764,
8.234097724812745
]
},
{
"name": "0916保障车.glb",
"size": [
1.570159560354596,
1.866612635663166,
5.511719475162634
]
},
{
"name": "双车连接油管.glb",
"size": [
4.068633728027344,
0.985340888500214,
1.058640277981758
]
}
],
"pending": false
}
},
{
"task": "87",
"view": "reset",
"snapshot": {
"step": 0,
"completed": [],
"autoVoice": true,
"camera": [
11.200418933268718,
6.633106461001029,
11.970584313997993
],
"target": [
1.6883683848926894,
1.0123493187788344,
-0.13566183848059077
],
"zoom": 1,
"viewport": {
"x": 487,
"y": 188.5,
"w": 1422,
"h": 709.5
},
"area": {
"x": 492,
"y": 104.4375,
"w": 594,
"h": 529.0625
},
"primary": {
"x": 542.2461617223871,
"y": 271.8017853857075,
"w": 309.1552553006269,
"h": 197.3465556112713
},
"rootBounds": [
{
"name": "架桥车前泵互救操作整车模型",
"size": [
1.8909461975097657,
2.024699456040764,
8.234097724812745
]
},
{
"name": "0916保障车.glb",
"size": [
1.570159560354596,
1.866612635663166,
5.511719475162634
]
},
{
"name": "双车连接油管.glb",
"size": [
4.068633728027344,
0.985340888500214,
1.058640277981758
]
}
],
"pending": false
}
},
{
"task": "88",
"view": "entry",
"snapshot": null,
"media": {
"paused": true,
"time": 0
},
"badge": {
"max": "210px",
"width": 210,
"title": ""
}
},
{
"task": "88",
"view": "overview",
"snapshot": {
"step": 0,
"completed": [],
"autoVoice": true,
"camera": [
8.639348853171596,
6.1825087786854676,
11.000065353323455
],
"target": [
-0.1101510832458732,
1.0123497253478748,
-0.13566183848059052
],
"zoom": 1,
"viewport": {
"x": 487,
"y": 188.5,
"w": 1422,
"h": 709.5
},
"area": {
"x": 492,
"y": 104.4375,
"w": 594,
"h": 529.0625
},
"primary": {
"x": 592.6026123888879,
"y": 277.2687781279076,
"w": 336.6507106400966,
"h": 238.43354191317405
},
"rootBounds": [
{
"name": "架桥车前泵互救操作整车模型",
"size": [
1.8909461975097657,
2.024699456040764,
8.234097724812745
]
},
{
"name": "3封口袋.glb",
"size": [
0.08018212955272758,
0.08336285111041264,
0.08369391474136734
]
},
{
"name": "牛皮纸.glb",
"size": [
0.254213809967041,
0.2239204597473145,
3.648127636091125e-8
]
}
],
"pending": false
}
},
{
"task": "88",
"view": "reset",
"snapshot": {
"step": 0,
"completed": [],
"autoVoice": true,
"camera": [
8.639348853171596,
6.1825087786854676,
11.000065353323455
],
"target": [
-0.11015108324587322,
1.0123497253478748,
-0.13566183848059052
],
"zoom": 1,
"viewport": {
"x": 487,
"y": 188.5,
"w": 1422,
"h": 709.5
},
"area": {
"x": 492,
"y": 104.4375,
"w": 594,
"h": 529.0625
},
"primary": {
"x": 592.6026123888879,
"y": 277.2687781279076,
"w": 336.6507106400966,
"h": 238.43354191317405
},
"rootBounds": [
{
"name": "架桥车前泵互救操作整车模型",
"size": [
1.8909461975097657,
2.024699456040764,
8.234097724812745
]
},
{
"name": "3封口袋.glb",
"size": [
0.08018212955272758,
0.08336285111041264,
0.08369391474136734
]
},
{
"name": "牛皮纸.glb",
"size": [
0.254213809967041,
0.2239204597473145,
3.648127636091125e-8
]
}
],
"pending": false
}
},
{
"task": "89",
"view": "entry",
"snapshot": null,
"media": {
"paused": true,
"time": 0
},
"badge": {
"max": "210px",
"width": 210,
"title": ""
}
},
{
"task": "89",
"view": "overview",
"snapshot": {
"step": 0,
"completed": [],
"autoVoice": true,
"camera": [
7.72499140270015,
5.577117406210051,
9.696145474145634
],
"target": [
-5.7220459037665705e-8,
1.0123497253478748,
-0.13566183848059055
],
"zoom": 1,
"viewport": {
"x": 487,
"y": 188.5,
"w": 1422,
"h": 709.5
},
"area": {
"x": 492,
"y": 104.4375,
"w": 594,
"h": 529.0625
},
"primary": {
"x": 554.8411253673859,
"y": 266.43276739954246,
"w": 384.8452167247707,
"h": 271.40429919559136
},
"rootBounds": [
{
"name": "架桥车前泵互救操作整车模型",
"size": [
1.8909461975097657,
2.024699456040764,
8.234097724812745
]
},
{
"name": "4封口袋.glb",
"size": [
0.29693386419402845,
0.017112711789406765,
1.6563524089616042
]
}
],
"pending": false
}
},
{
"task": "89",
"view": "reset",
"snapshot": {
"step": 0,
"completed": [],
"autoVoice": true,
"camera": [
7.72499140270015,
5.577117406210051,
9.696145474145634
],
"target": [
-5.7220459037665705e-8,
1.0123497253478748,
-0.13566183848059055
],
"zoom": 1,
"viewport": {
"x": 487,
"y": 188.5,
"w": 1422,
"h": 709.5
},
"area": {
"x": 492,
"y": 104.4375,
"w": 594,
"h": 529.0625
},
"primary": {
"x": 554.8411253673859,
"y": 266.43276739954246,
"w": 384.8452167247707,
"h": 271.40429919559136
},
"rootBounds": [
{
"name": "架桥车前泵互救操作整车模型",
"size": [
1.8909461975097657,
2.024699456040764,
8.234097724812745
]
},
{
"name": "4封口袋.glb",
"size": [
0.29693386419402845,
0.017112711789406765,
1.6563524089616042
]
}
],
"pending": false
}
}
],
"errors": []
}

Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


+ 218
- 0
reports/bridge-entry-view-20260925-dual/result.json Просмотреть файл

@@ -0,0 +1,218 @@
{
"pass": true,
"baseline": false,
"baseUrl": "http://127.0.0.1:6180",
"viewport": {
"width": 1920,
"height": 945
},
"accountRole": "root",
"serverMutations": [],
"checks": [
{
"task": "87",
"view": "entry",
"snapshot": {
"step": 0,
"completed": [],
"autoVoice": false,
"camera": [
4.803749420883266,
3.4728273967383507,
7.617689522964373
],
"target": [
-0.6275489786087158,
0.2634237970385468,
0.7051279236109421
],
"zoom": 1,
"viewport": {
"x": 487,
"y": 188.5,
"w": 1422,
"h": 709.5
},
"area": {
"x": 492,
"y": 104.4375,
"w": 594,
"h": 529.0625
},
"primary": {
"x": 546.4861668312151,
"y": 177.6918377375884,
"w": 517.1888948177734,
"h": 357.91229816303127
},
"rootBounds": [
{
"name": "架桥车前泵互救操作整车模型",
"size": [
1.8909461975097657,
2.024699456040764,
8.234097724812745
]
},
{
"name": "0916保障车.glb",
"size": [
1.570159560354596,
1.866612635663166,
5.511719475162634
]
},
{
"name": "双车连接油管.glb",
"size": [
4.068633728027344,
0.985340888500214,
1.058640277981758
]
}
],
"pending": false
},
"media": {
"paused": true,
"time": 0
},
"badge": {
"max": "300px",
"width": 300,
"title": "教员预览 · 重型支援桥液压泵应急替代 · 不计成绩"
}
},
{
"task": "87",
"view": "overview",
"snapshot": {
"step": 0,
"completed": [],
"autoVoice": false,
"camera": [
4.803749420883266,
3.4728273967383507,
7.617689522964373
],
"target": [
-0.6275489786087158,
0.2634237970385468,
0.7051279236109421
],
"zoom": 1,
"viewport": {
"x": 487,
"y": 188.5,
"w": 1422,
"h": 709.5
},
"area": {
"x": 492,
"y": 104.4375,
"w": 594,
"h": 529.0625
},
"primary": {
"x": 546.4861668312151,
"y": 177.6918377375884,
"w": 517.1888948177734,
"h": 357.91229816303127
},
"rootBounds": [
{
"name": "架桥车前泵互救操作整车模型",
"size": [
1.8909461975097657,
2.024699456040764,
8.234097724812745
]
},
{
"name": "0916保障车.glb",
"size": [
1.570159560354596,
1.866612635663166,
5.511719475162634
]
},
{
"name": "双车连接油管.glb",
"size": [
4.068633728027344,
0.985340888500214,
1.058640277981758
]
}
],
"pending": false
}
},
{
"task": "87",
"view": "reset",
"snapshot": {
"step": 0,
"completed": [],
"autoVoice": false,
"camera": [
4.803749420883266,
3.4728273967383507,
7.617689522964373
],
"target": [
-0.6275489786087158,
0.2634237970385468,
0.7051279236109422
],
"zoom": 1,
"viewport": {
"x": 487,
"y": 188.5,
"w": 1422,
"h": 709.5
},
"area": {
"x": 492,
"y": 104.4375,
"w": 594,
"h": 529.0625
},
"primary": {
"x": 546.4861668312151,
"y": 177.6918377375884,
"w": 517.1888948177732,
"h": 357.91229816303115
},
"rootBounds": [
{
"name": "架桥车前泵互救操作整车模型",
"size": [
1.8909461975097657,
2.024699456040764,
8.234097724812745
]
},
{
"name": "0916保障车.glb",
"size": [
1.570159560354596,
1.866612635663166,
5.511719475162634
]
},
{
"name": "双车连接油管.glb",
"size": [
4.068633728027344,
0.985340888500214,
1.058640277981758
]
}
],
"pending": false
}
}
],
"errors": []
}

Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


+ 758
- 0
reports/bridge-entry-view-20260925-laptop/result.json Просмотреть файл

@@ -0,0 +1,758 @@
{
"pass": true,
"baseline": false,
"baseUrl": "http://192.168.31.168:6180",
"viewport": {
"width": 1366,
"height": 768
},
"accountRole": "root",
"serverMutations": [],
"checks": [
{
"task": "86",
"view": "entry",
"snapshot": {
"step": 0,
"completed": [],
"autoVoice": false,
"camera": [
4.151732912166647,
2.4745681467051255,
6.801708975818983
],
"target": [
-0.7017933216511993,
0.4141088964994353,
0.75769517521563
],
"zoom": 1,
"viewport": {
"x": 463,
"y": 188.5,
"w": 892,
"h": 532.5
},
"area": {
"x": 422,
"y": 103.09375,
"w": 454,
"h": 353.40625
},
"primary": {
"x": 391.0429481563079,
"y": 138.78349533091017,
"w": 517.7742676613609,
"h": 300.39465720995605
},
"rootBounds": [
{
"name": "架桥车前泵互救操作整车模型",
"size": [
1.8371859555733263,
1.9671365109410388,
8
]
}
],
"pending": false
},
"media": {
"paused": true,
"time": 0
},
"badge": {
"max": "300px",
"width": 0,
"title": "教员预览 · 重型支援桥液压泵应急切换 · 不计成绩"
}
},
{
"task": "86",
"view": "overview",
"snapshot": {
"step": 0,
"completed": [],
"autoVoice": false,
"camera": [
4.151732912166647,
2.4745681467051255,
6.801708975818983
],
"target": [
-0.7017933216511993,
0.4141088964994353,
0.75769517521563
],
"zoom": 1,
"viewport": {
"x": 463,
"y": 188.5,
"w": 892,
"h": 532.5
},
"area": {
"x": 422,
"y": 103.09375,
"w": 454,
"h": 353.40625
},
"primary": {
"x": 391.0429481563079,
"y": 138.78349533091017,
"w": 517.7742676613609,
"h": 300.39465720995605
},
"rootBounds": [
{
"name": "架桥车前泵互救操作整车模型",
"size": [
1.8371859555733263,
1.9671365109410388,
8
]
}
],
"pending": false
}
},
{
"task": "86",
"view": "reset",
"snapshot": {
"step": 0,
"completed": [],
"autoVoice": false,
"camera": [
4.151732912166647,
2.4745681467051255,
6.801708975818983
],
"target": [
-0.7017933216511993,
0.4141088964994353,
0.75769517521563
],
"zoom": 1,
"viewport": {
"x": 463,
"y": 188.5,
"w": 892,
"h": 532.5
},
"area": {
"x": 422,
"y": 103.09375,
"w": 454,
"h": 353.40625
},
"primary": {
"x": 391.04294815630783,
"y": 138.78349533091017,
"w": 517.774267661361,
"h": 300.39465720995605
},
"rootBounds": [
{
"name": "架桥车前泵互救操作整车模型",
"size": [
1.8371859555733263,
1.9671365109410388,
8
]
}
],
"pending": false
}
},
{
"task": "87",
"view": "entry",
"snapshot": {
"step": 0,
"completed": [],
"autoVoice": false,
"camera": [
8.26014937959496,
4.475868717282853,
9.614606996976296
],
"target": [
0.6090398724596016,
0.019999997327493895,
-0.12316873937779449
],
"zoom": 1,
"viewport": {
"x": 463,
"y": 188.5,
"w": 892,
"h": 532.5
},
"area": {
"x": 422,
"y": 103.09375,
"w": 454,
"h": 353.40625
},
"primary": {
"x": 442.3459670686922,
"y": 160.24321407779502,
"w": 301.21972404290193,
"h": 180.34139609208808
},
"rootBounds": [
{
"name": "架桥车前泵互救操作整车模型",
"size": [
1.8909461975097657,
2.024699456040764,
8.234097724812745
]
},
{
"name": "0916保障车.glb",
"size": [
1.570159560354596,
1.866612635663166,
5.511719475162634
]
},
{
"name": "双车连接油管.glb",
"size": [
4.068633728027344,
0.985340888500214,
1.058640277981758
]
}
],
"pending": false
},
"media": {
"paused": true,
"time": 0
},
"badge": {
"max": "300px",
"width": 0,
"title": "教员预览 · 重型支援桥液压泵应急替代 · 不计成绩"
}
},
{
"task": "87",
"view": "overview",
"snapshot": {
"step": 0,
"completed": [],
"autoVoice": false,
"camera": [
8.26014937959496,
4.475868717282853,
9.614606996976296
],
"target": [
0.6090398724596016,
0.019999997327493895,
-0.12316873937779449
],
"zoom": 1,
"viewport": {
"x": 463,
"y": 188.5,
"w": 892,
"h": 532.5
},
"area": {
"x": 422,
"y": 103.09375,
"w": 454,
"h": 353.40625
},
"primary": {
"x": 442.3459670686922,
"y": 160.24321407779502,
"w": 301.21972404290193,
"h": 180.34139609208808
},
"rootBounds": [
{
"name": "架桥车前泵互救操作整车模型",
"size": [
1.8909461975097657,
2.024699456040764,
8.234097724812745
]
},
{
"name": "0916保障车.glb",
"size": [
1.570159560354596,
1.866612635663166,
5.511719475162634
]
},
{
"name": "双车连接油管.glb",
"size": [
4.068633728027344,
0.985340888500214,
1.058640277981758
]
}
],
"pending": false
}
},
{
"task": "87",
"view": "reset",
"snapshot": {
"step": 0,
"completed": [],
"autoVoice": false,
"camera": [
8.26014937959496,
4.475868717282853,
9.614606996976296
],
"target": [
0.6090398724596016,
0.019999997327493895,
-0.12316873937779449
],
"zoom": 1,
"viewport": {
"x": 463,
"y": 188.5,
"w": 892,
"h": 532.5
},
"area": {
"x": 422,
"y": 103.09375,
"w": 454,
"h": 353.40625
},
"primary": {
"x": 442.3459670686922,
"y": 160.24321407779502,
"w": 301.21972404290193,
"h": 180.34139609208808
},
"rootBounds": [
{
"name": "架桥车前泵互救操作整车模型",
"size": [
1.8909461975097657,
2.024699456040764,
8.234097724812745
]
},
{
"name": "0916保障车.glb",
"size": [
1.570159560354596,
1.866612635663166,
5.511719475162634
]
},
{
"name": "双车连接油管.glb",
"size": [
4.068633728027344,
0.985340888500214,
1.058640277981758
]
}
],
"pending": false
}
},
{
"task": "88",
"view": "entry",
"snapshot": {
"step": 0,
"completed": [],
"autoVoice": false,
"camera": [
4.1120876181399275,
3.177108086744706,
6.767077783611273
],
"target": [
-0.6627620223906978,
0.3556060264311548,
0.6899964229359313
],
"zoom": 1,
"viewport": {
"x": 463,
"y": 188.5,
"w": 892,
"h": 532.5
},
"area": {
"x": 422,
"y": 103.09375,
"w": 454,
"h": 353.40625
},
"primary": {
"x": 431.1881674558356,
"y": 127.2591030705271,
"w": 446.9686043500228,
"h": 316.0797808389903
},
"rootBounds": [
{
"name": "架桥车前泵互救操作整车模型",
"size": [
1.8909461975097657,
2.024699456040764,
8.234097724812745
]
},
{
"name": "3封口袋.glb",
"size": [
0.08018212955272758,
0.08336285111041264,
0.08369391474136734
]
},
{
"name": "牛皮纸.glb",
"size": [
0.254213809967041,
0.2239204597473145,
3.648127636091125e-8
]
}
],
"pending": false
},
"media": {
"paused": true,
"time": 0
},
"badge": {
"max": "300px",
"width": 0,
"title": "教员预览 · 重型支援桥前泵换件修复 · 不计成绩"
}
},
{
"task": "88",
"view": "overview",
"snapshot": {
"step": 0,
"completed": [],
"autoVoice": false,
"camera": [
4.1120876181399275,
3.177108086744706,
6.767077783611273
],
"target": [
-0.6627620223906978,
0.3556060264311548,
0.6899964229359313
],
"zoom": 1,
"viewport": {
"x": 463,
"y": 188.5,
"w": 892,
"h": 532.5
},
"area": {
"x": 422,
"y": 103.09375,
"w": 454,
"h": 353.40625
},
"primary": {
"x": 431.1881674558356,
"y": 127.2591030705271,
"w": 446.9686043500228,
"h": 316.0797808389903
},
"rootBounds": [
{
"name": "架桥车前泵互救操作整车模型",
"size": [
1.8909461975097657,
2.024699456040764,
8.234097724812745
]
},
{
"name": "3封口袋.glb",
"size": [
0.08018212955272758,
0.08336285111041264,
0.08369391474136734
]
},
{
"name": "牛皮纸.glb",
"size": [
0.254213809967041,
0.2239204597473145,
3.648127636091125e-8
]
}
],
"pending": false
}
},
{
"task": "88",
"view": "reset",
"snapshot": {
"step": 0,
"completed": [],
"autoVoice": false,
"camera": [
4.1120876181399275,
3.177108086744706,
6.767077783611273
],
"target": [
-0.6627620223906978,
0.3556060264311548,
0.6899964229359312
],
"zoom": 1,
"viewport": {
"x": 463,
"y": 188.5,
"w": 892,
"h": 532.5
},
"area": {
"x": 422,
"y": 103.09375,
"w": 454,
"h": 353.40625
},
"primary": {
"x": 431.1881674558356,
"y": 127.25910307052713,
"w": 446.9686043500228,
"h": 316.0797808389902
},
"rootBounds": [
{
"name": "架桥车前泵互救操作整车模型",
"size": [
1.8909461975097657,
2.024699456040764,
8.234097724812745
]
},
{
"name": "3封口袋.glb",
"size": [
0.08018212955272758,
0.08336285111041264,
0.08369391474136734
]
},
{
"name": "牛皮纸.glb",
"size": [
0.254213809967041,
0.2239204597473145,
3.648127636091125e-8
]
}
],
"pending": false
}
},
{
"task": "89",
"view": "entry",
"snapshot": {
"step": 0,
"completed": [],
"autoVoice": false,
"camera": [
4.1120876181399275,
3.177108086744706,
6.767077783611273
],
"target": [
-0.6627620223906978,
0.3556060264311548,
0.6899964229359313
],
"zoom": 1,
"viewport": {
"x": 463,
"y": 188.5,
"w": 892,
"h": 532.5
},
"area": {
"x": 422,
"y": 103.09375,
"w": 454,
"h": 353.40625
},
"primary": {
"x": 431.1881674558356,
"y": 127.2591030705271,
"w": 446.9686043500228,
"h": 316.0797808389903
},
"rootBounds": [
{
"name": "架桥车前泵互救操作整车模型",
"size": [
1.8909461975097657,
2.024699456040764,
8.234097724812745
]
},
{
"name": "4封口袋.glb",
"size": [
0.29693386419402845,
0.017112711789406765,
1.6563524089616042
]
}
],
"pending": false
},
"media": {
"paused": true,
"time": 0
},
"badge": {
"max": "300px",
"width": 0,
"title": "教员预览 · 重型支援桥平衡阀拆拼互换 · 不计成绩"
}
},
{
"task": "89",
"view": "overview",
"snapshot": {
"step": 0,
"completed": [],
"autoVoice": false,
"camera": [
4.1120876181399275,
3.177108086744706,
6.767077783611273
],
"target": [
-0.6627620223906978,
0.3556060264311548,
0.6899964229359313
],
"zoom": 1,
"viewport": {
"x": 463,
"y": 188.5,
"w": 892,
"h": 532.5
},
"area": {
"x": 422,
"y": 103.09375,
"w": 454,
"h": 353.40625
},
"primary": {
"x": 431.1881674558356,
"y": 127.2591030705271,
"w": 446.9686043500228,
"h": 316.0797808389903
},
"rootBounds": [
{
"name": "架桥车前泵互救操作整车模型",
"size": [
1.8909461975097657,
2.024699456040764,
8.234097724812745
]
},
{
"name": "4封口袋.glb",
"size": [
0.29693386419402845,
0.017112711789406765,
1.6563524089616042
]
}
],
"pending": false
}
},
{
"task": "89",
"view": "reset",
"snapshot": {
"step": 0,
"completed": [],
"autoVoice": false,
"camera": [
4.1120876181399275,
3.177108086744706,
6.767077783611273
],
"target": [
-0.6627620223906978,
0.3556060264311549,
0.6899964229359313
],
"zoom": 1,
"viewport": {
"x": 463,
"y": 188.5,
"w": 892,
"h": 532.5
},
"area": {
"x": 422,
"y": 103.09375,
"w": 454,
"h": 353.40625
},
"primary": {
"x": 431.1881674558356,
"y": 127.25910307052713,
"w": 446.9686043500228,
"h": 316.0797808389902
},
"rootBounds": [
{
"name": "架桥车前泵互救操作整车模型",
"size": [
1.8909461975097657,
2.024699456040764,
8.234097724812745
]
},
{
"name": "4封口袋.glb",
"size": [
0.29693386419402845,
0.017112711789406765,
1.6563524089616042
]
}
],
"pending": false
}
}
],
"errors": []
}

Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


+ 34
- 0
reports/bridge-entry-view-20260925/index.html Просмотреть файл

@@ -0,0 +1,34 @@
<!doctype html>
<html lang="zh-CN">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>005–008 播放方式与复位视角检查</title>
<style>
*{box-sizing:border-box}body{margin:0;background:#f2f7f5;color:#193c35;font:15px/1.7 system-ui,sans-serif}main{max-width:1500px;margin:auto;padding:32px}h1{font-size:28px;margin:0 0 12px}h2{font-size:21px;margin:0 0 16px}p{margin:10px 0}a{color:#00866c}section,.summary{background:white;border:1px solid #d2e2dc;border-radius:12px;padding:24px;margin-bottom:24px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}figure{margin:0}figcaption{margin-bottom:8px;color:#526d65}img{display:block;width:100%;border:1px solid #d2e2dc;border-radius:6px}details{margin-top:18px}summary{cursor:pointer;color:#00866c}code{font-size:13px;overflow-wrap:anywhere}.note{color:#526d65;font-size:13px}@media(max-width:900px){main{padding:16px}.grid{grid-template-columns:1fr}}
</style>
<main>
<h1>005–008 播放方式与复位视角检查</h1>
<p>2026-09-25 · 本地开发环境 · 正式教员预览入口</p>
<div class="summary">
<p>进入背景页、切换讲解页、进入操作步骤时默认不播放数字人视频。点击“播放讲解”后才开始;操作阶段可自行开启“自动语音”。</p>
<p>顶部教员预览标签最大宽度统一为 300px,超长显示省略号,悬停可看完整内容。窄屏沿用现有的标签隐藏布局。</p>
<p>005–008 按主车实际可见表面调整初始与复位视角,缩小多余留白。部件聚焦保持原来的行为;006 同时限制保障车不能超出画面边界,小屏优先保留双车全景。</p>
<p>浏览器检查覆盖:初始视频暂停且进度为 0、进入操作不自动播放、手动播放可用、下一页保持暂停、聚焦后复位比例一致、预览未完成任何操作步骤、无页面脚本异常。</p>
<p>桌面:1920 × 945,<code>http://127.0.0.1:6180</code>。笔记本:1366 × 768,<code>http://192.168.31.168:6180</code>。使用 root 教员预览;未提交成绩或修改已发布训练配置。</p>
<p><a href="result.json">桌面检查结果</a> · <a href="../bridge-entry-view-20260925-laptop/result.json">笔记本检查结果</a></p>
<p>结果:12 项单元与契约检查通过;四个脚本在桌面与笔记本共 8 组浏览器检查通过;<code>pnpm build</code> 通过。构建保留现有的大文件体积提示,没有构建错误。</p>
<details><summary>验证命令与范围</summary>
<p><code>node --test scripts/training-overview.test.mjs scripts/introduction-narration.test.mjs scripts/training-scene-safety.test.mjs scripts/virtual-training-formal-route.contract.test.mjs</code></p>
<p><code>pnpm build</code>(包含 TypeScript 检查与 legacy 编辑器产物完整性检查)</p>
<p><code>node tools/bridge-entry-view-live.mjs</code>;笔记本通过 <code>BASE_URL / WIDTH / HEIGHT / REPORT_SUFFIX</code> 环境变量切换。</p>
<p class="note">浏览器显式允许自动播放,确保测试不会因为浏览器拦截而误判。观察脚本只读取相机与媒体状态,交互使用真实页面按钮。本次覆盖页面进入、媒体播放、部件聚焦与复位,未重新执行所有拆装操作。</p>
</details>
</div>
<div id="scenes"></div>
<script>
const tasks=[['86','005 液压泵应急切换'],['87','006 液压泵应急替代'],['88','007 前泵换件修复'],['89','008 平衡阀拆拼互换']];
const photo=(src,label)=>`<figure><figcaption>${label}</figcaption><a href="${src}" target="_blank"><img src="${src}" alt="${label}" loading="lazy"></a></figure>`;
document.querySelector('#scenes').innerHTML=tasks.map(([id,title])=>`<section><h2>${title}</h2><div class="grid">${photo(`../bridge-entry-view-20260925-before/task-${id}-overview.png`,'调整前')}${photo(`task-${id}-overview.png`,'调整后:初始整车视角')}</div><details><summary>查看进入页、复位视角与笔记本画面</summary><div class="grid">${photo(`task-${id}-entry.png`,'进入页:视频停留在 0:00')}${photo(`task-${id}-reset.png`,'部件聚焦后复位')}${photo(`../bridge-entry-view-20260925-laptop/task-${id}-overview.png`,'笔记本:初始整车视角')}${photo(`../bridge-entry-view-20260925-laptop/task-${id}-reset.png`,'笔记本:复位视角')}</div></details></section>`).join('');
</script>
</main>
</html>

+ 758
- 0
reports/bridge-entry-view-20260925/result.json Просмотреть файл

@@ -0,0 +1,758 @@
{
"pass": true,
"baseline": false,
"baseUrl": "http://127.0.0.1:6180",
"viewport": {
"width": 1920,
"height": 945
},
"accountRole": "root",
"serverMutations": [],
"checks": [
{
"task": "86",
"view": "entry",
"snapshot": {
"step": 0,
"completed": [],
"autoVoice": false,
"camera": [
4.2568983919053,
2.47982911756675,
6.903596207500909
],
"target": [
-0.6824137407897487,
0.38295132538488913,
0.7527546837674542
],
"zoom": 1,
"viewport": {
"x": 487,
"y": 188.5,
"w": 1422,
"h": 709.5
},
"area": {
"x": 492,
"y": 104.4375,
"w": 594,
"h": 529.0625
},
"primary": {
"x": 451.5121427038652,
"y": 181.08289453033925,
"w": 677.3971210537788,
"h": 388.6838152842082
},
"rootBounds": [
{
"name": "架桥车前泵互救操作整车模型",
"size": [
1.8371859555733263,
1.9671365109410388,
8
]
}
],
"pending": false
},
"media": {
"paused": true,
"time": 0
},
"badge": {
"max": "300px",
"width": 300,
"title": "教员预览 · 重型支援桥液压泵应急切换 · 不计成绩"
}
},
{
"task": "86",
"view": "overview",
"snapshot": {
"step": 0,
"completed": [],
"autoVoice": false,
"camera": [
4.2568983919053,
2.47982911756675,
6.903596207500909
],
"target": [
-0.6824137407897487,
0.38295132538488913,
0.7527546837674542
],
"zoom": 1,
"viewport": {
"x": 487,
"y": 188.5,
"w": 1422,
"h": 709.5
},
"area": {
"x": 492,
"y": 104.4375,
"w": 594,
"h": 529.0625
},
"primary": {
"x": 451.5121427038652,
"y": 181.08289453033925,
"w": 677.3971210537788,
"h": 388.6838152842082
},
"rootBounds": [
{
"name": "架桥车前泵互救操作整车模型",
"size": [
1.8371859555733263,
1.9671365109410388,
8
]
}
],
"pending": false
}
},
{
"task": "86",
"view": "reset",
"snapshot": {
"step": 0,
"completed": [],
"autoVoice": false,
"camera": [
4.2568983919053,
2.47982911756675,
6.903596207500909
],
"target": [
-0.6824137407897487,
0.38295132538488913,
0.7527546837674542
],
"zoom": 1,
"viewport": {
"x": 487,
"y": 188.5,
"w": 1422,
"h": 709.5
},
"area": {
"x": 492,
"y": 104.4375,
"w": 594,
"h": 529.0625
},
"primary": {
"x": 451.5121427038652,
"y": 181.08289453033925,
"w": 677.3971210537788,
"h": 388.6838152842081
},
"rootBounds": [
{
"name": "架桥车前泵互救操作整车模型",
"size": [
1.8371859555733263,
1.9671365109410388,
8
]
}
],
"pending": false
}
},
{
"task": "87",
"view": "entry",
"snapshot": {
"step": 0,
"completed": [],
"autoVoice": false,
"camera": [
4.710436233410935,
2.9512571992809975,
7.498927284363225
],
"target": [
-0.5347172821647493,
0.019999997327493683,
0.8232773554487176
],
"zoom": 1,
"viewport": {
"x": 487,
"y": 188.5,
"w": 1422,
"h": 709.5
},
"area": {
"x": 492,
"y": 104.4375,
"w": 594,
"h": 529.0625
},
"primary": {
"x": 535.0327736263547,
"y": 157.15178063266154,
"w": 535.0625139390719,
"h": 341.27612626889953
},
"rootBounds": [
{
"name": "架桥车前泵互救操作整车模型",
"size": [
1.8909461975097657,
2.024699456040764,
8.234097724812745
]
},
{
"name": "0916保障车.glb",
"size": [
1.570159560354596,
1.866612635663166,
5.511719475162634
]
},
{
"name": "双车连接油管.glb",
"size": [
4.068633728027344,
0.985340888500214,
1.058640277981758
]
}
],
"pending": false
},
"media": {
"paused": true,
"time": 0
},
"badge": {
"max": "300px",
"width": 300,
"title": "教员预览 · 重型支援桥液压泵应急替代 · 不计成绩"
}
},
{
"task": "87",
"view": "overview",
"snapshot": {
"step": 0,
"completed": [],
"autoVoice": false,
"camera": [
4.710436233410935,
2.9512571992809975,
7.498927284363225
],
"target": [
-0.5347172821647493,
0.019999997327493683,
0.8232773554487176
],
"zoom": 1,
"viewport": {
"x": 487,
"y": 188.5,
"w": 1422,
"h": 709.5
},
"area": {
"x": 492,
"y": 104.4375,
"w": 594,
"h": 529.0625
},
"primary": {
"x": 535.0327736263547,
"y": 157.15178063266154,
"w": 535.0625139390719,
"h": 341.27612626889953
},
"rootBounds": [
{
"name": "架桥车前泵互救操作整车模型",
"size": [
1.8909461975097657,
2.024699456040764,
8.234097724812745
]
},
{
"name": "0916保障车.glb",
"size": [
1.570159560354596,
1.866612635663166,
5.511719475162634
]
},
{
"name": "双车连接油管.glb",
"size": [
4.068633728027344,
0.985340888500214,
1.058640277981758
]
}
],
"pending": false
}
},
{
"task": "87",
"view": "reset",
"snapshot": {
"step": 0,
"completed": [],
"autoVoice": false,
"camera": [
4.710436233410935,
2.9512571992809975,
7.498927284363225
],
"target": [
-0.5347172821647493,
0.019999997327493683,
0.8232773554487176
],
"zoom": 1,
"viewport": {
"x": 487,
"y": 188.5,
"w": 1422,
"h": 709.5
},
"area": {
"x": 492,
"y": 104.4375,
"w": 594,
"h": 529.0625
},
"primary": {
"x": 535.0327736263546,
"y": 157.15178063266154,
"w": 535.062513939072,
"h": 341.2761262688995
},
"rootBounds": [
{
"name": "架桥车前泵互救操作整车模型",
"size": [
1.8909461975097657,
2.024699456040764,
8.234097724812745
]
},
{
"name": "0916保障车.glb",
"size": [
1.570159560354596,
1.866612635663166,
5.511719475162634
]
},
{
"name": "双车连接油管.glb",
"size": [
4.068633728027344,
0.985340888500214,
1.058640277981758
]
}
],
"pending": false
}
},
{
"task": "88",
"view": "entry",
"snapshot": {
"step": 0,
"completed": [],
"autoVoice": false,
"camera": [
4.230899508763751,
3.1343251759404582,
6.8886078166304445
],
"target": [
-0.6275489786087158,
0.2634237970385468,
0.7051279236109421
],
"zoom": 1,
"viewport": {
"x": 487,
"y": 188.5,
"w": 1422,
"h": 709.5
},
"area": {
"x": 492,
"y": 104.4375,
"w": 594,
"h": 529.0625
},
"primary": {
"x": 503.7056101865825,
"y": 160.95072226767863,
"w": 585.0323456243613,
"h": 404.84522710991826
},
"rootBounds": [
{
"name": "架桥车前泵互救操作整车模型",
"size": [
1.8909461975097657,
2.024699456040764,
8.234097724812745
]
},
{
"name": "3封口袋.glb",
"size": [
0.08018212955272758,
0.08336285111041264,
0.08369391474136734
]
},
{
"name": "牛皮纸.glb",
"size": [
0.254213809967041,
0.2239204597473145,
3.648127636091125e-8
]
}
],
"pending": false
},
"media": {
"paused": true,
"time": 0
},
"badge": {
"max": "300px",
"width": 300,
"title": "教员预览 · 重型支援桥前泵换件修复 · 不计成绩"
}
},
{
"task": "88",
"view": "overview",
"snapshot": {
"step": 0,
"completed": [],
"autoVoice": false,
"camera": [
4.230899508763751,
3.1343251759404582,
6.8886078166304445
],
"target": [
-0.6275489786087158,
0.2634237970385468,
0.7051279236109421
],
"zoom": 1,
"viewport": {
"x": 487,
"y": 188.5,
"w": 1422,
"h": 709.5
},
"area": {
"x": 492,
"y": 104.4375,
"w": 594,
"h": 529.0625
},
"primary": {
"x": 503.7056101865825,
"y": 160.95072226767863,
"w": 585.0323456243613,
"h": 404.84522710991826
},
"rootBounds": [
{
"name": "架桥车前泵互救操作整车模型",
"size": [
1.8909461975097657,
2.024699456040764,
8.234097724812745
]
},
{
"name": "3封口袋.glb",
"size": [
0.08018212955272758,
0.08336285111041264,
0.08369391474136734
]
},
{
"name": "牛皮纸.glb",
"size": [
0.254213809967041,
0.2239204597473145,
3.648127636091125e-8
]
}
],
"pending": false
}
},
{
"task": "88",
"view": "reset",
"snapshot": {
"step": 0,
"completed": [],
"autoVoice": false,
"camera": [
4.230899508763751,
3.1343251759404582,
6.8886078166304445
],
"target": [
-0.6275489786087158,
0.2634237970385468,
0.7051279236109422
],
"zoom": 1,
"viewport": {
"x": 487,
"y": 188.5,
"w": 1422,
"h": 709.5
},
"area": {
"x": 492,
"y": 104.4375,
"w": 594,
"h": 529.0625
},
"primary": {
"x": 503.7056101865825,
"y": 160.95072226767869,
"w": 585.032345624361,
"h": 404.84522710991814
},
"rootBounds": [
{
"name": "架桥车前泵互救操作整车模型",
"size": [
1.8909461975097657,
2.024699456040764,
8.234097724812745
]
},
{
"name": "3封口袋.glb",
"size": [
0.08018212955272758,
0.08336285111041264,
0.08369391474136734
]
},
{
"name": "牛皮纸.glb",
"size": [
0.254213809967041,
0.2239204597473145,
3.648127636091125e-8
]
}
],
"pending": false
}
},
{
"task": "89",
"view": "entry",
"snapshot": {
"step": 0,
"completed": [],
"autoVoice": false,
"camera": [
4.230899508763751,
3.1343251759404582,
6.8886078166304445
],
"target": [
-0.6275489786087158,
0.2634237970385468,
0.7051279236109421
],
"zoom": 1,
"viewport": {
"x": 487,
"y": 188.5,
"w": 1422,
"h": 709.5
},
"area": {
"x": 492,
"y": 104.4375,
"w": 594,
"h": 529.0625
},
"primary": {
"x": 503.7056101865825,
"y": 160.95072226767863,
"w": 585.0323456243613,
"h": 404.84522710991826
},
"rootBounds": [
{
"name": "架桥车前泵互救操作整车模型",
"size": [
1.8909461975097657,
2.024699456040764,
8.234097724812745
]
},
{
"name": "4封口袋.glb",
"size": [
0.29693386419402845,
0.017112711789406765,
1.6563524089616042
]
}
],
"pending": false
},
"media": {
"paused": true,
"time": 0
},
"badge": {
"max": "300px",
"width": 300,
"title": "教员预览 · 重型支援桥平衡阀拆拼互换 · 不计成绩"
}
},
{
"task": "89",
"view": "overview",
"snapshot": {
"step": 0,
"completed": [],
"autoVoice": false,
"camera": [
4.230899508763751,
3.1343251759404582,
6.8886078166304445
],
"target": [
-0.6275489786087158,
0.2634237970385468,
0.7051279236109421
],
"zoom": 1,
"viewport": {
"x": 487,
"y": 188.5,
"w": 1422,
"h": 709.5
},
"area": {
"x": 492,
"y": 104.4375,
"w": 594,
"h": 529.0625
},
"primary": {
"x": 503.7056101865825,
"y": 160.95072226767863,
"w": 585.0323456243613,
"h": 404.84522710991826
},
"rootBounds": [
{
"name": "架桥车前泵互救操作整车模型",
"size": [
1.8909461975097657,
2.024699456040764,
8.234097724812745
]
},
{
"name": "4封口袋.glb",
"size": [
0.29693386419402845,
0.017112711789406765,
1.6563524089616042
]
}
],
"pending": false
}
},
{
"task": "89",
"view": "reset",
"snapshot": {
"step": 0,
"completed": [],
"autoVoice": false,
"camera": [
4.230899508763751,
3.1343251759404582,
6.8886078166304445
],
"target": [
-0.6275489786087157,
0.2634237970385467,
0.7051279236109421
],
"zoom": 1,
"viewport": {
"x": 487,
"y": 188.5,
"w": 1422,
"h": 709.5
},
"area": {
"x": 492,
"y": 104.4375,
"w": 594,
"h": 529.0625
},
"primary": {
"x": 503.7056101865825,
"y": 160.95072226767869,
"w": 585.032345624361,
"h": 404.84522710991814
},
"rootBounds": [
{
"name": "架桥车前泵互救操作整车模型",
"size": [
1.8909461975097657,
2.024699456040764,
8.234097724812745
]
},
{
"name": "4封口袋.glb",
"size": [
0.29693386419402845,
0.017112711789406765,
1.6563524089616042
]
}
],
"pending": false
}
}
],
"errors": []
}

Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


+ 155
- 0
reports/bridge-introduction-3d-20260925-laptop-layout/result.json Просмотреть файл

@@ -0,0 +1,155 @@
{
"pass": true,
"baseUrl": "http://192.168.31.168:6180",
"viewport": {
"width": 1366,
"height": 768
},
"accountRole": "root",
"checks": [
{
"task": "87",
"introductionPages": 3,
"rotationRadians": 0.05352226684165815,
"initial": {
"intro": true,
"step": 0,
"completed": [],
"camera": [
8.15480955512277,
4.868351518765439,
9.48212777763654
],
"target": [
0.5178556450185945,
0.35560602643115474,
-0.23763174431422704
],
"zoom": 1,
"angle": 0.008136724972797514,
"paused": false,
"previewCamera": [
8.249730305020574,
4.855464379015016,
8.09621078225285
],
"canvasInPreview": true,
"sameRenderer": true,
"controlsEnabled": false,
"tween": false,
"tools": null,
"teacher": {
"x": 17,
"y": 210.90625,
"w": 390,
"h": 248.59375
}
},
"operation": {
"intro": false,
"step": 0,
"completed": [],
"camera": [
8.15480955512277,
4.868351518765439,
9.48212777763654
],
"target": [
0.5178556450185945,
0.3556060264311547,
-0.23763174431422707
],
"zoom": 1,
"angle": 0,
"paused": false,
"canvasInPreview": false,
"sameRenderer": true,
"controlsEnabled": true,
"tween": false,
"tools": null,
"teacher": {
"x": 17,
"y": 210.90625,
"w": 390,
"h": 248.59375
},
"objects": [
{
"name": "架桥车前泵互救操作整车模型",
"x": 446.5035684451876,
"y": 176.7553984764075,
"w": 296.2983330309901,
"h": 170.96639994278723
},
{
"name": "0916保障车.glb",
"x": 649.6272788730728,
"y": 207.68352865882758,
"w": 230.3413377186249,
"h": 187.18249766132686
},
{
"name": "双车连接油管.glb",
"x": null,
"y": null,
"w": null,
"h": null
}
]
},
"reset": {
"intro": false,
"step": 0,
"completed": [],
"camera": [
8.15480955512277,
4.868351518765439,
9.48212777763654
],
"target": [
0.5178556450185945,
0.3556060264311548,
-0.23763174431422684
],
"zoom": 1,
"angle": 0,
"paused": false,
"canvasInPreview": false,
"sameRenderer": true,
"controlsEnabled": true,
"tween": false,
"tools": null,
"teacher": {
"x": 17,
"y": 210.90625,
"w": 390,
"h": 248.59375
},
"objects": [
{
"name": "架桥车前泵互救操作整车模型",
"x": 446.5035684451877,
"y": 176.75539847640752,
"w": 296.29833303099,
"h": 170.9663999427872
},
{
"name": "0916保障车.glb",
"x": 649.6272788730728,
"y": 207.68352865882764,
"w": 230.3413377186249,
"h": 187.1824976613268
},
{
"name": "双车连接油管.glb",
"x": null,
"y": null,
"w": null,
"h": null
}
]
}
}
],
"errors": []
}

Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


+ 542
- 0
reports/bridge-introduction-3d-20260925-laptop/result.json Просмотреть файл

@@ -0,0 +1,542 @@
{
"pass": true,
"baseUrl": "http://192.168.31.168:6180",
"viewport": {
"width": 1366,
"height": 768
},
"accountRole": "root",
"checks": [
{
"task": "86",
"introductionPages": 6,
"rotationRadians": 0.05293932687149204,
"initial": {
"intro": true,
"step": 0,
"completed": [],
"camera": [
4.139573632200384,
2.4701517887342663,
6.790164690632832
],
"target": [
-0.703549625063884,
0.41410889649943533,
0.7591055400773312
],
"zoom": 1,
"angle": 0.012220795422464306,
"paused": false,
"previewCamera": [
5.635029975175856,
3.343455438300739,
6.860461441065012
],
"canvasInPreview": true,
"sameRenderer": true,
"controlsEnabled": false,
"tween": false,
"tools": null,
"teacher": {
"x": 17,
"y": 210.90625,
"w": 390,
"h": 248.59375
}
},
"operation": {
"intro": false,
"step": 0,
"completed": [],
"camera": [
4.139573632200384,
2.4701517887342663,
6.790164690632832
],
"target": [
-0.703549625063884,
0.4141088964994354,
0.7591055400773312
],
"zoom": 1,
"angle": 0,
"paused": false,
"canvasInPreview": false,
"sameRenderer": true,
"controlsEnabled": true,
"tween": false,
"tools": null,
"teacher": {
"x": 17,
"y": 210.90625,
"w": 390,
"h": 248.59375
},
"objects": [
{
"name": "架桥车前泵互救操作整车模型",
"x": 438.0649607713952,
"y": 152.89985180346815,
"w": 435.3507896957395,
"h": 239.0714481816878
}
]
},
"reset": {
"intro": false,
"step": 0,
"completed": [],
"camera": [
4.139573632200384,
2.4701517887342663,
6.790164690632832
],
"target": [
-0.703549625063884,
0.4141088964994354,
0.7591055400773312
],
"zoom": 1,
"angle": 0,
"paused": false,
"canvasInPreview": false,
"sameRenderer": true,
"controlsEnabled": true,
"tween": false,
"tools": null,
"teacher": {
"x": 17,
"y": 210.90625,
"w": 390,
"h": 248.59375
},
"objects": [
{
"name": "架桥车前泵互救操作整车模型",
"x": 438.0649607713952,
"y": 152.8998518034682,
"w": 435.3507896957397,
"h": 239.07144818168774
}
]
}
},
{
"task": "87",
"introductionPages": 3,
"rotationRadians": 0.05294281752999601,
"initial": {
"intro": true,
"step": 0,
"completed": [],
"camera": [
8.15480955512277,
4.868351518765439,
9.48212777763654
],
"target": [
0.5178556450185945,
0.35560602643115474,
-0.23763174431422704
],
"zoom": 1,
"angle": 0.008726646259971648,
"paused": false,
"previewCamera": [
8.264087632286845,
4.855464379015016,
8.084746513318919
],
"canvasInPreview": true,
"sameRenderer": true,
"controlsEnabled": false,
"tween": false,
"tools": null,
"teacher": {
"x": 17,
"y": 210.90625,
"w": 390,
"h": 248.59375
}
},
"operation": {
"intro": false,
"step": 0,
"completed": [],
"camera": [
8.15480955512277,
4.868351518765439,
9.48212777763654
],
"target": [
0.5178556450185945,
0.3556060264311547,
-0.23763174431422707
],
"zoom": 1,
"angle": 0,
"paused": false,
"canvasInPreview": false,
"sameRenderer": true,
"controlsEnabled": true,
"tween": false,
"tools": null,
"teacher": {
"x": 17,
"y": 210.90625,
"w": 390,
"h": 248.59375
},
"objects": [
{
"name": "架桥车前泵互救操作整车模型",
"x": 446.5035684451876,
"y": 176.7553984764075,
"w": 296.2983330309901,
"h": 170.96639994278723
},
{
"name": "0916保障车.glb",
"x": 649.6272788730728,
"y": 207.68352865882758,
"w": 230.3413377186249,
"h": 187.18249766132686
},
{
"name": "双车连接油管.glb",
"x": null,
"y": null,
"w": null,
"h": null
}
]
},
"reset": {
"intro": false,
"step": 0,
"completed": [],
"camera": [
8.15480955512277,
4.868351518765439,
9.48212777763654
],
"target": [
0.5178556450185945,
0.3556060264311548,
-0.23763174431422684
],
"zoom": 1,
"angle": 0,
"paused": false,
"canvasInPreview": false,
"sameRenderer": true,
"controlsEnabled": true,
"tween": false,
"tools": null,
"teacher": {
"x": 17,
"y": 210.90625,
"w": 390,
"h": 248.59375
},
"objects": [
{
"name": "架桥车前泵互救操作整车模型",
"x": 446.5035684451877,
"y": 176.75539847640752,
"w": 296.29833303099,
"h": 170.9663999427872
},
{
"name": "0916保障车.glb",
"x": 649.6272788730728,
"y": 207.68352865882764,
"w": 230.3413377186249,
"h": 187.1824976613268
},
{
"name": "双车连接油管.glb",
"x": null,
"y": null,
"w": null,
"h": null
}
]
}
},
{
"task": "88",
"introductionPages": 1,
"rotationRadians": 0.05235289624282193,
"initial": {
"intro": true,
"step": 0,
"completed": [],
"camera": [
4.100165435367536,
3.1711175922722625,
6.7555772266932665
],
"target": [
-0.6645464452866469,
0.35560602643115474,
0.6913984694970342
],
"zoom": 1,
"angle": 0.022109830964264186,
"paused": false,
"previewCamera": [
5.577376459985299,
4.53102987134045,
7.313123217161224
],
"canvasInPreview": true,
"sameRenderer": true,
"controlsEnabled": false,
"tween": false,
"tools": null,
"teacher": {
"x": 17,
"y": 223.5,
"w": 390,
"h": 236
}
},
"operation": {
"intro": false,
"step": 0,
"completed": [],
"camera": [
4.100165435367536,
3.1711175922722625,
6.7555772266932665
],
"target": [
-0.6645464452866469,
0.35560602643115474,
0.6913984694970342
],
"zoom": 1,
"angle": 0,
"paused": false,
"canvasInPreview": false,
"sameRenderer": true,
"controlsEnabled": true,
"tween": false,
"tools": null,
"teacher": {
"x": 17,
"y": 223.5,
"w": 390,
"h": 236
},
"objects": [
{
"name": "架桥车前泵互救操作整车模型",
"x": 438.2834542952193,
"y": 129.81067168020698,
"w": 435.05633414489654,
"h": 275.1639184936073
},
{
"name": "3封口袋.glb",
"x": null,
"y": null,
"w": null,
"h": null
},
{
"name": "牛皮纸.glb",
"x": null,
"y": null,
"w": null,
"h": null
}
]
},
"reset": {
"intro": false,
"step": 0,
"completed": [],
"camera": [
4.100165435367536,
3.171117592272262,
6.7555772266932665
],
"target": [
-0.6645464452866469,
0.3556060264311547,
0.6913984694970343
],
"zoom": 1,
"angle": 0,
"paused": false,
"canvasInPreview": false,
"sameRenderer": true,
"controlsEnabled": true,
"tween": false,
"tools": null,
"teacher": {
"x": 17,
"y": 223.5,
"w": 390,
"h": 236
},
"objects": [
{
"name": "架桥车前泵互救操作整车模型",
"x": 438.2834542952194,
"y": 129.81067168020704,
"w": 435.05633414489654,
"h": 275.1639184936072
},
{
"name": "3封口袋.glb",
"x": null,
"y": null,
"w": null,
"h": null
},
{
"name": "牛皮纸.glb",
"x": null,
"y": null,
"w": null,
"h": null
}
]
}
},
{
"task": "89",
"introductionPages": 1,
"rotationRadians": 0.052942817529996064,
"initial": {
"intro": true,
"step": 0,
"completed": [],
"camera": [
4.100165435367536,
3.1711175922722625,
6.7555772266932665
],
"target": [
-0.6645464452866469,
0.35560602643115474,
0.6913984694970342
],
"zoom": 1,
"angle": 0.025014058839582753,
"paused": false,
"previewCamera": [
5.964277924544984,
4.431413818972688,
7.08493152531313
],
"canvasInPreview": true,
"sameRenderer": true,
"controlsEnabled": false,
"tween": false,
"tools": null,
"teacher": {
"x": 17,
"y": 223.5,
"w": 390,
"h": 236
}
},
"operation": {
"intro": false,
"step": 0,
"completed": [],
"camera": [
4.100165435367536,
3.1711175922722625,
6.7555772266932665
],
"target": [
-0.6645464452866469,
0.35560602643115474,
0.6913984694970342
],
"zoom": 1,
"angle": 0,
"paused": false,
"canvasInPreview": false,
"sameRenderer": true,
"controlsEnabled": true,
"tween": false,
"tools": null,
"teacher": {
"x": 17,
"y": 223.5,
"w": 390,
"h": 236
},
"objects": [
{
"name": "架桥车前泵互救操作整车模型",
"x": 438.2834542952193,
"y": 129.81067168020698,
"w": 435.05633414489654,
"h": 275.1639184936073
},
{
"name": "4封口袋.glb",
"x": null,
"y": null,
"w": null,
"h": null
}
]
},
"reset": {
"intro": false,
"step": 0,
"completed": [],
"camera": [
4.100165435367536,
3.1711175922722625,
6.7555772266932665
],
"target": [
-0.6645464452866469,
0.3556060264311549,
0.6913984694970342
],
"zoom": 1,
"angle": 0,
"paused": false,
"canvasInPreview": false,
"sameRenderer": true,
"controlsEnabled": true,
"tween": false,
"tools": null,
"teacher": {
"x": 17,
"y": 223.5,
"w": 390,
"h": 236
},
"objects": [
{
"name": "架桥车前泵互救操作整车模型",
"x": 438.2834542952194,
"y": 129.81067168020704,
"w": 435.0563341448964,
"h": 275.1639184936073
},
{
"name": "4封口袋.glb",
"x": null,
"y": null,
"w": null,
"h": null
}
]
}
}
],
"errors": []
}

Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


+ 170
- 0
reports/bridge-introduction-3d-20260925-resize/result.json Просмотреть файл

@@ -0,0 +1,170 @@
{
"pass": true,
"baseUrl": "http://127.0.0.1:6180",
"viewport": {
"width": 1920,
"height": 945
},
"accountRole": "root",
"checks": [
{
"task": "87",
"introductionPages": 3,
"rotationRadians": 0.05409473483631226,
"initial": {
"intro": true,
"step": 0,
"completed": [],
"camera": [
5.627354467761453,
4.598246824163863,
9.330622589672995
],
"target": [
-1.0396165608364782,
0.658673034537816,
0.8453867350938089
],
"zoom": 1,
"angle": 0.00873362757697965,
"paused": false,
"previewCamera": [
8.26414502140324,
4.855464379015018,
8.084700605937973
],
"canvasInPreview": true,
"sameRenderer": true,
"controlsEnabled": false,
"tween": false,
"tools": {
"x": 1101,
"y": 95,
"w": 310,
"h": 269
},
"teacher": {
"x": 17,
"y": 400.5,
"w": 460,
"h": 236
}
},
"operation": {
"intro": false,
"step": 0,
"completed": [],
"camera": [
5.627354467761453,
4.598246824163864,
9.330622589672995
],
"target": [
-1.0396165608364782,
0.658673034537816,
0.8453867350938089
],
"zoom": 1,
"angle": 0,
"paused": false,
"canvasInPreview": false,
"sameRenderer": true,
"controlsEnabled": true,
"tween": false,
"tools": {
"x": 1101,
"y": 95,
"w": 310,
"h": 269
},
"teacher": {
"x": 17,
"y": 400.5,
"w": 460,
"h": 236
},
"objects": [
{
"name": "架桥车前泵互救操作整车模型",
"x": 439.93688414755553,
"y": 110.00253923432476,
"w": 393.9176556502329,
"h": 269.9929595837525
},
{
"name": "0916保障车.glb",
"x": 789.8889160681427,
"y": 158.1657115825596,
"w": 298.6399069421399,
"h": 306.68924040160243
},
{
"name": "双车连接油管.glb",
"x": null,
"y": null,
"w": null,
"h": null
}
]
},
"reset": {
"intro": false,
"step": 0,
"completed": [],
"camera": [
5.627354467761453,
4.598246824163864,
9.330622589672995
],
"target": [
-1.0396165608364782,
0.658673034537816,
0.8453867350938091
],
"zoom": 1,
"angle": 0,
"paused": false,
"canvasInPreview": false,
"sameRenderer": true,
"controlsEnabled": true,
"tween": false,
"tools": {
"x": 1101,
"y": 95,
"w": 310,
"h": 269
},
"teacher": {
"x": 17,
"y": 400.5,
"w": 460,
"h": 236
},
"objects": [
{
"name": "架桥车前泵互救操作整车模型",
"x": 439.93688414755553,
"y": 110.00253923432476,
"w": 393.91765565023314,
"h": 269.9929595837525
},
{
"name": "0916保障车.glb",
"x": 789.8889160681427,
"y": 158.16571158255965,
"w": 298.6399069421399,
"h": 306.6892404016023
},
{
"name": "双车连接油管.glb",
"x": null,
"y": null,
"w": null,
"h": null
}
]
}
}
],
"errors": []
}

Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


+ 36
- 0
reports/bridge-introduction-3d-20260925/index.html Просмотреть файл

@@ -0,0 +1,36 @@
<!doctype html>
<html lang="zh-CN">
<meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1">
<title>背景与讲解实时 3D、双车取景检查</title>
<style>
*{box-sizing:border-box}body{margin:0;background:#f2f7f5;color:#193c35;font:15px/1.75 system-ui,sans-serif}main{max-width:1500px;padding:32px;margin:auto}h1{font-size:28px;margin:0 0 12px}h2{font-size:21px;margin:0 0 14px}p{margin:8px 0}a{color:#00866c}section{background:#fff;border:1px solid #d2e2dc;border-radius:12px;padding:24px;margin:24px 0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}figure{margin:0}figcaption{margin-bottom:8px;color:#526d65}img{display:block;width:100%;border:1px solid #d2e2dc;border-radius:6px}details{margin-top:16px}summary{cursor:pointer;color:#00866c}code{font-size:13px;overflow-wrap:anywhere}.note{font-size:13px;color:#526d65}@media(max-width:900px){main{padding:16px}.grid{grid-template-columns:1fr}}
</style>
<main>
<h1>背景与讲解实时 3D、双车取景检查</h1>
<p>2026-09-25 · 本地开发环境 · 正式教员预览入口</p>
<section>
<p>006 默认取景向左调整,主车与支援车分别避让数字教员、右侧工具栏。复位时采用相同布局,窄屏根据剩余空间自动取景。</p>
<p>005–008 共 11 个背景/讲解页的场景图片,已替换为实时 3D。预览从整车视角开始缓慢旋转,约 3 分钟一圈,可暂停和继续。原有视频类型讲解仍使用视频播放器。</p>
<p>预览与操作共用已加载的模型、场地、HDR 和 WebGL 画布,使用独立预览相机。进入操作步骤时停止旋转;从部件聚焦返回背景页,再回到操作页,保持原来的操作相机、步骤与零件状态。数字人视频默认仍不自动播放。</p>
<p>已通过:14 项单元与契约检查;四个脚本在 1920 × 945 桌面和 1366 × 768 笔记本下的浏览器检查;生产构建(含类型检查、legacy 模型编辑器产物校验)。</p>
<p><a href="result.json">桌面结果</a> · <a href="../bridge-introduction-3d-20260925-laptop/result.json">笔记本结果</a> · <a href="../bridge-introduction-3d-20260925-resize/result.json">全屏与缩放结果</a> · <a href="../bridge-introduction-3d-20260925-laptop-layout/result.json">笔记本全屏与面板展开/收起</a></p>
<details><summary>环境、检查范围与命令</summary>
<p>桌面 <code>http://127.0.0.1:6180</code>;笔记本 <code>http://192.168.31.168:6180</code>;沿用 Vite 至 6100 Gateway 的 API 代理。使用 root 教员预览,没有提交成绩或修改场景/训练配置。</p>
<p><code>node --test scripts/training-overview.test.mjs scripts/introduction-orbit.test.mjs scripts/introduction-narration.test.mjs scripts/training-introduction.test.mjs scripts/virtual-training-formal-route.contract.test.mjs</code></p>
<p><code>node tools/bridge-introduction-3d-live.mjs</code>;通过 <code>WIDTH / HEIGHT / BASE_URL / REPORT_SUFFIX</code> 切换窗口与地址,通过 <code>CHECK_LAYOUT=1</code> 补查全屏与窗口缩放。</p>
<p><code>pnpm build</code> 通过。现有的大文件体积提示不影响构建。</p>
<p class="note">浏览器检查覆盖真实旋转、暂停/继续、所有背景与讲解页、单画布复用、数字人手动播放、返回操作、聚焦视角保留、复位比例与双车遮挡。几何单元测试覆盖整圈旋转的取景范围。没有重新执行全部拆装流程。</p>
</details>
</section>
<section><h2>006:支援车避开面板</h2><div class="grid">
<figure><figcaption>调整前</figcaption><a href="../bridge-entry-view-20260925/task-87-overview.png"><img src="../bridge-entry-view-20260925/task-87-overview.png" alt="006 调整前,支援车被工具栏遮挡"></a></figure>
<figure><figcaption>调整后</figcaption><a href="task-87-operation.png"><img src="task-87-operation.png" alt="006 两车避开面板"></a></figure>
</div></section>
<div id="scenes"></div>
<script>
const tasks=[['86','005 液压泵应急切换'],['87','006 液压泵应急替代'],['88','007 前泵换件修复'],['89','008 平衡阀拆拼互换']];
const photo=(src,label)=>`<figure><figcaption>${label}</figcaption><a href="${src}" target="_blank"><img src="${src}" alt="${label}" loading="lazy"></a></figure>`;
document.querySelector('#scenes').innerHTML=tasks.map(([id,title])=>`<section><h2>${title}</h2><div class="grid">${photo(`task-${id}-background.png`,'背景页:实时 3D,截图时暂停旋转')}${photo(`task-${id}-operation.png`,'返回操作步骤')}</div><details><summary>查看讲解页、复位与笔记本画面</summary><div class="grid">${id==='86'||id==='87'?photo(`task-${id}-lecture.png`,'讲解页:同一场景继续缓慢旋转'):''}${photo(`task-${id}-reset.png`,'聚焦后复位')}${photo(`../bridge-introduction-3d-20260925-laptop/task-${id}-background.png`,'笔记本背景页')}${photo(`../bridge-introduction-3d-20260925-laptop/task-${id}-operation.png`,'笔记本操作页')}</div></details></section>`).join('');
</script>
</main>
</html>

+ 602
- 0
reports/bridge-introduction-3d-20260925/result.json Просмотреть файл

@@ -0,0 +1,602 @@
{
"pass": true,
"baseUrl": "http://127.0.0.1:6180",
"viewport": {
"width": 1920,
"height": 945
},
"accountRole": "root",
"checks": [
{
"task": "86",
"introductionPages": 6,
"rotationRadians": 0.052939326871492054,
"initial": {
"intro": true,
"step": 0,
"completed": [],
"camera": [
4.2568983919053,
2.47982911756675,
6.903596207500909
],
"target": [
-0.6824137407897487,
0.38295132538488913,
0.7527546837674542
],
"zoom": 1,
"angle": 0.021526890994098057,
"paused": false,
"previewCamera": [
5.715236698580875,
3.3470426528610395,
6.811414632595393
],
"canvasInPreview": true,
"sameRenderer": true,
"controlsEnabled": false,
"tween": false,
"tools": {
"x": 1101,
"y": 95,
"w": 310,
"h": 288.5
},
"teacher": {
"x": 17,
"y": 400.5,
"w": 460,
"h": 236
}
},
"operation": {
"intro": false,
"step": 0,
"completed": [],
"camera": [
4.2568983919053,
2.47982911756675,
6.903596207500909
],
"target": [
-0.6824137407897487,
0.38295132538488913,
0.7527546837674542
],
"zoom": 1,
"angle": 0,
"paused": false,
"canvasInPreview": false,
"sameRenderer": true,
"controlsEnabled": true,
"tween": false,
"tools": {
"x": 1101,
"y": 95,
"w": 310,
"h": 288.5
},
"teacher": {
"x": 17,
"y": 400.5,
"w": 460,
"h": 236
},
"objects": [
{
"name": "架桥车前泵互救操作整车模型",
"x": 511.2435228227729,
"y": 199.4067053152598,
"w": 568.695436361306,
"h": 309.70143621994237
}
]
},
"reset": {
"intro": false,
"step": 0,
"completed": [],
"camera": [
4.2568983919053,
2.47982911756675,
6.903596207500909
],
"target": [
-0.6824137407897487,
0.38295132538488913,
0.7527546837674542
],
"zoom": 1,
"angle": 0,
"paused": false,
"canvasInPreview": false,
"sameRenderer": true,
"controlsEnabled": true,
"tween": false,
"tools": {
"x": 1101,
"y": 95,
"w": 310,
"h": 288.5
},
"teacher": {
"x": 17,
"y": 400.5,
"w": 460,
"h": 236
},
"objects": [
{
"name": "架桥车前泵互救操作整车模型",
"x": 511.243522822773,
"y": 199.4067053152599,
"w": 568.6954363613058,
"h": 309.70143621994225
}
]
}
},
{
"task": "87",
"introductionPages": 3,
"rotationRadians": 0.05352575750016207,
"initial": {
"intro": true,
"step": 0,
"completed": [],
"camera": [
5.627354467761453,
4.598246824163863,
9.330622589672995
],
"target": [
-1.0396165608364782,
0.658673034537816,
0.8453867350938089
],
"zoom": 1,
"angle": 0.008136724972797577,
"paused": false,
"previewCamera": [
8.249730305020574,
4.85546437901502,
8.09621078225285
],
"canvasInPreview": true,
"sameRenderer": true,
"controlsEnabled": false,
"tween": false,
"tools": {
"x": 1101,
"y": 95,
"w": 310,
"h": 269
},
"teacher": {
"x": 17,
"y": 400.5,
"w": 460,
"h": 236
}
},
"operation": {
"intro": false,
"step": 0,
"completed": [],
"camera": [
5.627354467761453,
4.598246824163864,
9.330622589672995
],
"target": [
-1.0396165608364782,
0.658673034537816,
0.8453867350938089
],
"zoom": 1,
"angle": 0,
"paused": false,
"canvasInPreview": false,
"sameRenderer": true,
"controlsEnabled": true,
"tween": false,
"tools": {
"x": 1101,
"y": 95,
"w": 310,
"h": 269
},
"teacher": {
"x": 17,
"y": 400.5,
"w": 460,
"h": 236
},
"objects": [
{
"name": "架桥车前泵互救操作整车模型",
"x": 439.93688414755553,
"y": 110.00253923432476,
"w": 393.9176556502329,
"h": 269.9929595837525
},
{
"name": "0916保障车.glb",
"x": 789.8889160681427,
"y": 158.1657115825596,
"w": 298.6399069421399,
"h": 306.68924040160243
},
{
"name": "双车连接油管.glb",
"x": null,
"y": null,
"w": null,
"h": null
}
]
},
"reset": {
"intro": false,
"step": 0,
"completed": [],
"camera": [
5.627354467761453,
4.598246824163864,
9.330622589672995
],
"target": [
-1.0396165608364782,
0.658673034537816,
0.8453867350938091
],
"zoom": 1,
"angle": 0,
"paused": false,
"canvasInPreview": false,
"sameRenderer": true,
"controlsEnabled": true,
"tween": false,
"tools": {
"x": 1101,
"y": 95,
"w": 310,
"h": 269
},
"teacher": {
"x": 17,
"y": 400.5,
"w": 460,
"h": 236
},
"objects": [
{
"name": "架桥车前泵互救操作整车模型",
"x": 439.93688414755553,
"y": 110.00253923432476,
"w": 393.91765565023314,
"h": 269.9929595837525
},
{
"name": "0916保障车.glb",
"x": 789.8889160681427,
"y": 158.16571158255965,
"w": 298.6399069421399,
"h": 306.6892404016023
},
{
"name": "双车连接油管.glb",
"x": null,
"y": null,
"w": null,
"h": null
}
]
}
},
{
"task": "88",
"introductionPages": 1,
"rotationRadians": 0.05235638690132595,
"initial": {
"intro": true,
"step": 0,
"completed": [],
"camera": [
4.230899508763751,
3.1343251759404582,
6.8886078166304445
],
"target": [
-0.6275489786087158,
0.2634237970385468,
0.7051279236109421
],
"zoom": 1,
"angle": 0.025600489468252843,
"paused": false,
"previewCamera": [
5.603392161586465,
4.531029871340452,
7.291684674995296
],
"canvasInPreview": true,
"sameRenderer": true,
"controlsEnabled": false,
"tween": false,
"tools": {
"x": 1101,
"y": 95,
"w": 310,
"h": 269
},
"teacher": {
"x": 17,
"y": 400.5,
"w": 460,
"h": 236
}
},
"operation": {
"intro": false,
"step": 0,
"completed": [],
"camera": [
4.230899508763751,
3.1343251759404582,
6.8886078166304445
],
"target": [
-0.6275489786087158,
0.2634237970385468,
0.7051279236109421
],
"zoom": 1,
"angle": 0,
"paused": false,
"canvasInPreview": false,
"sameRenderer": true,
"controlsEnabled": true,
"tween": false,
"tools": {
"x": 1101,
"y": 95,
"w": 310,
"h": 269
},
"teacher": {
"x": 17,
"y": 400.5,
"w": 460,
"h": 236
},
"objects": [
{
"name": "架桥车前泵互救操作整车模型",
"x": 511.50280294370754,
"y": 164.1069293881087,
"w": 568.3384381257642,
"h": 350.3052138413161
},
{
"name": "3封口袋.glb",
"x": null,
"y": null,
"w": null,
"h": null
},
{
"name": "牛皮纸.glb",
"x": null,
"y": null,
"w": null,
"h": null
}
]
},
"reset": {
"intro": false,
"step": 0,
"completed": [],
"camera": [
4.230899508763751,
3.1343251759404582,
6.8886078166304445
],
"target": [
-0.6275489786087158,
0.2634237970385468,
0.7051279236109422
],
"zoom": 1,
"angle": 0,
"paused": false,
"canvasInPreview": false,
"sameRenderer": true,
"controlsEnabled": true,
"tween": false,
"tools": {
"x": 1101,
"y": 95,
"w": 310,
"h": 269
},
"teacher": {
"x": 17,
"y": 400.5,
"w": 460,
"h": 236
},
"objects": [
{
"name": "架桥车前泵互救操作整车模型",
"x": 511.5028029437077,
"y": 164.10692938810874,
"w": 568.3384381257641,
"h": 350.305213841316
},
{
"name": "3封口袋.glb",
"x": null,
"y": null,
"w": null,
"h": null
},
{
"name": "牛皮纸.glb",
"x": null,
"y": null,
"w": null,
"h": null
}
]
}
},
{
"task": "89",
"introductionPages": 1,
"rotationRadians": 0.05235987755982993,
"initial": {
"intro": true,
"step": 0,
"completed": [],
"camera": [
4.230899508763751,
3.1343251759404582,
6.8886078166304445
],
"target": [
-0.6275489786087158,
0.2634237970385468,
0.7051279236109421
],
"zoom": 1,
"angle": 0.028504717343571406,
"paused": false,
"previewCamera": [
5.989496426019214,
4.431413818972688,
7.06402650521135
],
"canvasInPreview": true,
"sameRenderer": true,
"controlsEnabled": false,
"tween": false,
"tools": {
"x": 1101,
"y": 95,
"w": 310,
"h": 269
},
"teacher": {
"x": 17,
"y": 400.5,
"w": 460,
"h": 236
}
},
"operation": {
"intro": false,
"step": 0,
"completed": [],
"camera": [
4.230899508763751,
3.1343251759404582,
6.8886078166304445
],
"target": [
-0.6275489786087158,
0.2634237970385468,
0.7051279236109421
],
"zoom": 1,
"angle": 0,
"paused": false,
"canvasInPreview": false,
"sameRenderer": true,
"controlsEnabled": true,
"tween": false,
"tools": {
"x": 1101,
"y": 95,
"w": 310,
"h": 269
},
"teacher": {
"x": 17,
"y": 400.5,
"w": 460,
"h": 236
},
"objects": [
{
"name": "架桥车前泵互救操作整车模型",
"x": 511.50280294370754,
"y": 164.1069293881087,
"w": 568.3384381257642,
"h": 350.3052138413161
},
{
"name": "4封口袋.glb",
"x": null,
"y": null,
"w": null,
"h": null
}
]
},
"reset": {
"intro": false,
"step": 0,
"completed": [],
"camera": [
4.230899508763751,
3.1343251759404582,
6.8886078166304445
],
"target": [
-0.6275489786087156,
0.2634237970385467,
0.7051279236109421
],
"zoom": 1,
"angle": 0,
"paused": false,
"canvasInPreview": false,
"sameRenderer": true,
"controlsEnabled": true,
"tween": false,
"tools": {
"x": 1101,
"y": 95,
"w": 310,
"h": 269
},
"teacher": {
"x": 17,
"y": 400.5,
"w": 460,
"h": 236
},
"objects": [
{
"name": "架桥车前泵互救操作整车模型",
"x": 511.5028029437077,
"y": 164.10692938810874,
"w": 568.3384381257641,
"h": 350.305213841316
},
{
"name": "4封口袋.glb",
"x": null,
"y": null,
"w": null,
"h": null
}
]
}
}
],
"errors": []
}

Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


+ 1
- 0
reports/bridge-label-placement-20260925-laptop/index.html Просмотреть файл

@@ -0,0 +1 @@
<!doctype html><meta charset="utf-8"><title>部件标签位置检查</title><style>body{font:16px system-ui;max-width:1400px;margin:28px auto;background:#f4f8f7;color:#17453d}img{width:100%;border:1px solid #b9ceca}section{margin:24px 0}a{color:#078871}</style><h1>部件标签位置检查:通过</h1><p>http://192.168.31.168:6180 · 1366 × 768 · 教员预览(root)· 未创建任务或提交训练成绩。</p><p>标签中心距部件投影不超过128像素,互不重叠;检查聚焦、隐藏其他、复位和移动视角。</p><a href="result.json">检查数据</a><section><h2>任务 86 · overview</h2><img src="task-86-overview.png"></section><section><h2>任务 86 · focus</h2><img src="task-86-focus.png"></section><section><h2>任务 86 · hide-others</h2><img src="task-86-hide-others.png"></section><section><h2>任务 86 · reset</h2><img src="task-86-reset.png"></section><section><h2>任务 86 · moved</h2><img src="task-86-moved.png"></section><section><h2>任务 87 · overview</h2><img src="task-87-overview.png"></section><section><h2>任务 87 · focus</h2><img src="task-87-focus.png"></section><section><h2>任务 87 · hide-others</h2><img src="task-87-hide-others.png"></section><section><h2>任务 87 · reset</h2><img src="task-87-reset.png"></section><section><h2>任务 87 · moved</h2><img src="task-87-moved.png"></section><section><h2>任务 88 · overview</h2><img src="task-88-overview.png"></section><section><h2>任务 88 · focus</h2><img src="task-88-focus.png"></section><section><h2>任务 88 · hide-others</h2><img src="task-88-hide-others.png"></section><section><h2>任务 88 · reset</h2><img src="task-88-reset.png"></section><section><h2>任务 88 · moved</h2><img src="task-88-moved.png"></section><section><h2>任务 89 · overview</h2><img src="task-89-overview.png"></section><section><h2>任务 89 · focus</h2><img src="task-89-focus.png"></section><section><h2>任务 89 · hide-others</h2><img src="task-89-hide-others.png"></section><section><h2>任务 89 · reset</h2><img src="task-89-reset.png"></section><section><h2>任务 89 · moved</h2><img src="task-89-moved.png"></section>

+ 5493
- 0
reports/bridge-label-placement-20260925-laptop/result.json
Разница между файлами не показана из-за своего большого размера
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Двоичные данные
Просмотреть файл


Некоторые файлы не были показаны из-за большого количества измененных файлов

Загрузка…
Отмена
Сохранить