Files
ttstd-infinite-canvas/web/public/canvas/models/director-repro-triangle.gltf
echoD886 ad0775605d fix(canvas): 3D 导演台 - 完成 Issue #305 P0 稳定性治理 (#324)
* fix(canvas): 3D 导演台 - 修复状态回弹与保存恢复生命周期

* style(canvas): 3D 导演台 - 对齐 CI 格式门禁
2026-08-27 10:32:45 +08:00

55 lines
1.7 KiB
JSON

{
"asset": { "version": "2.0", "generator": "director-repro-fixture (hand-authored, offline)" },
"scene": 0,
"scenes": [{ "name": "ReproTriangleScene", "nodes": [0] }],
"nodes": [{ "name": "ReproTriangle", "mesh": 0 }],
"meshes": [
{
"name": "ReproTriangleMesh",
"primitives": [{ "attributes": { "POSITION": 0 }, "indices": 1, "material": 0, "mode": 4 }]
}
],
"materials": [
{
"name": "ReproTriangleMaterial",
"doubleSided": true,
"pbrMetallicRoughness": {
"baseColorFactor": [0.42, 0.58, 0.72, 1.0],
"metallicFactor": 0.0,
"roughnessFactor": 0.85
}
}
],
"accessors": [
{
"name": "positions",
"bufferView": 0,
"byteOffset": 0,
"componentType": 5126,
"count": 3,
"type": "VEC3",
"min": [0.0, 0.0, 0.0],
"max": [1.0, 1.0, 0.0]
},
{
"name": "indices",
"bufferView": 1,
"byteOffset": 0,
"componentType": 5123,
"count": 3,
"type": "SCALAR"
}
],
"bufferViews": [
{ "name": "positionView", "buffer": 0, "byteOffset": 0, "byteLength": 36, "target": 34962 },
{ "name": "indexView", "buffer": 0, "byteOffset": 36, "byteLength": 6, "target": 34963 }
],
"buffers": [
{
"name": "embeddedBuffer",
"byteLength": 44,
"uri": "data:application/octet-stream;base64,AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAABAAIAAAA="
}
]
}