extensions/splat-exact.md registers wai.splat.exact: carriage in glTF as EXT_gaussian_splatting_compression_wai under KHR_gaussian_splatting, the attribute layout and its dequantization, the renderer wai-splat-render:i1, the commitment, the view statement, provenance, verification, reasons and the measured quality cost. The draft JSON Schema of the extension object is extensions/gltf/. The corpus gains cases the second implementation's self-falsification showed were missing: an unrequired extension, a buffer view past the envelope, a set whose bytes or pin alone disagree, a commitment naming another object or set, and statements naming another object or renderer or another pose's frame. Co-Authored-By: Claude Opus 5.5 <[email protected]>
126 lines
2.5 KiB
JSON
126 lines
2.5 KiB
JSON
{
|
|
"asset": {
|
|
"version": "2.0"
|
|
},
|
|
"extensionsUsed": [
|
|
"KHR_gaussian_splatting",
|
|
"EXT_gaussian_splatting_compression_wai"
|
|
],
|
|
"extensionsRequired": [
|
|
"KHR_gaussian_splatting",
|
|
"EXT_gaussian_splatting_compression_wai"
|
|
],
|
|
"scene": 0,
|
|
"scenes": [
|
|
{
|
|
"nodes": [
|
|
0
|
|
]
|
|
}
|
|
],
|
|
"nodes": [
|
|
{
|
|
"mesh": 0
|
|
}
|
|
],
|
|
"meshes": [
|
|
{
|
|
"primitives": [
|
|
{
|
|
"mode": 0,
|
|
"attributes": {
|
|
"POSITION": 0,
|
|
"KHR_gaussian_splatting:ROTATION": 1,
|
|
"KHR_gaussian_splatting:SCALE": 2,
|
|
"KHR_gaussian_splatting:OPACITY": 3,
|
|
"KHR_gaussian_splatting:SH_DEGREE_0_COEF_0": 4
|
|
},
|
|
"extensions": {
|
|
"KHR_gaussian_splatting": {
|
|
"kernel": "ellipse",
|
|
"colorSpace": "srgb_rec709_display",
|
|
"projection": "perspective",
|
|
"sortingMethod": "cameraDistance",
|
|
"extensions": {
|
|
"EXT_gaussian_splatting_compression_wai": {
|
|
"bufferView": 0,
|
|
"capability": "wai.splat.int_codec",
|
|
"object": "8a1b8c51ed6c09c8a3aed05c5e1eb6de00d8972038cf96eb079c3d1bdf4b4fbb",
|
|
"set": {
|
|
"sha256": "252038ab37f69757d986653251b2caf6e67db31d8c98de6256244fc325a0addf",
|
|
"bufferView": 1
|
|
},
|
|
"commitment": 2
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"accessors": [
|
|
{
|
|
"componentType": 5126,
|
|
"count": 40,
|
|
"type": "VEC3",
|
|
"min": [
|
|
-1.515625,
|
|
-1.359375,
|
|
-1.15625
|
|
],
|
|
"max": [
|
|
1.875,
|
|
1.34375,
|
|
1.8125
|
|
]
|
|
},
|
|
{
|
|
"componentType": 5126,
|
|
"count": 40,
|
|
"type": "VEC4"
|
|
},
|
|
{
|
|
"componentType": 5126,
|
|
"count": 40,
|
|
"type": "VEC3"
|
|
},
|
|
{
|
|
"componentType": 5126,
|
|
"count": 40,
|
|
"type": "SCALAR"
|
|
},
|
|
{
|
|
"componentType": 5126,
|
|
"count": 40,
|
|
"type": "VEC3"
|
|
}
|
|
],
|
|
"bufferViews": [
|
|
{
|
|
"buffer": 0,
|
|
"byteOffset": 0,
|
|
"byteLength": 13735
|
|
},
|
|
{
|
|
"buffer": 0,
|
|
"byteOffset": 13736,
|
|
"byteLength": 657
|
|
},
|
|
{
|
|
"buffer": 1,
|
|
"byteOffset": 0,
|
|
"byteLength": 1379
|
|
}
|
|
],
|
|
"buffers": [
|
|
{
|
|
"uri": "cluster.bin",
|
|
"byteLength": 14396
|
|
},
|
|
{
|
|
"uri": "cluster_commitment_object.commitment.json",
|
|
"byteLength": 1379
|
|
}
|
|
]
|
|
}
|