mirror of
https://github.com/storytold/storyteller-bevy.git
synced 2026-10-20 07:54:50 +00:00
cba70a62ae
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.
298 lines
4.3 KiB
JSON
298 lines
4.3 KiB
JSON
{
|
|
"asset":{
|
|
"generator":"Khronos glTF Blender I/O v3.6.27",
|
|
"version":"2.0"
|
|
},
|
|
"scene":0,
|
|
"scenes":[
|
|
{
|
|
"name":"Scene",
|
|
"nodes":[
|
|
0
|
|
]
|
|
}
|
|
],
|
|
"nodes":[
|
|
{
|
|
"mesh":0,
|
|
"name":"PottedPlant3"
|
|
}
|
|
],
|
|
"materials":[
|
|
{
|
|
"name":"230510_b",
|
|
"normalTexture":{
|
|
"index":0
|
|
},
|
|
"pbrMetallicRoughness":{
|
|
"baseColorTexture":{
|
|
"index":1
|
|
},
|
|
"metallicRoughnessTexture":{
|
|
"index":2
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"alphaCutoff":0.5,
|
|
"alphaMode":"MASK",
|
|
"doubleSided":true,
|
|
"name":"None.001",
|
|
"normalTexture":{
|
|
"index":3
|
|
},
|
|
"pbrMetallicRoughness":{
|
|
"baseColorTexture":{
|
|
"index":4
|
|
},
|
|
"metallicRoughnessTexture":{
|
|
"index":5
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"meshes":[
|
|
{
|
|
"name":"PottedPlant3",
|
|
"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
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"textures":[
|
|
{
|
|
"sampler":0,
|
|
"source":0
|
|
},
|
|
{
|
|
"sampler":0,
|
|
"source":1
|
|
},
|
|
{
|
|
"sampler":0,
|
|
"source":2
|
|
},
|
|
{
|
|
"sampler":0,
|
|
"source":3
|
|
},
|
|
{
|
|
"sampler":0,
|
|
"source":4
|
|
},
|
|
{
|
|
"sampler":0,
|
|
"source":5
|
|
}
|
|
],
|
|
"images":[
|
|
{
|
|
"mimeType":"image/png",
|
|
"name":"230510_b_normal",
|
|
"uri":"../textures/230510_b_normal.png"
|
|
},
|
|
{
|
|
"mimeType":"image/png",
|
|
"name":"230510_b_basecolor",
|
|
"uri":"../textures/230510_b_basecolor.png"
|
|
},
|
|
{
|
|
"mimeType":"image/png",
|
|
"name":"230510_b_occlusionroughnessmetallic",
|
|
"uri":"../textures/230510_b_occlusionroughnessmetallic.png"
|
|
},
|
|
{
|
|
"mimeType":"image/png",
|
|
"name":"none_normal",
|
|
"uri":"../textures/none_normal.png"
|
|
},
|
|
{
|
|
"mimeType":"image/png",
|
|
"name":"none_basecolor",
|
|
"uri":"../textures/none_basecolor.png"
|
|
},
|
|
{
|
|
"mimeType":"image/png",
|
|
"name":"none_occlusionroughnessmetallic",
|
|
"uri":"../textures/none_occlusionroughnessmetallic.png"
|
|
}
|
|
],
|
|
"accessors":[
|
|
{
|
|
"bufferView":0,
|
|
"componentType":5123,
|
|
"count":27947,
|
|
"normalized":true,
|
|
"type":"VEC4"
|
|
},
|
|
{
|
|
"bufferView":1,
|
|
"componentType":5126,
|
|
"count":27947,
|
|
"max":[
|
|
0.20527732372283936,
|
|
1.1365097761154175,
|
|
0.1583448350429535
|
|
],
|
|
"min":[
|
|
-0.14585593342781067,
|
|
0,
|
|
-0.2576342821121216
|
|
],
|
|
"type":"VEC3"
|
|
},
|
|
{
|
|
"bufferView":2,
|
|
"componentType":5126,
|
|
"count":27947,
|
|
"type":"VEC3"
|
|
},
|
|
{
|
|
"bufferView":3,
|
|
"componentType":5126,
|
|
"count":27947,
|
|
"type":"VEC2"
|
|
},
|
|
{
|
|
"bufferView":4,
|
|
"componentType":5123,
|
|
"count":143556,
|
|
"type":"SCALAR"
|
|
},
|
|
{
|
|
"bufferView":5,
|
|
"componentType":5123,
|
|
"count":1239,
|
|
"normalized":true,
|
|
"type":"VEC4"
|
|
},
|
|
{
|
|
"bufferView":6,
|
|
"componentType":5126,
|
|
"count":1239,
|
|
"max":[
|
|
0.30904287099838257,
|
|
1.2173328399658203,
|
|
0.35934215784072876
|
|
],
|
|
"min":[
|
|
-0.30904287099838257,
|
|
0.6203020811080933,
|
|
-0.35934215784072876
|
|
],
|
|
"type":"VEC3"
|
|
},
|
|
{
|
|
"bufferView":7,
|
|
"componentType":5126,
|
|
"count":1239,
|
|
"type":"VEC3"
|
|
},
|
|
{
|
|
"bufferView":8,
|
|
"componentType":5126,
|
|
"count":1239,
|
|
"type":"VEC2"
|
|
},
|
|
{
|
|
"bufferView":9,
|
|
"componentType":5123,
|
|
"count":5796,
|
|
"type":"SCALAR"
|
|
}
|
|
],
|
|
"bufferViews":[
|
|
{
|
|
"buffer":0,
|
|
"byteLength":223576,
|
|
"byteOffset":0,
|
|
"target":34962
|
|
},
|
|
{
|
|
"buffer":0,
|
|
"byteLength":335364,
|
|
"byteOffset":223576,
|
|
"target":34962
|
|
},
|
|
{
|
|
"buffer":0,
|
|
"byteLength":335364,
|
|
"byteOffset":558940,
|
|
"target":34962
|
|
},
|
|
{
|
|
"buffer":0,
|
|
"byteLength":223576,
|
|
"byteOffset":894304,
|
|
"target":34962
|
|
},
|
|
{
|
|
"buffer":0,
|
|
"byteLength":287112,
|
|
"byteOffset":1117880,
|
|
"target":34963
|
|
},
|
|
{
|
|
"buffer":0,
|
|
"byteLength":9912,
|
|
"byteOffset":1404992,
|
|
"target":34962
|
|
},
|
|
{
|
|
"buffer":0,
|
|
"byteLength":14868,
|
|
"byteOffset":1414904,
|
|
"target":34962
|
|
},
|
|
{
|
|
"buffer":0,
|
|
"byteLength":14868,
|
|
"byteOffset":1429772,
|
|
"target":34962
|
|
},
|
|
{
|
|
"buffer":0,
|
|
"byteLength":9912,
|
|
"byteOffset":1444640,
|
|
"target":34962
|
|
},
|
|
{
|
|
"buffer":0,
|
|
"byteLength":11592,
|
|
"byteOffset":1454552,
|
|
"target":34963
|
|
}
|
|
],
|
|
"samplers":[
|
|
{
|
|
"magFilter":9729,
|
|
"minFilter":9987
|
|
}
|
|
],
|
|
"buffers":[
|
|
{
|
|
"byteLength":1466144,
|
|
"uri":"potted-plant-3.bin"
|
|
}
|
|
]
|
|
}
|