Files
Danny McGee cba70a62ae Single-object viewer POC (#14)
This commit implements a Sketchfab-style single-object viewer as a minimal
proof-of-concept.

### `@storyteller/studio-web`
This is a new package to house web components for interfacing with the
`@storyteller/studio` WASM library. It currently includes a single component,
`<sts-viewer />`, which is exported from `@storyteller/studio-web/viewer`.

### `react-frontend`
This is a new application intended as a proof-of-concept and testbed for React
interop with `@storyteller/studio-web`.

Web components are currently a little bit fiddly to use in a React application.
`react-frontend/src/app/studio-viewer.tsx` demonstrates how a React-idiomatic
component can be written as a thin wrapper around a web component, and
`react-frontend/src/app/app.tsx` demonstrates that wrapper component in use.
2023-12-07 15:46:32 -05:00

2437 lines
37 KiB
JSON

{
"asset":{
"generator":"Khronos glTF Blender I/O v3.6.27",
"version":"2.0"
},
"extensionsUsed":[
"KHR_materials_specular",
"KHR_materials_ior"
],
"scene":0,
"scenes":[
{
"name":"Scene",
"nodes":[
10
]
}
],
"nodes":[
{
"mesh":0,
"name":"Books",
"translation":[
0.09933237731456757,
0.5508849620819092,
0.09525835514068604
]
},
{
"mesh":1,
"name":"BoomBox",
"rotation":[
0,
-0.14490868151187897,
0,
0.9894450306892395
],
"translation":[
0.2545996606349945,
0.824899435043335,
0.024208426475524902
]
},
{
"mesh":2,
"name":"Candle",
"rotation":[
0,
0.7071066498756409,
0,
0.70710688829422
],
"translation":[
-0.2597005367279053,
1.6516103744506836,
0.10296809673309326
]
},
{
"mesh":3,
"name":"Candles",
"rotation":[
0,
0.7071066498756409,
0,
0.70710688829422
],
"translation":[
0.35600966215133667,
0.4288877844810486,
0.136144757270813
]
},
{
"mesh":4,
"name":"KitsuneMask",
"rotation":[
0.035205207765102386,
0.01593618467450142,
-0.0005614564288407564,
0.99925297498703
],
"translation":[
-0.26075637340545654,
1.3409404754638672,
0.10903537273406982
]
},
{
"mesh":5,
"name":"MaskStand",
"translation":[
-0.26226532459259033,
1.3213506937026978,
-0.02526557445526123
]
},
{
"mesh":6,
"name":"Radio",
"rotation":[
0,
0.09466894716024399,
0,
0.9955088496208191
],
"scale":[
1.9999994039535522,
1.9999998807907104,
1.9999994039535522
],
"translation":[
-0.2844018340110779,
0.8592429757118225,
0.07544219493865967
]
},
{
"mesh":7,
"name":"RecordPlayer",
"rotation":[
0,
0.23465844988822937,
0,
0.9720779061317444
],
"translation":[
-0.26262056827545166,
0.386942595243454,
0.05442702770233154
]
},
{
"mesh":8,
"name":"Turntable",
"rotation":[
0,
-0.05889985337853432,
0,
0.9982638955116272
],
"translation":[
0.2396150529384613,
1.2217289209365845,
0.028160810470581055
]
},
{
"mesh":9,
"name":"Vase",
"translation":[
0.24509567022323608,
1.6170108318328857,
-0.05619776248931885
]
},
{
"children":[
0,
1,
2,
3,
4,
5,
6,
7,
8,
9
],
"mesh":10,
"name":"BookCase"
}
],
"animations":[
{
"channels":[
{
"sampler":0,
"target":{
"node":8,
"path":"translation"
}
},
{
"sampler":1,
"target":{
"node":8,
"path":"rotation"
}
},
{
"sampler":2,
"target":{
"node":8,
"path":"scale"
}
}
],
"name":"electronic_48_04Action",
"samplers":[
{
"input":96,
"interpolation":"LINEAR",
"output":97
},
{
"input":96,
"interpolation":"LINEAR",
"output":98
},
{
"input":96,
"interpolation":"LINEAR",
"output":99
}
]
},
{
"channels":[
{
"sampler":0,
"target":{
"node":9,
"path":"translation"
}
},
{
"sampler":1,
"target":{
"node":9,
"path":"rotation"
}
},
{
"sampler":2,
"target":{
"node":9,
"path":"scale"
}
}
],
"name":"vase_01Action",
"samplers":[
{
"input":96,
"interpolation":"LINEAR",
"output":100
},
{
"input":96,
"interpolation":"LINEAR",
"output":101
},
{
"input":96,
"interpolation":"LINEAR",
"output":102
}
]
}
],
"materials":[
{
"doubleSided":true,
"name":"M_Books_Bindings",
"pbrMetallicRoughness":{
"baseColorTexture":{
"index":0
},
"metallicFactor":0,
"roughnessFactor":0.30000001192092896
}
},
{
"doubleSided":true,
"name":"M_Books_Pages",
"pbrMetallicRoughness":{
"baseColorFactor":[
0.5427471995353699,
0.48950114846229553,
0.41562849283218384,
1
],
"metallicFactor":0,
"roughnessFactor":0.7682291865348816
}
},
{
"name":"M_Books_Covers",
"pbrMetallicRoughness":{
"baseColorFactor":[
0.7038264274597168,
0.7038264274597168,
0.7038264274597168,
1
],
"metallicFactor":0,
"roughnessFactor":0.30000001192092896
}
},
{
"name":"M_BoomBox_Main",
"normalTexture":{
"index":1
},
"pbrMetallicRoughness":{
"baseColorTexture":{
"index":2
},
"metallicRoughnessTexture":{
"index":3
}
}
},
{
"alphaCutoff":0.5,
"alphaMode":"MASK",
"name":"M_BoomBox_SpeakerCover",
"pbrMetallicRoughness":{
"baseColorTexture":{
"index":4
},
"metallicFactor":0,
"roughnessFactor":0.5
}
},
{
"name":"M_CandleWick",
"pbrMetallicRoughness":{
"baseColorFactor":[
0.014502021484076977,
0.014502021484076977,
0.014502021484076977,
1
],
"metallicFactor":0,
"roughnessFactor":0.5
}
},
{
"name":"M_CandleWax",
"pbrMetallicRoughness":{
"baseColorFactor":[
0.07227183133363724,
0.03954619914293289,
0.018500227481126785,
1
],
"metallicFactor":0,
"roughnessFactor":0.4000000059604645
}
},
{
"name":"M_CandleBase",
"pbrMetallicRoughness":{
"baseColorFactor":[
0.800000011920929,
0.800000011920929,
0.800000011920929,
1
],
"roughnessFactor":0.3255208134651184
}
},
{
"name":"M_CandleWax.001",
"pbrMetallicRoughness":{
"baseColorFactor":[
0.4396568536758423,
0.3419141471385956,
0.20507879555225372,
1
],
"metallicFactor":0,
"roughnessFactor":0.4000000059604645
}
},
{
"doubleSided":true,
"name":"M_KitsuneMask",
"pbrMetallicRoughness":{
"baseColorTexture":{
"index":5
},
"metallicFactor":0,
"roughnessFactor":0.5
}
},
{
"doubleSided":true,
"name":"M_KitsuneMask_Nose",
"pbrMetallicRoughness":{
"baseColorFactor":[
0.6239606142044067,
0.07227164506912231,
0.08865559846162796,
1
],
"metallicFactor":0,
"roughnessFactor":0.5
}
},
{
"doubleSided":true,
"extensions":{
"KHR_materials_specular":{
"specularColorFactor":[
0,
0,
0
]
},
"KHR_materials_ior":{
"ior":1.4500000476837158
}
},
"name":"M_KitsuneMask_Eyes",
"pbrMetallicRoughness":{
"baseColorFactor":[
0,
0,
0,
1
],
"metallicFactor":0,
"roughnessFactor":0.5
}
},
{
"name":"Material.007",
"pbrMetallicRoughness":{
"baseColorFactor":[
0,
0,
0,
1
],
"metallicFactor":0,
"roughnessFactor":0.8754385709762573
}
},
{
"name":"M_Radio",
"normalTexture":{
"index":6
},
"pbrMetallicRoughness":{
"baseColorTexture":{
"index":7
},
"metallicRoughnessTexture":{
"index":8
}
}
},
{
"name":"M_RecordPlayer",
"normalTexture":{
"index":9
},
"pbrMetallicRoughness":{
"baseColorTexture":{
"index":10
},
"metallicRoughnessTexture":{
"index":11
}
}
},
{
"name":"M_TurntableBase",
"normalTexture":{
"index":12
},
"pbrMetallicRoughness":{
"baseColorTexture":{
"index":13
},
"metallicRoughnessTexture":{
"index":14
}
}
},
{
"alphaMode":"BLEND",
"doubleSided":true,
"name":"M_TurntableLid",
"pbrMetallicRoughness":{
"baseColorFactor":[
1,
1,
1,
0.20000000298023224
],
"metallicFactor":0,
"roughnessFactor":0.10000000149011612
}
},
{
"name":"initialShadingGroup.030",
"normalTexture":{
"index":15
},
"pbrMetallicRoughness":{
"baseColorTexture":{
"index":16
},
"metallicRoughnessTexture":{
"index":17
}
}
},
{
"name":"M_BookCase",
"normalTexture":{
"index":18
},
"pbrMetallicRoughness":{
"baseColorTexture":{
"index":19
},
"metallicRoughnessTexture":{
"index":20
}
}
}
],
"meshes":[
{
"name":"Books",
"primitives":[
{
"attributes":{
"COLOR_0":0,
"POSITION":1,
"NORMAL":2,
"TEXCOORD_0":3
},
"indices":4,
"material":0
},
{
"attributes":{
"COLOR_0":5,
"POSITION":6,
"NORMAL":7,
"TEXCOORD_0":8
},
"indices":9,
"material":1
},
{
"attributes":{
"COLOR_0":10,
"POSITION":11,
"NORMAL":12,
"TEXCOORD_0":13
},
"indices":14,
"material":2
}
]
},
{
"name":"BoomBox",
"primitives":[
{
"attributes":{
"COLOR_0":15,
"POSITION":16,
"NORMAL":17,
"TEXCOORD_0":18
},
"indices":19,
"material":3
},
{
"attributes":{
"COLOR_0":20,
"POSITION":21,
"NORMAL":22,
"TEXCOORD_0":23
},
"indices":24,
"material":4
}
]
},
{
"name":"Candle.001",
"primitives":[
{
"attributes":{
"COLOR_0":25,
"POSITION":26,
"NORMAL":27,
"TEXCOORD_0":28
},
"indices":29,
"material":5
},
{
"attributes":{
"COLOR_0":30,
"POSITION":31,
"NORMAL":32,
"TEXCOORD_0":33
},
"indices":34,
"material":6
},
{
"attributes":{
"COLOR_0":35,
"POSITION":36,
"NORMAL":37,
"TEXCOORD_0":38
},
"indices":39,
"material":7
}
]
},
{
"name":"Candle",
"primitives":[
{
"attributes":{
"COLOR_0":40,
"POSITION":41,
"NORMAL":42,
"TEXCOORD_0":43
},
"indices":44,
"material":5
},
{
"attributes":{
"COLOR_0":45,
"POSITION":46,
"NORMAL":47,
"TEXCOORD_0":48
},
"indices":49,
"material":8
}
]
},
{
"name":"KitsuneMask",
"primitives":[
{
"attributes":{
"POSITION":50,
"NORMAL":51,
"TEXCOORD_0":52
},
"indices":53,
"material":9
},
{
"attributes":{
"POSITION":54,
"NORMAL":55,
"TEXCOORD_0":56
},
"indices":57,
"material":10
},
{
"attributes":{
"POSITION":58,
"NORMAL":59,
"TEXCOORD_0":60
},
"indices":61,
"material":11
}
]
},
{
"name":"MaskStand",
"primitives":[
{
"attributes":{
"POSITION":62,
"NORMAL":63,
"TEXCOORD_0":64
},
"indices":65,
"material":12
}
]
},
{
"name":"Radio",
"primitives":[
{
"attributes":{
"COLOR_0":66,
"POSITION":67,
"NORMAL":68,
"TEXCOORD_0":69
},
"indices":70,
"material":13
}
]
},
{
"name":"RecordPlayer",
"primitives":[
{
"attributes":{
"COLOR_0":71,
"POSITION":72,
"NORMAL":73,
"TEXCOORD_0":74
},
"indices":75,
"material":14
}
]
},
{
"name":"Turntable",
"primitives":[
{
"attributes":{
"COLOR_0":76,
"POSITION":77,
"NORMAL":78,
"TEXCOORD_0":79
},
"indices":80,
"material":15
},
{
"attributes":{
"COLOR_0":81,
"POSITION":82,
"NORMAL":83,
"TEXCOORD_0":84
},
"indices":85,
"material":16
}
]
},
{
"name":"Vase",
"primitives":[
{
"attributes":{
"COLOR_0":86,
"POSITION":87,
"NORMAL":88,
"TEXCOORD_0":89
},
"indices":90,
"material":17
}
]
},
{
"name":"BookCase",
"primitives":[
{
"attributes":{
"COLOR_0":91,
"POSITION":92,
"NORMAL":93,
"TEXCOORD_0":94
},
"indices":95,
"material":18
}
]
}
],
"textures":[
{
"sampler":0,
"source":0
},
{
"sampler":0,
"source":1
},
{
"sampler":0,
"source":2
},
{
"sampler":0,
"source":3
},
{
"sampler":0,
"source":2
},
{
"sampler":0,
"source":4
},
{
"sampler":0,
"source":5
},
{
"sampler":0,
"source":6
},
{
"sampler":0,
"source":7
},
{
"sampler":0,
"source":8
},
{
"sampler":0,
"source":9
},
{
"sampler":0,
"source":10
},
{
"sampler":0,
"source":11
},
{
"sampler":0,
"source":12
},
{
"sampler":0,
"source":13
},
{
"sampler":0,
"source":14
},
{
"sampler":0,
"source":15
},
{
"sampler":0,
"source":16
},
{
"sampler":0,
"source":17
},
{
"sampler":0,
"source":18
},
{
"sampler":0,
"source":19
}
],
"images":[
{
"mimeType":"image/png",
"name":"3d66_su_1587004247754_0012",
"uri":"../textures/3d66_su_1587004247754_0012.png"
},
{
"mimeType":"image/png",
"name":"archisketch_280038_frame_black_normal",
"uri":"../textures/archisketch_280038_frame_black_normal.png"
},
{
"mimeType":"image/png",
"name":"archisketch_280038_frame_black_basecolor",
"uri":"../textures/archisketch_280038_frame_black_basecolor.png"
},
{
"mimeType":"image/png",
"name":"archisketch_280038_frame_black_occlusionroughnessmetallic",
"uri":"../textures/archisketch_280038_frame_black_occlusionroughnessmetallic.png"
},
{
"mimeType":"image/png",
"name":"mask",
"uri":"../textures/mask.png"
},
{
"mimeType":"image/png",
"name":"archisketch_277887_frame_navy_normal",
"uri":"../textures/archisketch_277887_frame_navy_normal.png"
},
{
"mimeType":"image/png",
"name":"archisketch_277887_frame_navy_basecolor",
"uri":"../textures/archisketch_277887_frame_navy_basecolor.png"
},
{
"mimeType":"image/png",
"name":"archisketch_277887_frame_navy_occlusionroughnessmetallic",
"uri":"../textures/archisketch_277887_frame_navy_occlusionroughnessmetallic.png"
},
{
"mimeType":"image/png",
"name":"archisketch_71718_frame_red_normal",
"uri":"../textures/archisketch_71718_frame_red_normal.png"
},
{
"mimeType":"image/png",
"name":"archisketch_71718_frame_red_basecolor",
"uri":"../textures/archisketch_71718_frame_red_basecolor.png"
},
{
"mimeType":"image/png",
"name":"archisketch_71718_frame_red_occlusionroughnessmetallic",
"uri":"../textures/archisketch_71718_frame_red_occlusionroughnessmetallic.png"
},
{
"mimeType":"image/png",
"name":"archisketch_349037_frame_red_normal",
"uri":"../textures/archisketch_349037_frame_red_normal.png"
},
{
"mimeType":"image/png",
"name":"archisketch_349037_frame_red_basecolor",
"uri":"../textures/archisketch_349037_frame_red_basecolor.png"
},
{
"mimeType":"image/png",
"name":"archisketch_349037_frame_red_occlusionroughnessmetallic",
"uri":"../textures/archisketch_349037_frame_red_occlusionroughnessmetallic.png"
},
{
"mimeType":"image/png",
"name":"black-vase-_black__normal",
"uri":"../textures/black-vase-_black__normal.png"
},
{
"mimeType":"image/png",
"name":"black-vase-_black__basecolor",
"uri":"../textures/black-vase-_black__basecolor.png"
},
{
"mimeType":"image/png",
"name":"black-vase-_black__occlusionroughnessmetallic",
"uri":"../textures/black-vase-_black__occlusionroughnessmetallic.png"
},
{
"mimeType":"image/png",
"name":"archisketch_205878_frame_normal",
"uri":"../textures/archisketch_205878_frame_normal.png"
},
{
"mimeType":"image/png",
"name":"archisketch_205878_frame_basecolor",
"uri":"../textures/archisketch_205878_frame_basecolor.png"
},
{
"mimeType":"image/png",
"name":"archisketch_205878_frame_occlusionroughnessmetallic",
"uri":"../textures/archisketch_205878_frame_occlusionroughnessmetallic.png"
}
],
"accessors":[
{
"bufferView":0,
"componentType":5123,
"count":432,
"normalized":true,
"type":"VEC4"
},
{
"bufferView":1,
"componentType":5126,
"count":432,
"max":[
0.07728652656078339,
0.1539304256439209,
0.11683261394500732
],
"min":[
-0.08165694773197174,
-0.11647367477416992,
-0.1422540545463562
],
"type":"VEC3"
},
{
"bufferView":2,
"componentType":5126,
"count":432,
"type":"VEC3"
},
{
"bufferView":3,
"componentType":5126,
"count":432,
"type":"VEC2"
},
{
"bufferView":4,
"componentType":5123,
"count":840,
"type":"SCALAR"
},
{
"bufferView":5,
"componentType":5123,
"count":192,
"normalized":true,
"type":"VEC4"
},
{
"bufferView":6,
"componentType":5126,
"count":192,
"max":[
0.07618652284145355,
0.15153026580810547,
0.11354923248291016
],
"min":[
-0.08053727447986603,
-0.11407327651977539,
-0.1389506459236145
],
"type":"VEC3"
},
{
"bufferView":7,
"componentType":5126,
"count":192,
"type":"VEC3"
},
{
"bufferView":8,
"componentType":5126,
"count":192,
"type":"VEC2"
},
{
"bufferView":9,
"componentType":5123,
"count":288,
"type":"SCALAR"
},
{
"bufferView":10,
"componentType":5123,
"count":16,
"normalized":true,
"type":"VEC4"
},
{
"bufferView":11,
"componentType":5126,
"count":16,
"max":[
0.03793720901012421,
0.15393030643463135,
0.10240083932876587
],
"min":[
-0.0622076541185379,
-0.11647367477416992,
-0.1422540545463562
],
"type":"VEC3"
},
{
"bufferView":12,
"componentType":5126,
"count":16,
"type":"VEC3"
},
{
"bufferView":13,
"componentType":5126,
"count":16,
"type":"VEC2"
},
{
"bufferView":14,
"componentType":5123,
"count":24,
"type":"SCALAR"
},
{
"bufferView":15,
"componentType":5123,
"count":10027,
"normalized":true,
"type":"VEC4"
},
{
"bufferView":16,
"componentType":5126,
"count":10027,
"max":[
0.13303524255752563,
0.16147205233573914,
0.04525785893201828
],
"min":[
-0.13303524255752563,
0,
-0.04525785893201828
],
"type":"VEC3"
},
{
"bufferView":17,
"componentType":5126,
"count":10027,
"type":"VEC3"
},
{
"bufferView":18,
"componentType":5126,
"count":10027,
"type":"VEC2"
},
{
"bufferView":19,
"componentType":5123,
"count":28674,
"type":"SCALAR"
},
{
"bufferView":20,
"componentType":5123,
"count":49,
"normalized":true,
"type":"VEC4"
},
{
"bufferView":21,
"componentType":5126,
"count":49,
"max":[
0.11273787915706635,
0.10593970865011215,
0.04494692012667656
],
"min":[
0.021075617522001266,
0.014173691160976887,
0.04494691640138626
],
"type":"VEC3"
},
{
"bufferView":22,
"componentType":5126,
"count":49,
"type":"VEC3"
},
{
"bufferView":23,
"componentType":5126,
"count":49,
"type":"VEC2"
},
{
"bufferView":24,
"componentType":5123,
"count":144,
"type":"SCALAR"
},
{
"bufferView":25,
"componentType":5123,
"count":110,
"normalized":true,
"type":"VEC4"
},
{
"bufferView":26,
"componentType":5126,
"count":110,
"max":[
0.003104686737060547,
0.0954521894454956,
0.0010827183723449707
],
"min":[
-0.00042235851287841797,
0.08540463447570801,
-0.001413583755493164
],
"type":"VEC3"
},
{
"bufferView":27,
"componentType":5126,
"count":110,
"type":"VEC3"
},
{
"bufferView":28,
"componentType":5126,
"count":110,
"type":"VEC2"
},
{
"bufferView":29,
"componentType":5123,
"count":348,
"type":"SCALAR"
},
{
"bufferView":30,
"componentType":5123,
"count":1626,
"normalized":true,
"type":"VEC4"
},
{
"bufferView":31,
"componentType":5126,
"count":1626,
"max":[
0.025789976119995117,
0.0870363712310791,
0.033497750759124756
],
"min":[
-0.025579214096069336,
0.020510077476501465,
-0.03329908847808838
],
"type":"VEC3"
},
{
"bufferView":32,
"componentType":5126,
"count":1626,
"type":"VEC3"
},
{
"bufferView":33,
"componentType":5126,
"count":1626,
"type":"VEC2"
},
{
"bufferView":34,
"componentType":5123,
"count":9264,
"type":"SCALAR"
},
{
"bufferView":35,
"componentType":5123,
"count":794,
"normalized":true,
"type":"VEC4"
},
{
"bufferView":36,
"componentType":5126,
"count":794,
"max":[
0.05225968360900879,
0.03007793426513672,
0.06394189596176147
],
"min":[
-0.05225980281829834,
-8.344650268554688e-07,
-0.06394195556640625
],
"type":"VEC3"
},
{
"bufferView":37,
"componentType":5126,
"count":794,
"type":"VEC3"
},
{
"bufferView":38,
"componentType":5126,
"count":794,
"type":"VEC2"
},
{
"bufferView":39,
"componentType":5123,
"count":3504,
"type":"SCALAR"
},
{
"bufferView":40,
"componentType":5123,
"count":337,
"normalized":true,
"type":"VEC4"
},
{
"bufferView":41,
"componentType":5126,
"count":337,
"max":[
0.05704760551452637,
0.11640626192092896,
0.07568395137786865
],
"min":[
-0.021628379821777344,
0.06579619646072388,
-0.039494842290878296
],
"type":"VEC3"
},
{
"bufferView":42,
"componentType":5126,
"count":337,
"type":"VEC3"
},
{
"bufferView":43,
"componentType":5126,
"count":337,
"type":"VEC2"
},
{
"bufferView":44,
"componentType":5123,
"count":1044,
"type":"SCALAR"
},
{
"bufferView":45,
"componentType":5123,
"count":5114,
"normalized":true,
"type":"VEC4"
},
{
"bufferView":46,
"componentType":5126,
"count":5114,
"max":[
0.08072459697723389,
0.1083269715309143,
0.09369724243879318
],
"min":[
-0.053728461265563965,
-0.0005361437797546387,
-0.06750258803367615
],
"type":"VEC3"
},
{
"bufferView":47,
"componentType":5126,
"count":5114,
"type":"VEC3"
},
{
"bufferView":48,
"componentType":5126,
"count":5114,
"type":"VEC2"
},
{
"bufferView":49,
"componentType":5123,
"count":28272,
"type":"SCALAR"
},
{
"bufferView":50,
"componentType":5126,
"count":15615,
"max":[
0.09054066240787506,
0.15411992371082306,
0.06829413026571274
],
"min":[
-0.09054068475961685,
-0.11456037312746048,
-0.06975826621055603
],
"type":"VEC3"
},
{
"bufferView":51,
"componentType":5126,
"count":15615,
"type":"VEC3"
},
{
"bufferView":52,
"componentType":5126,
"count":15615,
"type":"VEC2"
},
{
"bufferView":53,
"componentType":5123,
"count":80064,
"type":"SCALAR"
},
{
"bufferView":54,
"componentType":5126,
"count":254,
"max":[
0.007181399501860142,
-0.05537479743361473,
0.06913511455059052
],
"min":[
-0.00718141021206975,
-0.06363555788993835,
0.06449896842241287
],
"type":"VEC3"
},
{
"bufferView":55,
"componentType":5126,
"count":254,
"type":"VEC3"
},
{
"bufferView":56,
"componentType":5126,
"count":254,
"type":"VEC2"
},
{
"bufferView":57,
"componentType":5123,
"count":1152,
"type":"SCALAR"
},
{
"bufferView":58,
"componentType":5126,
"count":1315,
"max":[
0.07213781774044037,
-0.007781878113746643,
0.023244062438607216
],
"min":[
-0.07213784009218216,
-0.04670042544603348,
-0.0017425930127501488
],
"type":"VEC3"
},
{
"bufferView":59,
"componentType":5126,
"count":1315,
"type":"VEC3"
},
{
"bufferView":60,
"componentType":5126,
"count":1315,
"type":"VEC2"
},
{
"bufferView":61,
"componentType":5123,
"count":6144,
"type":"SCALAR"
},
{
"bufferView":62,
"componentType":5126,
"count":96,
"max":[
0.132455512881279,
0.045855361968278885,
0.11238087713718414
],
"min":[
-0.132455512881279,
-0.13384971022605896,
0.02027158997952938
],
"type":"VEC3"
},
{
"bufferView":63,
"componentType":5126,
"count":96,
"type":"VEC3"
},
{
"bufferView":64,
"componentType":5126,
"count":96,
"type":"VEC2"
},
{
"bufferView":65,
"componentType":5123,
"count":324,
"type":"SCALAR"
},
{
"bufferView":66,
"componentType":5123,
"count":6450,
"normalized":true,
"type":"VEC4"
},
{
"bufferView":67,
"componentType":5126,
"count":6450,
"max":[
0.03249958157539368,
0.0728689506649971,
0.02490818500518799
],
"min":[
-0.03249958157539368,
0,
-0.024908186867833138
],
"type":"VEC3"
},
{
"bufferView":68,
"componentType":5126,
"count":6450,
"type":"VEC3"
},
{
"bufferView":69,
"componentType":5126,
"count":6450,
"type":"VEC2"
},
{
"bufferView":70,
"componentType":5123,
"count":17046,
"type":"SCALAR"
},
{
"bufferView":71,
"componentType":5123,
"count":9091,
"normalized":true,
"type":"VEC4"
},
{
"bufferView":72,
"componentType":5126,
"count":9091,
"max":[
0.11082516610622406,
0.3779451549053192,
0.10990368574857712
],
"min":[
-0.11082516610622406,
0,
-0.10990368574857712
],
"type":"VEC3"
},
{
"bufferView":73,
"componentType":5126,
"count":9091,
"type":"VEC3"
},
{
"bufferView":74,
"componentType":5126,
"count":9091,
"type":"VEC2"
},
{
"bufferView":75,
"componentType":5123,
"count":46572,
"type":"SCALAR"
},
{
"bufferView":76,
"componentType":5123,
"count":12677,
"normalized":true,
"type":"VEC4"
},
{
"bufferView":77,
"componentType":5126,
"count":12677,
"max":[
0.17944778501987457,
0.08241523802280426,
0.19647327065467834
],
"min":[
-0.17944779992103577,
0,
-0.19195514917373657
],
"type":"VEC3"
},
{
"bufferView":78,
"componentType":5126,
"count":12677,
"type":"VEC3"
},
{
"bufferView":79,
"componentType":5126,
"count":12677,
"type":"VEC2"
},
{
"bufferView":80,
"componentType":5123,
"count":33540,
"type":"SCALAR"
},
{
"bufferView":81,
"componentType":5123,
"count":579,
"normalized":true,
"type":"VEC4"
},
{
"bufferView":82,
"componentType":5126,
"count":579,
"max":[
0.18092232942581177,
0.30381685495376587,
0.1226489245891571
],
"min":[
-0.18092232942581177,
0.05554719269275665,
-0.19647327065467834
],
"type":"VEC3"
},
{
"bufferView":83,
"componentType":5126,
"count":579,
"type":"VEC3"
},
{
"bufferView":84,
"componentType":5126,
"count":579,
"type":"VEC2"
},
{
"bufferView":85,
"componentType":5123,
"count":1254,
"type":"SCALAR"
},
{
"bufferView":86,
"componentType":5123,
"count":15974,
"normalized":true,
"type":"VEC4"
},
{
"bufferView":87,
"componentType":5126,
"count":15974,
"max":[
0.14865916967391968,
0.24978961050510406,
0.14865916967391968
],
"min":[
-0.14865916967391968,
0,
-0.14865916967391968
],
"type":"VEC3"
},
{
"bufferView":88,
"componentType":5126,
"count":15974,
"type":"VEC3"
},
{
"bufferView":89,
"componentType":5126,
"count":15974,
"type":"VEC2"
},
{
"bufferView":90,
"componentType":5123,
"count":92736,
"type":"SCALAR"
},
{
"bufferView":91,
"componentType":5123,
"count":1834,
"normalized":true,
"type":"VEC4"
},
{
"bufferView":92,
"componentType":5126,
"count":1834,
"max":[
0.530022919178009,
2.0119502544403076,
0.25048714876174927
],
"min":[
-0.530022919178009,
0,
-0.25048714876174927
],
"type":"VEC3"
},
{
"bufferView":93,
"componentType":5126,
"count":1834,
"type":"VEC3"
},
{
"bufferView":94,
"componentType":5126,
"count":1834,
"type":"VEC2"
},
{
"bufferView":95,
"componentType":5123,
"count":3036,
"type":"SCALAR"
},
{
"bufferView":96,
"componentType":5126,
"count":1,
"max":[
0
],
"min":[
0
],
"type":"SCALAR"
},
{
"bufferView":97,
"componentType":5126,
"count":1,
"type":"VEC3"
},
{
"bufferView":98,
"componentType":5126,
"count":1,
"type":"VEC4"
},
{
"bufferView":99,
"componentType":5126,
"count":1,
"type":"VEC3"
},
{
"bufferView":100,
"componentType":5126,
"count":1,
"type":"VEC3"
},
{
"bufferView":101,
"componentType":5126,
"count":1,
"type":"VEC4"
},
{
"bufferView":102,
"componentType":5126,
"count":1,
"type":"VEC3"
}
],
"bufferViews":[
{
"buffer":0,
"byteLength":3456,
"byteOffset":0,
"target":34962
},
{
"buffer":0,
"byteLength":5184,
"byteOffset":3456,
"target":34962
},
{
"buffer":0,
"byteLength":5184,
"byteOffset":8640,
"target":34962
},
{
"buffer":0,
"byteLength":3456,
"byteOffset":13824,
"target":34962
},
{
"buffer":0,
"byteLength":1680,
"byteOffset":17280,
"target":34963
},
{
"buffer":0,
"byteLength":1536,
"byteOffset":18960,
"target":34962
},
{
"buffer":0,
"byteLength":2304,
"byteOffset":20496,
"target":34962
},
{
"buffer":0,
"byteLength":2304,
"byteOffset":22800,
"target":34962
},
{
"buffer":0,
"byteLength":1536,
"byteOffset":25104,
"target":34962
},
{
"buffer":0,
"byteLength":576,
"byteOffset":26640,
"target":34963
},
{
"buffer":0,
"byteLength":128,
"byteOffset":27216,
"target":34962
},
{
"buffer":0,
"byteLength":192,
"byteOffset":27344,
"target":34962
},
{
"buffer":0,
"byteLength":192,
"byteOffset":27536,
"target":34962
},
{
"buffer":0,
"byteLength":128,
"byteOffset":27728,
"target":34962
},
{
"buffer":0,
"byteLength":48,
"byteOffset":27856,
"target":34963
},
{
"buffer":0,
"byteLength":80216,
"byteOffset":27904,
"target":34962
},
{
"buffer":0,
"byteLength":120324,
"byteOffset":108120,
"target":34962
},
{
"buffer":0,
"byteLength":120324,
"byteOffset":228444,
"target":34962
},
{
"buffer":0,
"byteLength":80216,
"byteOffset":348768,
"target":34962
},
{
"buffer":0,
"byteLength":57348,
"byteOffset":428984,
"target":34963
},
{
"buffer":0,
"byteLength":392,
"byteOffset":486332,
"target":34962
},
{
"buffer":0,
"byteLength":588,
"byteOffset":486724,
"target":34962
},
{
"buffer":0,
"byteLength":588,
"byteOffset":487312,
"target":34962
},
{
"buffer":0,
"byteLength":392,
"byteOffset":487900,
"target":34962
},
{
"buffer":0,
"byteLength":288,
"byteOffset":488292,
"target":34963
},
{
"buffer":0,
"byteLength":880,
"byteOffset":488580,
"target":34962
},
{
"buffer":0,
"byteLength":1320,
"byteOffset":489460,
"target":34962
},
{
"buffer":0,
"byteLength":1320,
"byteOffset":490780,
"target":34962
},
{
"buffer":0,
"byteLength":880,
"byteOffset":492100,
"target":34962
},
{
"buffer":0,
"byteLength":696,
"byteOffset":492980,
"target":34963
},
{
"buffer":0,
"byteLength":13008,
"byteOffset":493676,
"target":34962
},
{
"buffer":0,
"byteLength":19512,
"byteOffset":506684,
"target":34962
},
{
"buffer":0,
"byteLength":19512,
"byteOffset":526196,
"target":34962
},
{
"buffer":0,
"byteLength":13008,
"byteOffset":545708,
"target":34962
},
{
"buffer":0,
"byteLength":18528,
"byteOffset":558716,
"target":34963
},
{
"buffer":0,
"byteLength":6352,
"byteOffset":577244,
"target":34962
},
{
"buffer":0,
"byteLength":9528,
"byteOffset":583596,
"target":34962
},
{
"buffer":0,
"byteLength":9528,
"byteOffset":593124,
"target":34962
},
{
"buffer":0,
"byteLength":6352,
"byteOffset":602652,
"target":34962
},
{
"buffer":0,
"byteLength":7008,
"byteOffset":609004,
"target":34963
},
{
"buffer":0,
"byteLength":2696,
"byteOffset":616012,
"target":34962
},
{
"buffer":0,
"byteLength":4044,
"byteOffset":618708,
"target":34962
},
{
"buffer":0,
"byteLength":4044,
"byteOffset":622752,
"target":34962
},
{
"buffer":0,
"byteLength":2696,
"byteOffset":626796,
"target":34962
},
{
"buffer":0,
"byteLength":2088,
"byteOffset":629492,
"target":34963
},
{
"buffer":0,
"byteLength":40912,
"byteOffset":631580,
"target":34962
},
{
"buffer":0,
"byteLength":61368,
"byteOffset":672492,
"target":34962
},
{
"buffer":0,
"byteLength":61368,
"byteOffset":733860,
"target":34962
},
{
"buffer":0,
"byteLength":40912,
"byteOffset":795228,
"target":34962
},
{
"buffer":0,
"byteLength":56544,
"byteOffset":836140,
"target":34963
},
{
"buffer":0,
"byteLength":187380,
"byteOffset":892684,
"target":34962
},
{
"buffer":0,
"byteLength":187380,
"byteOffset":1080064,
"target":34962
},
{
"buffer":0,
"byteLength":124920,
"byteOffset":1267444,
"target":34962
},
{
"buffer":0,
"byteLength":160128,
"byteOffset":1392364,
"target":34963
},
{
"buffer":0,
"byteLength":3048,
"byteOffset":1552492,
"target":34962
},
{
"buffer":0,
"byteLength":3048,
"byteOffset":1555540,
"target":34962
},
{
"buffer":0,
"byteLength":2032,
"byteOffset":1558588,
"target":34962
},
{
"buffer":0,
"byteLength":2304,
"byteOffset":1560620,
"target":34963
},
{
"buffer":0,
"byteLength":15780,
"byteOffset":1562924,
"target":34962
},
{
"buffer":0,
"byteLength":15780,
"byteOffset":1578704,
"target":34962
},
{
"buffer":0,
"byteLength":10520,
"byteOffset":1594484,
"target":34962
},
{
"buffer":0,
"byteLength":12288,
"byteOffset":1605004,
"target":34963
},
{
"buffer":0,
"byteLength":1152,
"byteOffset":1617292,
"target":34962
},
{
"buffer":0,
"byteLength":1152,
"byteOffset":1618444,
"target":34962
},
{
"buffer":0,
"byteLength":768,
"byteOffset":1619596,
"target":34962
},
{
"buffer":0,
"byteLength":648,
"byteOffset":1620364,
"target":34963
},
{
"buffer":0,
"byteLength":51600,
"byteOffset":1621012,
"target":34962
},
{
"buffer":0,
"byteLength":77400,
"byteOffset":1672612,
"target":34962
},
{
"buffer":0,
"byteLength":77400,
"byteOffset":1750012,
"target":34962
},
{
"buffer":0,
"byteLength":51600,
"byteOffset":1827412,
"target":34962
},
{
"buffer":0,
"byteLength":34092,
"byteOffset":1879012,
"target":34963
},
{
"buffer":0,
"byteLength":72728,
"byteOffset":1913104,
"target":34962
},
{
"buffer":0,
"byteLength":109092,
"byteOffset":1985832,
"target":34962
},
{
"buffer":0,
"byteLength":109092,
"byteOffset":2094924,
"target":34962
},
{
"buffer":0,
"byteLength":72728,
"byteOffset":2204016,
"target":34962
},
{
"buffer":0,
"byteLength":93144,
"byteOffset":2276744,
"target":34963
},
{
"buffer":0,
"byteLength":101416,
"byteOffset":2369888,
"target":34962
},
{
"buffer":0,
"byteLength":152124,
"byteOffset":2471304,
"target":34962
},
{
"buffer":0,
"byteLength":152124,
"byteOffset":2623428,
"target":34962
},
{
"buffer":0,
"byteLength":101416,
"byteOffset":2775552,
"target":34962
},
{
"buffer":0,
"byteLength":67080,
"byteOffset":2876968,
"target":34963
},
{
"buffer":0,
"byteLength":4632,
"byteOffset":2944048,
"target":34962
},
{
"buffer":0,
"byteLength":6948,
"byteOffset":2948680,
"target":34962
},
{
"buffer":0,
"byteLength":6948,
"byteOffset":2955628,
"target":34962
},
{
"buffer":0,
"byteLength":4632,
"byteOffset":2962576,
"target":34962
},
{
"buffer":0,
"byteLength":2508,
"byteOffset":2967208,
"target":34963
},
{
"buffer":0,
"byteLength":127792,
"byteOffset":2969716,
"target":34962
},
{
"buffer":0,
"byteLength":191688,
"byteOffset":3097508,
"target":34962
},
{
"buffer":0,
"byteLength":191688,
"byteOffset":3289196,
"target":34962
},
{
"buffer":0,
"byteLength":127792,
"byteOffset":3480884,
"target":34962
},
{
"buffer":0,
"byteLength":185472,
"byteOffset":3608676,
"target":34963
},
{
"buffer":0,
"byteLength":14672,
"byteOffset":3794148,
"target":34962
},
{
"buffer":0,
"byteLength":22008,
"byteOffset":3808820,
"target":34962
},
{
"buffer":0,
"byteLength":22008,
"byteOffset":3830828,
"target":34962
},
{
"buffer":0,
"byteLength":14672,
"byteOffset":3852836,
"target":34962
},
{
"buffer":0,
"byteLength":6072,
"byteOffset":3867508,
"target":34963
},
{
"buffer":0,
"byteLength":4,
"byteOffset":3873580
},
{
"buffer":0,
"byteLength":12,
"byteOffset":3873584
},
{
"buffer":0,
"byteLength":16,
"byteOffset":3873596
},
{
"buffer":0,
"byteLength":12,
"byteOffset":3873612
},
{
"buffer":0,
"byteLength":12,
"byteOffset":3873624
},
{
"buffer":0,
"byteLength":16,
"byteOffset":3873636
},
{
"buffer":0,
"byteLength":12,
"byteOffset":3873652
}
],
"samplers":[
{
"magFilter":9729,
"minFilter":9987
}
],
"buffers":[
{
"byteLength":3873664,
"uri":"bookcase.bin"
}
]
}