Переглянути джерело

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

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

+ 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
Різницю між файлами не показано, бо вона завелика
Переглянути файл











Деякі файли не було показано, через те що забагато файлів було змінено

Завантаження…
Відмінити
Зберегти