Files
modeling-app/e2e/playwright/export-snapshots/gltf-standard-2.gltf
Adam Chalmers 379c30824e Grackle: handle complicated nested computed objects (#1348)
Previously, Grackle could compile a single computed property like `array[x]`. But it couldn't handle:

- Nested properties like `array[x][y]`
- Nested objects like `obj[x][y]`
- Arrays nested in objects, like `{x: [1,2,3]}`
- Objects in arrays like `[{a: 1}]`

It was quite difficult to find a way to handle this, which is why I started the EP Debugger project. The debugger helped me understand the VM much better and figure out a better way to handle these cases (the two new instructions AddrOfMember and CopyLen). Now Grackle can compile those cases!
2024-02-06 22:44:30 +11:00

3056 lines
52 KiB
JSON

{
"accessors": [
{
"bufferView": 0,
"byteOffset": 0,
"count": 6,
"componentType": 5126,
"type": "VEC3",
"min": [
0,
-0.02539999969303608,
-0
],
"max": [
0,
0,
0.10159999877214432
]
},
{
"bufferView": 0,
"byteOffset": 12,
"count": 6,
"componentType": 5126,
"type": "VEC3"
},
{
"bufferView": 0,
"byteOffset": 24,
"count": 6,
"componentType": 5126,
"type": "VEC2"
},
{
"bufferView": 1,
"byteOffset": 0,
"count": 6,
"componentType": 5126,
"type": "VEC3",
"min": [
0,
-0.02539999969303608,
-0
],
"max": [
0.07861346751451492,
-0.02539999969303608,
0.10159999877214432
]
},
{
"bufferView": 1,
"byteOffset": 12,
"count": 6,
"componentType": 5126,
"type": "VEC3"
},
{
"bufferView": 1,
"byteOffset": 24,
"count": 6,
"componentType": 5126,
"type": "VEC2"
},
{
"bufferView": 2,
"byteOffset": 0,
"count": 6,
"componentType": 5126,
"type": "VEC3",
"min": [
0.07861346751451492,
-0.07620000094175339,
-0
],
"max": [
0.15116338431835177,
-0.02539999969303608,
0.10159999877214432
]
},
{
"bufferView": 2,
"byteOffset": 12,
"count": 6,
"componentType": 5126,
"type": "VEC3"
},
{
"bufferView": 2,
"byteOffset": 24,
"count": 6,
"componentType": 5126,
"type": "VEC2"
},
{
"bufferView": 3,
"byteOffset": 0,
"count": 6,
"componentType": 5126,
"type": "VEC3",
"min": [
0.15116338431835177,
-0.07620000094175339,
-0
],
"max": [
0.24130000174045563,
-0.07620000094175339,
0.10159999877214432
]
},
{
"bufferView": 3,
"byteOffset": 12,
"count": 6,
"componentType": 5126,
"type": "VEC3"
},
{
"bufferView": 3,
"byteOffset": 24,
"count": 6,
"componentType": 5126,
"type": "VEC2"
},
{
"bufferView": 4,
"byteOffset": 0,
"count": 6,
"componentType": 5126,
"type": "VEC3",
"min": [
0.24130000174045563,
-0.07620000094175339,
-0
],
"max": [
0.24130000174045563,
-0.06350000202655792,
0.10159999877214432
]
},
{
"bufferView": 4,
"byteOffset": 12,
"count": 6,
"componentType": 5126,
"type": "VEC3"
},
{
"bufferView": 4,
"byteOffset": 24,
"count": 6,
"componentType": 5126,
"type": "VEC2"
},
{
"bufferView": 5,
"byteOffset": 0,
"count": 6,
"componentType": 5126,
"type": "VEC3",
"min": [
0.15516768395900726,
-0.06350000202655792,
-0
],
"max": [
0.24130000174045563,
-0.06350000202655792,
0.10159999877214432
]
},
{
"bufferView": 5,
"byteOffset": 12,
"count": 6,
"componentType": 5126,
"type": "VEC3"
},
{
"bufferView": 5,
"byteOffset": 24,
"count": 6,
"componentType": 5126,
"type": "VEC2"
},
{
"bufferView": 6,
"byteOffset": 0,
"count": 18,
"componentType": 5126,
"type": "VEC3",
"min": [
0.06448028236627579,
-0.06350000202655792,
0
],
"max": [
0.15516768395900726,
0,
0.10159999877214432
]
},
{
"bufferView": 6,
"byteOffset": 12,
"count": 18,
"componentType": 5126,
"type": "VEC3"
},
{
"bufferView": 6,
"byteOffset": 24,
"count": 18,
"componentType": 5126,
"type": "VEC2"
},
{
"bufferView": 7,
"byteOffset": 0,
"count": 18,
"componentType": 5126,
"type": "VEC3",
"min": [
0.06448028236627579,
0,
-0
],
"max": [
0.1461859941482544,
0.038100000470876694,
0.10159999877214432
]
},
{
"bufferView": 7,
"byteOffset": 12,
"count": 18,
"componentType": 5126,
"type": "VEC3"
},
{
"bufferView": 7,
"byteOffset": 24,
"count": 18,
"componentType": 5126,
"type": "VEC2"
},
{
"bufferView": 8,
"byteOffset": 0,
"count": 6,
"componentType": 5126,
"type": "VEC3",
"min": [
0.1461859941482544,
0.038100000470876694,
-0
],
"max": [
0.24130000174045563,
0.038100000470876694,
0.10159999877214432
]
},
{
"bufferView": 8,
"byteOffset": 12,
"count": 6,
"componentType": 5126,
"type": "VEC3"
},
{
"bufferView": 8,
"byteOffset": 24,
"count": 6,
"componentType": 5126,
"type": "VEC2"
},
{
"bufferView": 9,
"byteOffset": 0,
"count": 6,
"componentType": 5126,
"type": "VEC3",
"min": [
0.24130000174045563,
0.038100000470876694,
-0
],
"max": [
0.24130000174045563,
0.05079999938607216,
0.10159999877214432
]
},
{
"bufferView": 9,
"byteOffset": 12,
"count": 6,
"componentType": 5126,
"type": "VEC3"
},
{
"bufferView": 9,
"byteOffset": 24,
"count": 6,
"componentType": 5126,
"type": "VEC2"
},
{
"bufferView": 10,
"byteOffset": 0,
"count": 6,
"componentType": 5126,
"type": "VEC3",
"min": [
0.14337047934532166,
0.05079999938607216,
-0
],
"max": [
0.24130000174045563,
0.05079999938607216,
0.10159999877214432
]
},
{
"bufferView": 10,
"byteOffset": 12,
"count": 6,
"componentType": 5126,
"type": "VEC3"
},
{
"bufferView": 10,
"byteOffset": 24,
"count": 6,
"componentType": 5126,
"type": "VEC2"
},
{
"bufferView": 11,
"byteOffset": 0,
"count": 6,
"componentType": 5126,
"type": "VEC3",
"min": [
0.08889999985694885,
0.02539999969303608,
-0
],
"max": [
0.14337047934532166,
0.05079999938607216,
0.10159999877214432
]
},
{
"bufferView": 11,
"byteOffset": 12,
"count": 6,
"componentType": 5126,
"type": "VEC3"
},
{
"bufferView": 11,
"byteOffset": 24,
"count": 6,
"componentType": 5126,
"type": "VEC2"
},
{
"bufferView": 12,
"byteOffset": 0,
"count": 6,
"componentType": 5126,
"type": "VEC3",
"min": [
0,
0.02539999969303608,
-0
],
"max": [
0.08889999985694885,
0.02539999969303608,
0.10159999877214432
]
},
{
"bufferView": 12,
"byteOffset": 12,
"count": 6,
"componentType": 5126,
"type": "VEC3"
},
{
"bufferView": 12,
"byteOffset": 24,
"count": 6,
"componentType": 5126,
"type": "VEC2"
},
{
"bufferView": 13,
"byteOffset": 0,
"count": 6,
"componentType": 5126,
"type": "VEC3",
"min": [
0,
0,
-0
],
"max": [
0,
0.02539999969303608,
0.10159999877214432
]
},
{
"bufferView": 13,
"byteOffset": 12,
"count": 6,
"componentType": 5126,
"type": "VEC3"
},
{
"bufferView": 13,
"byteOffset": 24,
"count": 6,
"componentType": 5126,
"type": "VEC2"
},
{
"bufferView": 14,
"byteOffset": 0,
"count": 48,
"componentType": 5126,
"type": "VEC3",
"min": [
0,
-0.07620000094175339,
0
],
"max": [
0.24130000174045563,
0.05079999938607216,
0
]
},
{
"bufferView": 14,
"byteOffset": 12,
"count": 48,
"componentType": 5126,
"type": "VEC3"
},
{
"bufferView": 14,
"byteOffset": 24,
"count": 48,
"componentType": 5126,
"type": "VEC2"
},
{
"bufferView": 15,
"byteOffset": 0,
"count": 48,
"componentType": 5126,
"type": "VEC3",
"min": [
0,
-0.07620000094175339,
0.10159999877214432
],
"max": [
0.24130000174045563,
0.05079999938607216,
0.10159999877214432
]
},
{
"bufferView": 15,
"byteOffset": 12,
"count": 48,
"componentType": 5126,
"type": "VEC3"
},
{
"bufferView": 15,
"byteOffset": 24,
"count": 48,
"componentType": 5126,
"type": "VEC2"
}
],
"asset": {
"generator": "zoo.dev",
"version": "2.0"
},
"buffers": [
{
"byteLength": 6528,
"uri": "gltf-standard.gltf"
}
],
"bufferViews": [
{
"buffer": 0,
"byteLength": 192,
"byteOffset": 0,
"byteStride": 32,
"target": 34962
},
{
"buffer": 0,
"byteLength": 192,
"byteOffset": 192,
"byteStride": 32,
"target": 34962
},
{
"buffer": 0,
"byteLength": 192,
"byteOffset": 384,
"byteStride": 32,
"target": 34962
},
{
"buffer": 0,
"byteLength": 192,
"byteOffset": 576,
"byteStride": 32,
"target": 34962
},
{
"buffer": 0,
"byteLength": 192,
"byteOffset": 768,
"byteStride": 32,
"target": 34962
},
{
"buffer": 0,
"byteLength": 192,
"byteOffset": 960,
"byteStride": 32,
"target": 34962
},
{
"buffer": 0,
"byteLength": 576,
"byteOffset": 1152,
"byteStride": 32,
"target": 34962
},
{
"buffer": 0,
"byteLength": 576,
"byteOffset": 1728,
"byteStride": 32,
"target": 34962
},
{
"buffer": 0,
"byteLength": 192,
"byteOffset": 2304,
"byteStride": 32,
"target": 34962
},
{
"buffer": 0,
"byteLength": 192,
"byteOffset": 2496,
"byteStride": 32,
"target": 34962
},
{
"buffer": 0,
"byteLength": 192,
"byteOffset": 2688,
"byteStride": 32,
"target": 34962
},
{
"buffer": 0,
"byteLength": 192,
"byteOffset": 2880,
"byteStride": 32,
"target": 34962
},
{
"buffer": 0,
"byteLength": 192,
"byteOffset": 3072,
"byteStride": 32,
"target": 34962
},
{
"buffer": 0,
"byteLength": 192,
"byteOffset": 3264,
"byteStride": 32,
"target": 34962
},
{
"buffer": 0,
"byteLength": 1536,
"byteOffset": 3456,
"byteStride": 32,
"target": 34962
},
{
"buffer": 0,
"byteLength": 1536,
"byteOffset": 4992,
"byteStride": 32,
"target": 34962
}
],
"scene": 0,
"extensions": {
"KITTYCAD_boundary_representation": {
"solids": [
{
"shells": [
[
0,
1
]
],
"mesh": 0
}
],
"shells": [
{
"faces": [
[
0,
1
],
[
1,
1
],
[
2,
1
],
[
3,
1
],
[
4,
1
],
[
5,
1
],
[
6,
1
],
[
7,
1
],
[
8,
1
],
[
9,
1
],
[
10,
1
],
[
11,
1
],
[
12,
1
],
[
13,
1
],
[
14,
1
],
[
15,
1
]
]
}
],
"faces": [
{
"surface": [
0,
1
],
"loops": [
[
0,
1
]
]
},
{
"surface": [
1,
1
],
"loops": [
[
1,
1
]
]
},
{
"surface": [
2,
1
],
"loops": [
[
2,
1
]
]
},
{
"surface": [
3,
1
],
"loops": [
[
3,
1
]
]
},
{
"surface": [
4,
1
],
"loops": [
[
4,
1
]
]
},
{
"surface": [
5,
1
],
"loops": [
[
5,
1
]
]
},
{
"surface": [
6,
1
],
"loops": [
[
6,
1
]
]
},
{
"surface": [
7,
1
],
"loops": [
[
7,
1
]
]
},
{
"surface": [
8,
1
],
"loops": [
[
8,
1
]
]
},
{
"surface": [
9,
1
],
"loops": [
[
9,
1
]
]
},
{
"surface": [
10,
1
],
"loops": [
[
10,
1
]
]
},
{
"surface": [
11,
1
],
"loops": [
[
11,
1
]
]
},
{
"surface": [
12,
1
],
"loops": [
[
12,
1
]
]
},
{
"surface": [
13,
1
],
"loops": [
[
13,
1
]
]
},
{
"surface": [
14,
-1
],
"loops": [
[
14,
1
]
]
},
{
"surface": [
15,
1
],
"loops": [
[
15,
1
]
]
}
],
"loops": [
{
"edges": [
[
0,
1
],
[
1,
1
],
[
2,
-1
],
[
3,
-1
]
]
},
{
"edges": [
[
4,
1
],
[
5,
1
],
[
6,
-1
],
[
1,
-1
]
]
},
{
"edges": [
[
7,
1
],
[
8,
1
],
[
9,
-1
],
[
5,
-1
]
]
},
{
"edges": [
[
10,
1
],
[
11,
1
],
[
12,
-1
],
[
8,
-1
]
]
},
{
"edges": [
[
13,
1
],
[
14,
1
],
[
15,
-1
],
[
11,
-1
]
]
},
{
"edges": [
[
16,
1
],
[
17,
1
],
[
18,
-1
],
[
14,
-1
]
]
},
{
"edges": [
[
19,
1
],
[
20,
1
],
[
21,
-1
],
[
17,
-1
]
]
},
{
"edges": [
[
22,
1
],
[
23,
1
],
[
24,
-1
],
[
20,
-1
]
]
},
{
"edges": [
[
25,
1
],
[
26,
1
],
[
27,
-1
],
[
23,
-1
]
]
},
{
"edges": [
[
28,
1
],
[
29,
1
],
[
30,
-1
],
[
26,
-1
]
]
},
{
"edges": [
[
31,
1
],
[
32,
1
],
[
33,
-1
],
[
29,
-1
]
]
},
{
"edges": [
[
34,
1
],
[
35,
1
],
[
36,
-1
],
[
32,
-1
]
]
},
{
"edges": [
[
37,
1
],
[
38,
1
],
[
39,
-1
],
[
35,
-1
]
]
},
{
"edges": [
[
40,
1
],
[
3,
1
],
[
41,
-1
],
[
38,
-1
]
]
},
{
"edges": [
[
0,
1
],
[
4,
1
],
[
7,
1
],
[
10,
1
],
[
13,
1
],
[
16,
1
],
[
19,
1
],
[
22,
1
],
[
25,
1
],
[
28,
1
],
[
31,
1
],
[
34,
1
],
[
37,
1
],
[
40,
1
]
]
},
{
"edges": [
[
2,
1
],
[
6,
1
],
[
9,
1
],
[
12,
1
],
[
15,
1
],
[
18,
1
],
[
21,
1
],
[
24,
1
],
[
27,
1
],
[
30,
1
],
[
33,
1
],
[
36,
1
],
[
39,
1
],
[
41,
1
]
]
}
],
"edges": [
{
"curve": [
0,
1
],
"start": 0,
"end": 1,
"t": [
0,
0.0254
]
},
{
"curve": [
1,
1
],
"start": 1,
"end": 2,
"t": [
0,
0.1016
]
},
{
"curve": [
2,
1
],
"start": 3,
"end": 2,
"t": [
0,
0.0254
]
},
{
"curve": [
3,
1
],
"start": 0,
"end": 3,
"t": [
0,
0.1016
]
},
{
"curve": [
4,
1
],
"start": 1,
"end": 4,
"t": [
0,
0.07861000000000001
]
},
{
"curve": [
5,
1
],
"start": 4,
"end": 5,
"t": [
0,
0.1016
]
},
{
"curve": [
6,
1
],
"start": 2,
"end": 5,
"t": [
0,
0.07861000000000001
]
},
{
"curve": [
7,
1
],
"start": 4,
"end": 6,
"t": [
0,
0.08857000000000001
]
},
{
"curve": [
8,
1
],
"start": 6,
"end": 7,
"t": [
0,
0.1016
]
},
{
"curve": [
9,
1
],
"start": 5,
"end": 7,
"t": [
0,
0.08857000000000001
]
},
{
"curve": [
10,
1
],
"start": 6,
"end": 8,
"t": [
0,
0.09014
]
},
{
"curve": [
11,
1
],
"start": 8,
"end": 9,
"t": [
0,
0.1016
]
},
{
"curve": [
12,
1
],
"start": 7,
"end": 9,
"t": [
0,
0.09014
]
},
{
"curve": [
13,
1
],
"start": 8,
"end": 10,
"t": [
0,
0.0127
]
},
{
"curve": [
14,
1
],
"start": 10,
"end": 11,
"t": [
0,
0.1016
]
},
{
"curve": [
15,
1
],
"start": 9,
"end": 11,
"t": [
0,
0.0127
]
},
{
"curve": [
16,
1
],
"start": 10,
"end": 12,
"t": [
0,
0.08613000000000001
]
},
{
"curve": [
17,
1
],
"start": 12,
"end": 13,
"t": [
0,
0.1016
]
},
{
"curve": [
18,
1
],
"start": 11,
"end": 13,
"t": [
0,
0.08613000000000001
]
},
{
"curve": [
19,
1
],
"start": 12,
"end": 14,
"t": [
0,
0.11071
]
},
{
"curve": [
20,
1
],
"start": 14,
"end": 15,
"t": [
0,
0.1016
]
},
{
"curve": [
21,
1
],
"start": 13,
"end": 15,
"t": [
0,
0.11071
]
},
{
"curve": [
22,
1
],
"start": 14,
"end": 16,
"t": [
0,
0.09015
]
},
{
"curve": [
23,
1
],
"start": 16,
"end": 17,
"t": [
0,
0.1016
]
},
{
"curve": [
24,
1
],
"start": 15,
"end": 17,
"t": [
0,
0.09015
]
},
{
"curve": [
25,
1
],
"start": 16,
"end": 18,
"t": [
0,
0.09511
]
},
{
"curve": [
26,
1
],
"start": 18,
"end": 19,
"t": [
0,
0.1016
]
},
{
"curve": [
27,
1
],
"start": 17,
"end": 19,
"t": [
0,
0.09511
]
},
{
"curve": [
28,
1
],
"start": 18,
"end": 20,
"t": [
0,
0.0127
]
},
{
"curve": [
29,
1
],
"start": 20,
"end": 21,
"t": [
0,
0.1016
]
},
{
"curve": [
30,
1
],
"start": 19,
"end": 21,
"t": [
0,
0.0127
]
},
{
"curve": [
31,
1
],
"start": 20,
"end": 22,
"t": [
0,
0.09793
]
},
{
"curve": [
32,
1
],
"start": 22,
"end": 23,
"t": [
0,
0.1016
]
},
{
"curve": [
33,
1
],
"start": 21,
"end": 23,
"t": [
0,
0.09793
]
},
{
"curve": [
34,
1
],
"start": 22,
"end": 24,
"t": [
0,
0.06010000000000001
]
},
{
"curve": [
35,
1
],
"start": 24,
"end": 25,
"t": [
0,
0.1016
]
},
{
"curve": [
36,
1
],
"start": 23,
"end": 25,
"t": [
0,
0.06010000000000001
]
},
{
"curve": [
37,
1
],
"start": 24,
"end": 26,
"t": [
0,
0.0889
]
},
{
"curve": [
38,
1
],
"start": 26,
"end": 27,
"t": [
0,
0.1016
]
},
{
"curve": [
39,
1
],
"start": 25,
"end": 27,
"t": [
0,
0.0889
]
},
{
"curve": [
40,
1
],
"start": 26,
"end": 0,
"t": [
0,
0.0254
]
},
{
"curve": [
41,
1
],
"start": 27,
"end": 3,
"t": [
0,
0.0254
]
}
],
"vertices": [
[
0,
0,
-0
],
[
0,
-0.0254,
-0
],
[
0,
-0.0254,
0.1016
],
[
0,
0,
0.1016
],
[
0.07861000000000001,
-0.0254,
-0
],
[
0.07861000000000001,
-0.0254,
0.1016
],
[
0.15116000000000002,
-0.0762,
-0
],
[
0.15116000000000002,
-0.0762,
0.1016
],
[
0.2413,
-0.0762,
-0
],
[
0.2413,
-0.0762,
0.1016
],
[
0.2413,
-0.0635,
-0
],
[
0.2413,
-0.0635,
0.1016
],
[
0.15517,
-0.0635,
-0
],
[
0.15517,
-0.0635,
0.1016
],
[
0.06448000000000001,
0,
-0
],
[
0.06448000000000001,
0,
0.1016
],
[
0.14619,
0.0381,
-0
],
[
0.14619,
0.0381,
0.1016
],
[
0.2413,
0.0381,
-0
],
[
0.2413,
0.0381,
0.1016
],
[
0.2413,
0.050800000000000005,
-0
],
[
0.2413,
0.050800000000000005,
0.1016
],
[
0.14337000000000005,
0.050800000000000005,
-0
],
[
0.14337000000000005,
0.050800000000000005,
0.1016
],
[
0.0889,
0.0254,
-0
],
[
0.0889,
0.0254,
0.1016
],
[
0,
0.0254,
-0
],
[
0,
0.0254,
0.1016
]
],
"surfaces": [
{
"type": "plane",
"plane": {
"xAxis": [
0,
1,
0
],
"yAxis": [
0,
0,
-1
],
"origin": [
0,
-0.0127,
0.050800000000000005
]
}
},
{
"type": "plane",
"plane": {
"xAxis": [
1,
0,
0
],
"yAxis": [
-0,
0,
1
],
"origin": [
0.039310000000000005,
-0.0254,
0.050800000000000005
]
}
},
{
"type": "plane",
"plane": {
"xAxis": [
0.81915,
-0.5735800000000001,
0
],
"yAxis": [
0,
0,
1
],
"origin": [
0.11489,
-0.050800000000000005,
0.050800000000000005
]
}
},
{
"type": "plane",
"plane": {
"xAxis": [
1,
0,
0
],
"yAxis": [
-0,
0,
1
],
"origin": [
0.19623,
-0.0762,
0.050800000000000005
]
}
},
{
"type": "plane",
"plane": {
"xAxis": [
0,
1,
0
],
"yAxis": [
-0,
0,
1
],
"origin": [
0.2413,
-0.06985000000000001,
0.050800000000000005
]
}
},
{
"type": "plane",
"plane": {
"xAxis": [
1,
0,
0
],
"yAxis": [
0,
-0,
-1
],
"origin": [
0.19823,
-0.0635,
0.050800000000000005
]
}
},
{
"type": "plane",
"plane": {
"xAxis": [
0.81915,
-0.5735800000000001,
0
],
"yAxis": [
0,
0,
-1
],
"origin": [
0.10982,
-0.03175,
0.050800000000000005
]
}
},
{
"type": "plane",
"plane": {
"xAxis": [
0.90631,
0.4226200000000001,
0
],
"yAxis": [
-0,
0,
1
],
"origin": [
0.10533,
0.01905,
0.050800000000000005
]
}
},
{
"type": "plane",
"plane": {
"xAxis": [
1,
0,
0
],
"yAxis": [
-0,
0,
1
],
"origin": [
0.19374,
0.0381,
0.050800000000000005
]
}
},
{
"type": "plane",
"plane": {
"xAxis": [
0,
1,
0
],
"yAxis": [
-0,
0,
1
],
"origin": [
0.2413,
0.04445,
0.050800000000000005
]
}
},
{
"type": "plane",
"plane": {
"xAxis": [
1,
0,
0
],
"yAxis": [
0,
-0,
-1
],
"origin": [
0.19234,
0.050800000000000005,
0.050800000000000005
]
}
},
{
"type": "plane",
"plane": {
"xAxis": [
0.90631,
0.4226200000000001,
0
],
"yAxis": [
0,
0,
-1
],
"origin": [
0.11614,
0.0381,
0.050800000000000005
]
}
},
{
"type": "plane",
"plane": {
"xAxis": [
1,
0,
0
],
"yAxis": [
0,
-0,
-1
],
"origin": [
0.04445,
0.0254,
0.050800000000000005
]
}
},
{
"type": "plane",
"plane": {
"xAxis": [
0,
1,
0
],
"yAxis": [
0,
0,
-1
],
"origin": [
0,
0.0127,
0.050800000000000005
]
}
},
{
"type": "plane",
"plane": {
"xAxis": [
1,
0,
0
],
"yAxis": [
0,
1,
0
],
"origin": [
0,
0,
0
]
}
},
{
"type": "plane",
"plane": {
"xAxis": [
1,
0,
-0
],
"yAxis": [
-0,
1,
0
],
"origin": [
0,
0,
0.1016
]
}
}
],
"curves3D": [
{
"type": "line",
"line": {
"origin": [
0,
0,
-0
],
"direction": [
0,
-1,
0
]
}
},
{
"type": "line",
"line": {
"origin": [
0,
-0.0254,
-0
],
"direction": [
0,
0,
1
]
}
},
{
"type": "line",
"line": {
"origin": [
0,
0,
0.1016
],
"direction": [
0,
-1,
0
]
}
},
{
"type": "line",
"line": {
"origin": [
0,
0,
-0
],
"direction": [
0,
0,
1
]
}
},
{
"type": "line",
"line": {
"origin": [
0,
-0.0254,
-0
],
"direction": [
1,
0,
-0
]
}
},
{
"type": "line",
"line": {
"origin": [
0.07861000000000001,
-0.0254,
-0
],
"direction": [
0,
0,
1
]
}
},
{
"type": "line",
"line": {
"origin": [
0,
-0.0254,
0.1016
],
"direction": [
1,
0,
-0
]
}
},
{
"type": "line",
"line": {
"origin": [
0.07861000000000001,
-0.0254,
-0
],
"direction": [
0.81915,
-0.5735800000000001,
0
]
}
},
{
"type": "line",
"line": {
"origin": [
0.15116000000000002,
-0.0762,
-0
],
"direction": [
0,
0,
1
]
}
},
{
"type": "line",
"line": {
"origin": [
0.07861000000000001,
-0.0254,
0.1016
],
"direction": [
0.81915,
-0.5735800000000001,
0
]
}
},
{
"type": "line",
"line": {
"origin": [
0.15116000000000002,
-0.0762,
-0
],
"direction": [
1,
-0,
0
]
}
},
{
"type": "line",
"line": {
"origin": [
0.2413,
-0.0762,
-0
],
"direction": [
0,
0,
1
]
}
},
{
"type": "line",
"line": {
"origin": [
0.15116000000000002,
-0.0762,
0.1016
],
"direction": [
1,
-0,
0
]
}
},
{
"type": "line",
"line": {
"origin": [
0.2413,
-0.0762,
-0
],
"direction": [
0,
1,
0
]
}
},
{
"type": "line",
"line": {
"origin": [
0.2413,
-0.0635,
-0
],
"direction": [
0,
0,
1
]
}
},
{
"type": "line",
"line": {
"origin": [
0.2413,
-0.0762,
0.1016
],
"direction": [
0,
1,
0
]
}
},
{
"type": "line",
"line": {
"origin": [
0.2413,
-0.0635,
-0
],
"direction": [
-1,
0,
0
]
}
},
{
"type": "line",
"line": {
"origin": [
0.15517,
-0.0635,
-0
],
"direction": [
0,
0,
1
]
}
},
{
"type": "line",
"line": {
"origin": [
0.2413,
-0.0635,
0.1016
],
"direction": [
-1,
0,
0
]
}
},
{
"type": "line",
"line": {
"origin": [
0.15517,
-0.0635,
-0
],
"direction": [
-0.81915,
0.5735800000000001,
0
]
}
},
{
"type": "line",
"line": {
"origin": [
0.06448000000000001,
0,
-0
],
"direction": [
0,
0,
1
]
}
},
{
"type": "line",
"line": {
"origin": [
0.15517,
-0.0635,
0.1016
],
"direction": [
-0.81915,
0.5735800000000001,
0
]
}
},
{
"type": "line",
"line": {
"origin": [
0.06448000000000001,
0,
-0
],
"direction": [
0.90631,
0.4226200000000001,
0
]
}
},
{
"type": "line",
"line": {
"origin": [
0.14619,
0.0381,
-0
],
"direction": [
0,
0,
1
]
}
},
{
"type": "line",
"line": {
"origin": [
0.06448000000000001,
0,
0.1016
],
"direction": [
0.90631,
0.4226200000000001,
0
]
}
},
{
"type": "line",
"line": {
"origin": [
0.14619,
0.0381,
-0
],
"direction": [
1,
-0,
0
]
}
},
{
"type": "line",
"line": {
"origin": [
0.2413,
0.0381,
-0
],
"direction": [
0,
0,
1
]
}
},
{
"type": "line",
"line": {
"origin": [
0.14619,
0.0381,
0.1016
],
"direction": [
1,
-0,
0
]
}
},
{
"type": "line",
"line": {
"origin": [
0.2413,
0.0381,
-0
],
"direction": [
0,
1,
0
]
}
},
{
"type": "line",
"line": {
"origin": [
0.2413,
0.050800000000000005,
-0
],
"direction": [
0,
0,
1
]
}
},
{
"type": "line",
"line": {
"origin": [
0.2413,
0.0381,
0.1016
],
"direction": [
0,
1,
0
]
}
},
{
"type": "line",
"line": {
"origin": [
0.2413,
0.050800000000000005,
-0
],
"direction": [
-1,
0,
0
]
}
},
{
"type": "line",
"line": {
"origin": [
0.14337000000000005,
0.050800000000000005,
-0
],
"direction": [
0,
0,
1
]
}
},
{
"type": "line",
"line": {
"origin": [
0.2413,
0.050800000000000005,
0.1016
],
"direction": [
-1,
0,
0
]
}
},
{
"type": "line",
"line": {
"origin": [
0.14337000000000005,
0.050800000000000005,
-0
],
"direction": [
-0.90631,
-0.4226200000000001,
0
]
}
},
{
"type": "line",
"line": {
"origin": [
0.0889,
0.0254,
-0
],
"direction": [
0,
0,
1
]
}
},
{
"type": "line",
"line": {
"origin": [
0.14337000000000005,
0.050800000000000005,
0.1016
],
"direction": [
-0.90631,
-0.4226200000000001,
0
]
}
},
{
"type": "line",
"line": {
"origin": [
0.0889,
0.0254,
-0
],
"direction": [
-1,
0,
0
]
}
},
{
"type": "line",
"line": {
"origin": [
0,
0.0254,
-0
],
"direction": [
0,
0,
1
]
}
},
{
"type": "line",
"line": {
"origin": [
0.0889,
0.0254,
0.1016
],
"direction": [
-1,
0,
0
]
}
},
{
"type": "line",
"line": {
"origin": [
0,
0.0254,
-0
],
"direction": [
0,
-1,
0
]
}
},
{
"type": "line",
"line": {
"origin": [
0,
0.0254,
0.1016
],
"direction": [
0,
-1,
0
]
}
}
]
}
},
"extensionsUsed": [
"KITTYCAD_boundary_representation"
],
"meshes": [
{
"primitives": [
{
"attributes": {
"POSITION": 0,
"NORMAL": 1,
"TEXCOORD_0": 2
}
},
{
"attributes": {
"POSITION": 3,
"NORMAL": 4,
"TEXCOORD_0": 5
}
},
{
"attributes": {
"POSITION": 6,
"NORMAL": 7,
"TEXCOORD_0": 8
}
},
{
"attributes": {
"POSITION": 9,
"NORMAL": 10,
"TEXCOORD_0": 11
}
},
{
"attributes": {
"POSITION": 12,
"NORMAL": 13,
"TEXCOORD_0": 14
}
},
{
"attributes": {
"POSITION": 15,
"NORMAL": 16,
"TEXCOORD_0": 17
}
},
{
"attributes": {
"POSITION": 18,
"NORMAL": 19,
"TEXCOORD_0": 20
}
},
{
"attributes": {
"POSITION": 21,
"NORMAL": 22,
"TEXCOORD_0": 23
}
},
{
"attributes": {
"POSITION": 24,
"NORMAL": 25,
"TEXCOORD_0": 26
}
},
{
"attributes": {
"POSITION": 27,
"NORMAL": 28,
"TEXCOORD_0": 29
}
},
{
"attributes": {
"POSITION": 30,
"NORMAL": 31,
"TEXCOORD_0": 32
}
},
{
"attributes": {
"POSITION": 33,
"NORMAL": 34,
"TEXCOORD_0": 35
}
},
{
"attributes": {
"POSITION": 36,
"NORMAL": 37,
"TEXCOORD_0": 38
}
},
{
"attributes": {
"POSITION": 39,
"NORMAL": 40,
"TEXCOORD_0": 41
}
},
{
"attributes": {
"POSITION": 42,
"NORMAL": 43,
"TEXCOORD_0": 44
}
},
{
"attributes": {
"POSITION": 45,
"NORMAL": 46,
"TEXCOORD_0": 47
}
}
]
}
],
"nodes": [
{
"children": [
1
]
},
{
"children": [
2
]
},
{
"extensions": {
"KITTYCAD_boundary_representation": {
"solid": 0
}
},
"mesh": 0
}
],
"scenes": [
{
"nodes": [
0
]
}
]
}