-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRoadmap.canvas
336 lines (336 loc) · 41.4 KB
/
Roadmap.canvas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
{
"nodes":[
{"id":"81b3a2672a272b54","type":"group","x":-2820,"y":-180,"width":1520,"height":1240,"label":"Stardust protocol"},
{"id":"7ab92fc6ff04a712","type":"group","x":-4720,"y":320,"width":1404,"height":576,"label":"Core protocol functionality"},
{"id":"bdf1cf1b2f562d5f","type":"group","x":-4760,"y":2780,"width":276,"height":2440,"label":"Protocol"},
{"id":"9dd882e4e69d1843","type":"group","x":-4720,"y":-520,"width":570,"height":379,"label":"Legend"},
{"id":"0cdf12fa493a5953","type":"group","x":-2045,"y":450,"width":516,"height":260,"label":"input.kdl"},
{"id":"84e27f73c6830a7b","type":"group","x":-2599,"y":406,"width":379,"height":294,"label":"spatial.kdl"},
{"id":"802f8b9066a573be","type":"group","x":-2792,"y":766,"width":386,"height":260,"label":"drawable.kdl"},
{"id":"d9d4b9e864ea93ca","type":"group","x":-4740,"y":3820,"width":236,"height":420,"label":"drawable.kdl"},
{"id":"c000c5b2af40096b","type":"group","x":-4740,"y":2960,"width":236,"height":260,"label":"spatial.kdl"},
{"id":"c2893ec3b8893cc6","type":"group","x":-4740,"y":4620,"width":236,"height":260,"label":"item.kdl"},
{"id":"d6134b489a9e65af","type":"group","x":-4740,"y":4300,"width":236,"height":260,"label":"input.kdl"},
{"id":"d325cb4e53a6c519","type":"group","x":-1754,"y":131,"width":222,"height":271,"label":"item.kdl"},
{"id":"50927321cf2605d1","type":"group","x":-4740,"y":3420,"width":236,"height":181,"label":"field.kdl"},
{"id":"12fab33629005403","type":"group","x":-2140,"y":92,"width":175,"height":200,"label":"field.kdl"},
{"id":"63d23d9815da2bba","type":"group","x":-1965,"y":-100,"width":288,"height":99,"label":"item_panel.kdl"},
{"id":"a1499847bbc86deb","type":"group","x":-1643,"y":-101,"width":288,"height":99,"label":"item_camera.kdl"},
{"id":"39557cdc2bfc2291","type":"group","x":-4740,"y":3650,"width":236,"height":110,"label":"audio.kdl"},
{"id":"457a40c5d4d42b42","type":"group","x":-4740,"y":2820,"width":236,"height":100,"label":"node.kdl"},
{"id":"e02b43e62ca3edb0","type":"group","x":-4740,"y":3260,"width":236,"height":100,"label":"root.kdl"},
{"id":"9476251e5cb9df8d","type":"group","x":-4740,"y":5100,"width":236,"height":100,"label":"item_panel.kdl"},
{"id":"dee97cc5614c551b","type":"group","x":-4740,"y":4940,"width":236,"height":100,"label":"item_camera.kdl"},
{"id":"8a460156c05b3ca4","type":"group","x":-2280,"y":-101,"width":162,"height":100,"label":"audio.kdl"},
{"id":"8f3dfd1b449f375a","type":"group","x":-2792,"y":267,"width":160,"height":96,"label":"node.kdl"},
{"id":"27f4d61d9ef98b6e","type":"group","x":-2560,"y":-1,"width":147,"height":99,"label":"root.kdl"},
{"id":"ae08aa1432327a77","type":"text","text":"Basic node handle","x":-3960,"y":736,"width":220,"height":60,"color":"4"},
{"id":"b6c56a61ec978fad","type":"text","text":"Messenger","x":-4305,"y":656,"width":195,"height":60,"color":"2"},
{"id":"dec753ab2a6d9057","type":"text","text":"Client struct","x":-4300,"y":776,"width":165,"height":60,"color":"4"},
{"id":"52a5992162035792","type":"text","text":"Message flatbuffers schema","x":-4705,"y":616,"width":280,"height":60,"color":"3"},
{"id":"bf6b78b2a6c46da6","type":"text","text":"Scenegraph trait","x":-4305,"y":576,"width":195,"height":60,"color":"2"},
{"id":"c54432e5147793d6","type":"text","text":"Socket connection","x":-4660,"y":776,"width":210,"height":60,"color":"2"},
{"id":"7cd87726b872568f","type":"text","text":"Interface Description Language","x":-3960,"y":616,"width":320,"height":60,"color":"3"},
{"id":"284c62880810c392","type":"text","text":"Aspects","x":-3960,"y":496,"width":180,"height":60,"color":"1"},
{"id":"649ef7602640de30","type":"text","text":"Scenegraph","x":-3960,"y":336,"width":180,"height":60,"color":"1"},
{"id":"e5f4341c3453261a","type":"text","text":"Socket creation","x":-4660,"y":456,"width":190,"height":60,"color":"2"},
{"id":"452f6e02c18d06ca","type":"text","text":"Client struct","x":-4305,"y":456,"width":165,"height":60,"color":"1"},
{"id":"1828ef52f3721339","type":"text","text":"IDL codegen","x":-3586,"y":416,"width":250,"height":60,"color":"1"},
{"id":"06cc8428c0400ab8","type":"text","text":"Basic node","x":-3960,"y":416,"width":180,"height":60,"color":"1"},
{"id":"c2e24cefbe468d1f","type":"text","text":"Root impl (contains session save/restore logic)","x":-3551,"y":-20,"width":250,"height":100,"color":"1"},
{"id":"a282f737afa44c1f","type":"text","text":"OpenXR overlay support:\nso you can run Stardust over other XR apps with Monado","x":-3269,"y":-160,"width":340,"height":100,"color":"1"},
{"id":"5bc0205a2cb7c679","type":"text","text":"OpenXR support (for every headset)","x":-3525,"y":-157,"width":190,"height":95,"color":"1"},
{"id":"26587e8228a0f3d5","type":"text","text":"(any schema nodes are assumed to be implemented on server and fusion for brevity)","x":-4400,"y":-443,"width":250,"height":119},
{"id":"1b240b20d4a70b78","type":"text","text":"StereoKit rust bindings","x":-3835,"y":-506,"width":250,"height":60},
{"id":"b8816c3c9a488fb7","type":"text","text":"StereoKit Input","x":-3091,"y":-756,"width":250,"height":60},
{"id":"141436bc653603a4","type":"text","text":"Render loop","x":-3835,"y":-140,"width":250,"height":60,"color":"1"},
{"id":"872425a083529c03","type":"text","text":"Smithay","x":-3585,"y":-330,"width":140,"height":60,"color":"1"},
{"id":"697112c2e6e25457","type":"text","text":"Schemas","x":-4720,"y":-411,"width":250,"height":54,"color":"3"},
{"id":"406f2c43e028af8e","type":"text","text":"Fusion","x":-4720,"y":-357,"width":250,"height":54,"color":"4"},
{"id":"c607512091579fcc","type":"text","text":"Molecules","x":-4720,"y":-303,"width":250,"height":54,"color":"5"},
{"id":"250ed1f51053fc68","type":"text","text":"Asteroids","x":-4720,"y":-249,"width":250,"height":54,"color":"6"},
{"id":"18ac1a99ba45c19f","type":"text","text":"**Client Name**: details","x":-4720,"y":-195,"width":250,"height":54},
{"id":"430d56d5a64970ce","type":"text","text":"Core","x":-4720,"y":-466,"width":250,"height":54,"color":"2"},
{"id":"3f2e306863bd075e","type":"text","text":"Server","x":-4720,"y":-520,"width":250,"height":54,"color":"1"},
{"id":"64416301765506c5","type":"text","text":"[**black-hole**](https://github.com/StardustXR/black-hole):\n1-tap minimize everything (useful when stardust is an overlay)","x":-2920,"y":4000,"width":260,"height":140},
{"id":"cab2e454d7d6e016","type":"text","text":"Interaction Engine clone","x":-3760,"y":4360,"width":250,"height":60},
{"id":"09c89e21af26b9f6","type":"text","text":"Grabbable","x":-3760,"y":4580,"width":176,"height":60,"color":"5"},
{"id":"390f2d0ab9e97bcc","type":"text","text":"Hover Plane","x":-3760,"y":4660,"width":176,"height":60,"color":"5"},
{"id":"e5a6ec49cf165de6","type":"text","text":"Touch Plane","x":-3760,"y":4740,"width":176,"height":60,"color":"5"},
{"id":"18bcf101d938b4e9","type":"text","text":"Item UI Handler","x":-4720,"y":4800,"width":196,"height":60,"color":"3"},
{"id":"dd8ad1cecec11951","type":"text","text":"Camera Item","x":-4698,"y":4960,"width":174,"height":60,"color":"3"},
{"id":"ccb4a935f30be9f9","type":"text","text":"Panel Item","x":-4668,"y":5120,"width":144,"height":60,"color":"3"},
{"id":"ecb6112f808dc856","type":"text","text":"ModelPart","x":-4676,"y":3920,"width":152,"height":60,"color":"3"},
{"id":"f5234979bbf7f708","type":"text","text":"Lines","x":-4633,"y":3840,"width":109,"height":60,"color":"3"},
{"id":"5640c1dd662e55ef","type":"text","text":"Input Queue","x":-4420,"y":4358,"width":166,"height":60,"color":"5"},
{"id":"8c197e503c976f08","type":"text","text":"Multi Action","x":-4160,"y":4360,"width":176,"height":60,"color":"5"},
{"id":"9d7534ea78d4e0e9","type":"text","text":"Single Action","x":-4160,"y":4440,"width":176,"height":60,"color":"5"},
{"id":"776dd8b422e21598","type":"text","text":"Simple Action","x":-4160,"y":4280,"width":176,"height":60,"color":"5"},
{"id":"89247e47ec2e509f","type":"text","text":"[**flatland**](https://github.com/StardustXR/gravity):\nBasic item UI handler (like a window manager) for flat panel operation in 6DoF (non-egocentric, more environment-relative)","x":-1580,"y":4600,"width":325,"height":185},
{"id":"09e8f34861f34fbe","type":"text","text":"Button","x":-3540,"y":4740,"width":176,"height":60,"color":"5"},
{"id":"6836e829d6edc4e4","type":"text","text":"Pinchscreen","x":-3760,"y":4820,"width":176,"height":60,"color":"5"},
{"id":"c47e1e48da83854b","type":"text","text":"Exposure","x":-1940,"y":4820,"width":166,"height":60,"color":"5"},
{"id":"5dcd7b9b6f53d1ff","type":"text","text":"Input Handler","x":-4698,"y":4320,"width":174,"height":60,"color":"3"},
{"id":"3b3769f2a721c899","type":"text","text":"Text","x":-4649,"y":4160,"width":125,"height":60,"color":"3"},
{"id":"0a572d0120766a22","type":"text","text":"TextStyle","x":-4664,"y":4080,"width":140,"height":60,"color":"3"},
{"id":"e49d8f986da51feb","type":"text","text":"Model","x":-4649,"y":4000,"width":125,"height":60,"color":"3"},
{"id":"c11a816af059b9c1","type":"text","text":"Input Method","x":-4698,"y":4480,"width":174,"height":60,"color":"3"},
{"id":"9b840cf1b70c4165","type":"text","text":"Item","x":-4624,"y":4640,"width":100,"height":60,"color":"3"},
{"id":"7c2a0ea6520edaa3","type":"text","text":"Item Acceptor","x":-4700,"y":4720,"width":176,"height":60,"color":"3"},
{"id":"a960b95dfa9f8f67","type":"text","text":"Input Data","x":-4668,"y":4400,"width":144,"height":60,"color":"3"},
{"id":"8595375f0c846771","type":"text","text":"Field","x":-4629,"y":3521,"width":105,"height":60,"color":"3"},
{"id":"8eb5c6bf3042f128","type":"text","text":"FieldRef","x":-4650,"y":3440,"width":126,"height":60,"color":"3"},
{"id":"88a03625873050c5","type":"text","text":"Sound","x":-4640,"y":3670,"width":116,"height":60,"color":"3"},
{"id":"a041f6d64d5fb3b2","type":"text","text":"Root","x":-4633,"y":3280,"width":109,"height":60,"color":"3"},
{"id":"a24f518e51f80b1b","type":"text","text":"Zone","x":-4633,"y":3140,"width":109,"height":60,"color":"3"},
{"id":"ba802a4cd28e5a79","type":"text","text":"Spatial","x":-4649,"y":3060,"width":125,"height":60,"color":"3"},
{"id":"c42f1db2a0d949cd","type":"text","text":"Owned","x":-4649,"y":2840,"width":125,"height":60,"color":"3"},
{"id":"be95dc150577789f","type":"text","text":"SpatialRef","x":-4676,"y":2980,"width":152,"height":60,"color":"3"},
{"id":"037c2b3f24e763e3","type":"text","text":"FieldRef","x":-2115,"y":120,"width":126,"height":60,"color":"3"},
{"id":"2f1f06366fd1cb77","type":"text","text":"Sound","x":-2260,"y":-81,"width":116,"height":60,"color":"3"},
{"id":"2327522b972e289f","type":"text","text":"Server sound impl","x":-2327,"y":-540,"width":250,"height":60,"color":"1"},
{"id":"c328125b5d129c0a","type":"text","text":"Input Method","x":-1989,"y":617,"width":174,"height":60,"color":"3"},
{"id":"fd101e9222c3564a","type":"text","text":"Spatial","x":-2567,"y":515,"width":135,"height":60,"color":"3"},
{"id":"b66434f6ebbd16fd","type":"text","text":"SpatialRef","x":-2579,"y":425,"width":160,"height":60,"color":"3"},
{"id":"e207ac36d23a8633","type":"text","text":"Field","x":-2111,"y":200,"width":117,"height":60,"color":"3"},
{"id":"498b14ebecf4eee6","type":"text","text":"Item","x":-1698,"y":151,"width":100,"height":60,"color":"3"},
{"id":"3e945f6a8e9d0519","type":"text","text":"Panel Item","x":-1951,"y":-80,"width":250,"height":60,"color":"3"},
{"id":"7eeb7290f3eb1afe","type":"text","text":"Camera Item","x":-1629,"y":-81,"width":250,"height":60,"color":"3"},
{"id":"4ab71623e7df4a42","type":"text","text":"Server panel item impl","x":-1951,"y":-330,"width":250,"height":60,"color":"1"},
{"id":"22fdf42f42c1f5b6","type":"text","text":"Vtuber setup","x":-1556,"y":-446,"width":250,"height":60},
{"id":"7f6d468b9b935ee8","type":"text","text":"[**gravity**](https://github.com/StardustXR/gravity):\nlaunch other programs with an offset and the right env vars to connect to the server","x":-1540,"y":3300,"width":250,"height":160},
{"id":"e1bb781a8ecce707","type":"text","text":"Zone","x":-2400,"y":617,"width":160,"height":60,"color":"3"},
{"id":"614792413beb42f6","type":"text","text":"Spatial Universal Interaction System","x":-1280,"y":575,"width":250,"height":60,"color":"1"},
{"id":"4c37adc81bf61c25","type":"text","text":"Input Handler","x":-1730,"y":485,"width":174,"height":60,"color":"3"},
{"id":"d5faff5de0b89cd8","type":"text","text":"Item UI Handler","x":-1740,"y":311,"width":184,"height":60,"color":"3"},
{"id":"68864a9ef3e60f1f","type":"text","text":"Item Acceptor","x":-1734,"y":231,"width":171,"height":60,"color":"3"},
{"id":"840a235cb23a8a86","type":"text","text":"Virtual keyboard","x":-2060,"y":2370,"width":250,"height":60},
{"id":"781e300f65368d32","type":"text","text":"[**non-spatial-input/simular**](https://github.com/StardustXR/non-spatial-input/tree/main): sends mouse/keyboard to whatever you're looking at","x":-2549,"y":2226,"width":295,"height":99},
{"id":"59a6dc5dcbb52a6c","type":"text","text":"[**non-spatial-input/azimuth**](https://github.com/StardustXR/non-spatial-input/tree/main): turns mouse/keyboard into virtual pointer","x":-2549,"y":2105,"width":295,"height":100},
{"id":"4a9ca92932ad8d95","type":"text","text":"[**non-spatial-input/eclipse**](https://github.com/StardustXR/non-spatial-input/tree/main): libinput input source for headless setups","x":-2549,"y":1775,"width":295,"height":100},
{"id":"384cdb4d600e4435","type":"text","text":"[**non-spatial-input/manifold**](https://github.com/StardustXR/non-spatial-input/tree/main): X/Wayland window for 2D desktops to pipe input keyboard/mouse into stardust","x":-2549,"y":1635,"width":295,"height":120},
{"id":"19de4c6c6ce5959c","type":"text","text":"Root","x":-2540,"y":19,"width":107,"height":60,"color":"3"},
{"id":"855da85b1aabf61a","type":"text","text":"blendshapes","x":-2772,"y":-446,"width":250,"height":60,"color":"1"},
{"id":"9d15f7bbfd19032c","type":"text","text":"Flatscreen pointer input method","x":-2730,"y":-696,"width":314,"height":60,"color":"1"},
{"id":"84115e384a3cb0e6","type":"text","text":"Flatscreen hand input method","x":-2730,"y":-636,"width":314,"height":60,"color":"1"},
{"id":"541729d86a3680ae","type":"text","text":"TextStyle","x":-2732,"y":946,"width":140,"height":60,"color":"3"},
{"id":"8999be48e5025e9a","type":"text","text":"Text","x":-2557,"y":946,"width":125,"height":60,"color":"3"},
{"id":"1685b6d34abba913","type":"text","text":"ModelPart","x":-2744,"y":866,"width":152,"height":60,"color":"3"},
{"id":"14005ab7eece66f7","type":"text","text":"Model","x":-2557,"y":866,"width":125,"height":60,"color":"3"},
{"id":"ec49e948bd689095","type":"text","text":"Owned","x":-2772,"y":287,"width":125,"height":60,"color":"3"},
{"id":"0495159b9c03b03e","type":"text","text":"OpenXR hands input method","x":-2730,"y":-820,"width":314,"height":60,"color":"1"},
{"id":"215719ce17881fcf","type":"text","text":"OpenXR controller input method","x":-2730,"y":-880,"width":314,"height":60,"color":"1"},
{"id":"05a797eb3427495c","type":"text","text":"SpatialRefObject","x":-3600,"y":2575,"width":250,"height":60,"color":"4"},
{"id":"684b86f89b30ba40","type":"text","text":"FieldRefObject","x":-3600,"y":2680,"width":250,"height":60,"color":"4"},
{"id":"9e5914245df8c6bd","type":"text","text":"Expose hands over d-bus","x":-3603,"y":2480,"width":290,"height":61,"color":"1"},
{"id":"f83a35aabab659af","type":"text","text":"Expose controllers over d-bus","x":-3604,"y":2400,"width":291,"height":60,"color":"1"},
{"id":"16d7329f64407442","type":"text","text":"`org.stardustxr.SpatialRef`\nd-bus interface","x":-3983,"y":2575,"width":290,"height":60,"color":"3"},
{"id":"4e6aba21c6cde737","type":"text","text":"`org.stardustxr.FieldRef`\nd-bus interface","x":-3983,"y":2680,"width":269,"height":60,"color":"3"},
{"id":"fd0509535a673754","type":"text","text":"Initial D-Bus client connection","x":-4564,"y":2370,"width":310,"height":60,"color":"3"},
{"id":"990f3d3504c372f7","type":"text","text":"zbus","x":-4744,"y":2370,"width":120,"height":60,"color":"3"},
{"id":"306a9039af63d56b","type":"text","text":"Lines","x":-2557,"y":786,"width":125,"height":60,"color":"3"},
{"id":"c7559ea35e4a9c9b","type":"text","text":"Input Data","x":-1994,"y":485,"width":184,"height":60,"color":"3"},
{"id":"fb7a40a4b4ceb6ab","type":"text","text":"Keyboard handler","x":-3113,"y":2340,"width":203,"height":60,"color":"5"},
{"id":"a0ea588fbc8220a1","type":"text","text":"`org.stardustxr.XKB1`\nd-bus interface","x":-3557,"y":2266,"width":244,"height":60,"color":"3"},
{"id":"53c9e2bc69cf3a19","type":"text","text":"D-Bus Object Registry\n(finds objects that impl interfaces)","x":-3556,"y":2126,"width":243,"height":100,"color":"3"},
{"id":"9e3446df9aca854e","type":"text","text":"[**non-spatial-input/ipc**](https://github.com/StardustXR/non-spatial-input/tree/main): messaging over pipe to connect input source to spatialization method","x":-3113,"y":1940,"width":320,"height":120},
{"id":"b0e5a332f7964374","type":"text","text":"libinput","x":-2929,"y":1775,"width":136,"height":60},
{"id":"b46fdd5a0a8aeebc","type":"text","text":"winit","x":-2894,"y":1665,"width":101,"height":60},
{"id":"b02f1469789c61c9","type":"text","text":"smithay-client-toolkit","x":-3020,"y":1590,"width":227,"height":60},
{"id":"ab6f9ce168a6ee26","type":"text","text":"x11rb","x":-2901,"y":1520,"width":108,"height":60},
{"id":"4cd9a101c236687a","type":"text","text":"StardustClient","x":-3601,"y":1220,"width":177,"height":60,"color":"6"},
{"id":"6488c9d1a8763abe","type":"text","text":"View","x":-3572,"y":1130,"width":120,"height":60,"color":"6"},
{"id":"c8ba447b46838994","type":"text","text":"Element","x":-3580,"y":1020,"width":136,"height":60,"color":"6"},
{"id":"b68b64ef0c782eca","type":"text","text":"State","x":-3740,"y":1020,"width":107,"height":60,"color":"6"},
{"id":"dd1d82f780fecb9f","type":"text","text":"Scenegraph","x":-3960,"y":816,"width":220,"height":60,"color":"4"},
{"id":"5a59de07476167d8","type":"text","text":"IDL codegen","x":-3586,"y":776,"width":250,"height":60,"color":"4"},
{"id":"d893ad2043bd707c","x":-640,"y":2640,"width":250,"height":60,"type":"text","text":"Basalt (for SLAM)"},
{"id":"34f101fe85d80866","x":-640,"y":2727,"width":250,"height":60,"type":"text","text":"Hand tracking (mercury or Ultraleap)"},
{"id":"c46abc55daee7871","x":-640,"y":2807,"width":250,"height":100,"type":"text","text":"Controller tracking (constellation tracking or ICP)"},
{"id":"715e09fff7511a66","x":-640,"y":2927,"width":250,"height":60,"type":"text","text":"Eye tracking"},
{"id":"bdb6b9e176107d0a","x":-1196,"y":1817,"width":250,"height":60,"type":"text","text":""},
{"id":"2e242056b8334f16","x":-1140,"y":2610,"width":250,"height":90,"type":"text","text":"DSP FastLoader user-space support (for Qualcomm chips)"},
{"id":"31666294900ee9b6","x":-640,"y":2550,"width":250,"height":60,"type":"text","text":"Optics distortion/offset"},
{"id":"10ded39be07f048d","type":"text","text":"Monado driver for device","x":-209,"y":2727,"width":269,"height":60},
{"id":"79f72fd3e580bdb8","x":-640,"y":2420,"width":250,"height":99,"type":"text","text":"Display drivers (present on x86 hardware, not yet Qualcomm)"},
{"id":"70f097575978ad73","x":-1140,"y":2440,"width":250,"height":60,"type":"text","text":"Linux mainline kernel support"},
{"id":"268649ce32afe09a","x":-199,"y":2140,"width":250,"height":73,"type":"text","text":"Hardware compatibility (present for desktops)"},
{"id":"fe61430e902e6838","x":-765,"y":2275,"width":250,"height":60,"type":"text","text":"GPU video encode"},
{"id":"46ab1402b055ccb8","x":-480,"y":2280,"width":243,"height":50,"type":"text","text":"WiVRn (XR streaming)"},
{"id":"7ef618314c335587","x":-119,"y":2275,"width":91,"height":60,"type":"text","text":"OR"},
{"id":"78ee86d5d319d7f0","x":194,"y":2080,"width":305,"height":60,"type":"text","text":"Stardust DE (server + clients)"},
{"id":"de14d3cd4f621fd2","x":160,"y":2213,"width":339,"height":60,"type":"text","text":"XR Display manager (login screen)"},
{"id":"755ee6963a0bdffd","x":-198,"y":2000,"width":250,"height":60,"type":"text","text":"XDG Portal"},
{"id":"ec23e2d330b62394","x":-515,"y":2000,"width":250,"height":60,"type":"text","text":"Camera item (for screenshare)"},
{"id":"578bccee44b16ca5","x":780,"y":2153,"width":250,"height":60,"type":"text","text":"Stardust Standalone Distro"},
{"id":"5cf292fd8e8ba668","x":780,"y":2016,"width":250,"height":50,"type":"text","text":"Underlying distro"},
{"id":"85f57a8dde6ff8a9","x":520,"y":2080,"width":160,"height":60,"type":"text","text":"DE package"},
{"id":"0c4fb534e57273be","x":520,"y":2213,"width":160,"height":60,"type":"text","text":"DM package"}
],
"edges":[
{"id":"69a3ab2ad683bd6e","fromNode":"fd0509535a673754","fromSide":"right","toNode":"53c9e2bc69cf3a19","toSide":"left","color":"3"},
{"id":"3905178d7d6c86d5","fromNode":"c54432e5147793d6","fromSide":"right","toNode":"dec753ab2a6d9057","toSide":"left","color":"2"},
{"id":"29d21cdd457d85c8","fromNode":"e5f4341c3453261a","fromSide":"right","toNode":"452f6e02c18d06ca","toSide":"left","color":"2"},
{"id":"7df47bd720bddb9c","fromNode":"52a5992162035792","fromSide":"right","toNode":"b6c56a61ec978fad","toSide":"left","color":"3"},
{"id":"c2dc10408759baeb","fromNode":"52a5992162035792","fromSide":"right","toNode":"bf6b78b2a6c46da6","toSide":"left","color":"3"},
{"id":"b3190615a04449e1","fromNode":"dec753ab2a6d9057","fromSide":"right","toNode":"ae08aa1432327a77","toSide":"left","color":"4"},
{"id":"a7017d814f95fdec","fromNode":"dec753ab2a6d9057","fromSide":"right","toNode":"dd1d82f780fecb9f","toSide":"left","color":"4"},
{"id":"a87795fac56d81ff","fromNode":"452f6e02c18d06ca","fromSide":"right","toNode":"06cc8428c0400ab8","toSide":"left","color":"1"},
{"id":"0b75d7419122a137","fromNode":"452f6e02c18d06ca","fromSide":"right","toNode":"649ef7602640de30","toSide":"left","color":"1"},
{"id":"6f69324e6394f401","fromNode":"bf6b78b2a6c46da6","fromSide":"right","toNode":"649ef7602640de30","toSide":"left","color":"2"},
{"id":"b061a88f69f2d248","fromNode":"bf6b78b2a6c46da6","fromSide":"right","toNode":"dd1d82f780fecb9f","toSide":"left","color":"2"},
{"id":"48fcdf5ce5acd262","fromNode":"b6c56a61ec978fad","fromSide":"right","toNode":"ae08aa1432327a77","toSide":"left","color":"2"},
{"id":"ac40029490c5e589","fromNode":"b6c56a61ec978fad","fromSide":"right","toNode":"06cc8428c0400ab8","toSide":"left","color":"2"},
{"id":"7202d91a4283a036","fromNode":"fb7a40a4b4ceb6ab","fromSide":"right","toNode":"840a235cb23a8a86","toSide":"left"},
{"id":"2a3a9841b908393c","fromNode":"fd0509535a673754","fromSide":"right","toNode":"f83a35aabab659af","toSide":"left","color":"2"},
{"id":"fc1a84889d82166b","fromNode":"fd0509535a673754","fromSide":"right","toNode":"9e5914245df8c6bd","toSide":"left","color":"2"},
{"id":"7177c0f9cbb300f6","fromNode":"fd0509535a673754","fromSide":"right","toNode":"a0ea588fbc8220a1","toSide":"left","color":"3"},
{"id":"803f0c07e5850362","fromNode":"9e3446df9aca854e","fromSide":"right","toNode":"59a6dc5dcbb52a6c","toSide":"left"},
{"id":"a1c37e53ca507123","fromNode":"9e3446df9aca854e","fromSide":"right","toNode":"781e300f65368d32","toSide":"left"},
{"id":"3db939c2e279ad7e","fromNode":"fd0509535a673754","fromSide":"right","toNode":"fb7a40a4b4ceb6ab","toSide":"left","color":"3"},
{"id":"4a1b3f623e7eb0f6","fromNode":"53c9e2bc69cf3a19","fromSide":"right","toNode":"59a6dc5dcbb52a6c","toSide":"left","color":"4"},
{"id":"93f4ba8573588594","fromNode":"53c9e2bc69cf3a19","fromSide":"right","toNode":"781e300f65368d32","toSide":"left","color":"4"},
{"id":"c3fccbfafc9812d4","fromNode":"a0ea588fbc8220a1","fromSide":"right","toNode":"781e300f65368d32","toSide":"left","color":"4"},
{"id":"45f35f94863d490a","fromNode":"a0ea588fbc8220a1","fromSide":"right","toNode":"59a6dc5dcbb52a6c","toSide":"left","color":"4"},
{"id":"58ccf2fb1dac8595","fromNode":"9e3446df9aca854e","fromSide":"right","toNode":"384cdb4d600e4435","toSide":"left"},
{"id":"264f495b4a800bf3","fromNode":"9e3446df9aca854e","fromSide":"right","toNode":"4a9ca92932ad8d95","toSide":"left"},
{"id":"457bfc88f669d192","fromNode":"bf6b78b2a6c46da6","fromSide":"right","toNode":"7cd87726b872568f","toSide":"left","color":"2"},
{"id":"7a36d2f1b9e4cc57","fromNode":"452f6e02c18d06ca","fromSide":"right","toNode":"284c62880810c392","toSide":"left","color":"1"},
{"id":"dc9cf98095bf788a","fromNode":"697112c2e6e25457","fromSide":"right","toNode":"26587e8228a0f3d5","toSide":"left"},
{"id":"ba2725bd2e078b91","fromNode":"649ef7602640de30","fromSide":"top","toNode":"141436bc653603a4","toSide":"bottom","color":"1"},
{"id":"7c0cdf4444c41cbd","fromNode":"1b240b20d4a70b78","fromSide":"bottom","toNode":"141436bc653603a4","toSide":"top","color":"1"},
{"id":"29c65f90f6fb3cdb","fromNode":"649ef7602640de30","fromSide":"right","toNode":"1828ef52f3721339","toSide":"left","color":"1"},
{"id":"5767facbda7ed5be","fromNode":"284c62880810c392","fromSide":"right","toNode":"1828ef52f3721339","toSide":"left","color":"1"},
{"id":"68047034d3c4cc4c","fromNode":"7cd87726b872568f","fromSide":"right","toNode":"5a59de07476167d8","toSide":"top","color":"2"},
{"id":"b849585a4404f380","fromNode":"7cd87726b872568f","fromSide":"right","toNode":"1828ef52f3721339","toSide":"bottom","color":"2"},
{"id":"afefb04d573ffc6c","fromNode":"ae08aa1432327a77","fromSide":"right","toNode":"5a59de07476167d8","toSide":"left","color":"4"},
{"id":"250ae766680a5d3a","fromNode":"dd1d82f780fecb9f","fromSide":"right","toNode":"5a59de07476167d8","toSide":"left","color":"4"},
{"id":"72cc33307ec8ef10","fromNode":"b8816c3c9a488fb7","fromSide":"right","toNode":"215719ce17881fcf","toSide":"left","color":"1"},
{"id":"cd7d09113161811c","fromNode":"1b240b20d4a70b78","fromSide":"right","toNode":"b8816c3c9a488fb7","toSide":"left","color":"1"},
{"id":"8c56ebfa6c67ba44","fromNode":"b8816c3c9a488fb7","fromSide":"right","toNode":"9d15f7bbfd19032c","toSide":"left","color":"1"},
{"id":"afa091762ac11789","fromNode":"b8816c3c9a488fb7","fromSide":"right","toNode":"84115e384a3cb0e6","toSide":"left","color":"1"},
{"id":"9d2549dce66194fd","fromNode":"b8816c3c9a488fb7","fromSide":"right","toNode":"0495159b9c03b03e","toSide":"left","color":"1"},
{"id":"3c34da24a153d5f8","fromNode":"141436bc653603a4","fromSide":"right","toNode":"5bc0205a2cb7c679","toSide":"left","color":"1"},
{"id":"027c464c2c00759e","fromNode":"5bc0205a2cb7c679","fromSide":"right","toNode":"a282f737afa44c1f","toSide":"left","color":"1"},
{"id":"07f1abd123cb3fc1","fromNode":"872425a083529c03","fromSide":"bottom","toNode":"141436bc653603a4","toSide":"top","color":"1","label":"Surface Textures"},
{"id":"7d90d60b4f438a9c","fromNode":"1b240b20d4a70b78","fromSide":"bottom","toNode":"872425a083529c03","toSide":"top","color":"1","label":"EGL Context"},
{"id":"ea505d5df0de9866","fromNode":"06cc8428c0400ab8","fromSide":"top","toNode":"649ef7602640de30","toSide":"bottom","color":"1"},
{"id":"cf2c90b7f3f5fecf","fromNode":"4c37adc81bf61c25","fromSide":"right","toNode":"614792413beb42f6","toSide":"left","color":"1"},
{"id":"625b5a44693d9bd2","fromNode":"c328125b5d129c0a","fromSide":"right","toNode":"614792413beb42f6","toSide":"left","color":"1"},
{"id":"1e6a9b29e3d6f4ce","fromNode":"ec49e948bd689095","fromSide":"bottom","toNode":"fd101e9222c3564a","toSide":"left","color":"3"},
{"id":"0a96d219c8b64a05","fromNode":"b66434f6ebbd16fd","fromSide":"right","toNode":"037c2b3f24e763e3","toSide":"left","color":"3"},
{"id":"4725de4e8c0dc041","fromNode":"b66434f6ebbd16fd","fromSide":"bottom","toNode":"fd101e9222c3564a","toSide":"top","color":"3"},
{"id":"a56e5c61bf2add30","fromNode":"498b14ebecf4eee6","fromSide":"bottom","toNode":"68864a9ef3e60f1f","toSide":"top","color":"3"},
{"id":"94d30791f9355abf","fromNode":"872425a083529c03","fromSide":"right","toNode":"4ab71623e7df4a42","toSide":"left","color":"1"},
{"id":"119cb2a69d83faf5","fromNode":"e207ac36d23a8633","fromSide":"right","toNode":"68864a9ef3e60f1f","toSide":"left","color":"3"},
{"id":"cf424cae069aad33","fromNode":"e207ac36d23a8633","fromSide":"right","toNode":"4c37adc81bf61c25","toSide":"left","color":"3"},
{"id":"8d623a4a08386455","fromNode":"3e945f6a8e9d0519","fromSide":"top","toNode":"4ab71623e7df4a42","toSide":"bottom","color":"1"},
{"id":"c2a471ab018406d5","fromNode":"037c2b3f24e763e3","fromSide":"bottom","toNode":"e207ac36d23a8633","toSide":"top"},
{"id":"3fd0c3094802c245","fromNode":"fd101e9222c3564a","fromSide":"right","toNode":"c328125b5d129c0a","toSide":"left","color":"3"},
{"id":"2d77dea6e9f67b8f","fromNode":"498b14ebecf4eee6","fromSide":"top","toNode":"3e945f6a8e9d0519","toSide":"bottom","color":"3"},
{"id":"7f7f992ad59dce09","fromNode":"7cd87726b872568f","fromSide":"right","toNode":"81b3a2672a272b54","toSide":"left","color":"3"},
{"id":"34b395a0b489811d","fromNode":"c7559ea35e4a9c9b","fromSide":"right","toNode":"4c37adc81bf61c25","toSide":"left","color":"3"},
{"id":"644314ee86568080","fromNode":"c7559ea35e4a9c9b","fromSide":"bottom","toNode":"c328125b5d129c0a","toSide":"top","color":"3"},
{"id":"1cd4052d821044aa","fromNode":"84e27f73c6830a7b","fromSide":"bottom","toNode":"306a9039af63d56b","toSide":"top","color":"3"},
{"id":"3c09a3b2f27429e8","fromNode":"fd101e9222c3564a","fromSide":"bottom","toNode":"1685b6d34abba913","toSide":"top","color":"3"},
{"id":"8ea90ced4f263725","fromNode":"fd101e9222c3564a","fromSide":"bottom","toNode":"14005ab7eece66f7","toSide":"top"},
{"id":"a598b87202877455","fromNode":"fd101e9222c3564a","fromSide":"bottom","toNode":"8999be48e5025e9a","toSide":"top","color":"3"},
{"id":"09052467d6b4e723","fromNode":"541729d86a3680ae","fromSide":"right","toNode":"8999be48e5025e9a","toSide":"left","color":"3"},
{"id":"c71cd095c7f2f076","fromNode":"fd101e9222c3564a","fromSide":"right","toNode":"2f1f06366fd1cb77","toSide":"bottom","color":"3"},
{"id":"1a71dd7cb24923db","fromNode":"1b240b20d4a70b78","fromSide":"right","toNode":"2327522b972e289f","toSide":"left","color":"1"},
{"id":"e58a90b35453617b","fromNode":"2f1f06366fd1cb77","fromSide":"top","toNode":"2327522b972e289f","toSide":"bottom","color":"1"},
{"id":"615382debc106ab9","fromNode":"b66434f6ebbd16fd","fromSide":"top","toNode":"19de4c6c6ce5959c","toSide":"bottom","color":"3"},
{"id":"f835ba551770e179","fromNode":"452f6e02c18d06ca","fromSide":"top","toNode":"c2e24cefbe468d1f","toSide":"left","color":"1"},
{"id":"41a742699279ecc2","fromNode":"19de4c6c6ce5959c","fromSide":"left","toNode":"c2e24cefbe468d1f","toSide":"right","color":"1"},
{"id":"c4c9ba05ca2213f8","fromNode":"81b3a2672a272b54","fromSide":"left","toNode":"1828ef52f3721339","toSide":"right","color":"2"},
{"id":"27d554e9577d576a","fromNode":"81b3a2672a272b54","fromSide":"left","toNode":"5a59de07476167d8","toSide":"right","color":"2"},
{"id":"0d71cecd775a94f3","fromNode":"1b240b20d4a70b78","fromSide":"right","toNode":"855da85b1aabf61a","toSide":"left","color":"1"},
{"id":"0021548c7a884994","fromNode":"498b14ebecf4eee6","fromSide":"top","toNode":"7eeb7290f3eb1afe","toSide":"bottom","color":"3"},
{"id":"510b923eca1769e6","fromNode":"fd101e9222c3564a","fromSide":"right","toNode":"498b14ebecf4eee6","toSide":"left","color":"3"},
{"id":"e7c65691d4e30f7a","fromNode":"498b14ebecf4eee6","fromSide":"right","toNode":"d5faff5de0b89cd8","toSide":"right","color":"3"},
{"id":"38a168303478256a","fromNode":"855da85b1aabf61a","fromSide":"right","toNode":"22fdf42f42c1f5b6","toSide":"left","color":"1"},
{"id":"5c01282187cee22f","fromNode":"fd101e9222c3564a","fromSide":"right","toNode":"68864a9ef3e60f1f","toSide":"left","color":"3"},
{"id":"a77da573ea653e17","fromNode":"1685b6d34abba913","fromSide":"right","toNode":"14005ab7eece66f7","toSide":"left","color":"3"},
{"id":"dec675e9de958ac5","fromNode":"802f8b9066a573be","fromSide":"top","toNode":"141436bc653603a4","toSide":"bottom","color":"1","label":"draw on every frame"},
{"id":"a46bc1b89de9c846","fromNode":"855da85b1aabf61a","fromSide":"bottom","toNode":"1685b6d34abba913","toSide":"top","color":"1"},
{"id":"48c70442bb5fc701","fromNode":"990f3d3504c372f7","fromSide":"right","toNode":"fd0509535a673754","toSide":"left","color":"3"},
{"id":"3d7588df4a38bf8b","fromNode":"a041f6d64d5fb3b2","fromSide":"right","toNode":"7f6d468b9b935ee8","toSide":"left","color":"4"},
{"id":"27cc4aab15515f68","fromNode":"4e6aba21c6cde737","fromSide":"right","toNode":"684b86f89b30ba40","toSide":"left","color":"2"},
{"id":"f57c5f4470ebf230","fromNode":"16d7329f64407442","fromSide":"right","toNode":"05a797eb3427495c","toSide":"left","color":"2"},
{"id":"5e25f846a5524158","fromNode":"fd0509535a673754","fromSide":"right","toNode":"16d7329f64407442","toSide":"left","color":"3"},
{"id":"ddfd39878c50d634","fromNode":"fd0509535a673754","fromSide":"right","toNode":"4e6aba21c6cde737","toSide":"left","color":"3"},
{"id":"b6bc6227a4e9ae38","fromNode":"be95dc150577789f","fromSide":"right","toNode":"05a797eb3427495c","toSide":"left","color":"4"},
{"id":"282ccf09e9b6bb56","fromNode":"8eb5c6bf3042f128","fromSide":"right","toNode":"684b86f89b30ba40","toSide":"left","color":"4"},
{"id":"82f3f9b585c8be22","fromNode":"05a797eb3427495c","fromSide":"right","toNode":"fb7a40a4b4ceb6ab","toSide":"left","color":"4"},
{"id":"58940aa62ab53430","fromNode":"684b86f89b30ba40","fromSide":"right","toNode":"fb7a40a4b4ceb6ab","toSide":"left","color":"4"},
{"id":"f88257428d6babfd","fromNode":"a0ea588fbc8220a1","fromSide":"right","toNode":"fb7a40a4b4ceb6ab","toSide":"left","color":"4"},
{"id":"ff9d6b5fe1a55b32","fromNode":"b46fdd5a0a8aeebc","fromSide":"right","toNode":"384cdb4d600e4435","toSide":"left"},
{"id":"aeede4a792046235","fromNode":"b0e5a332f7964374","fromSide":"right","toNode":"4a9ca92932ad8d95","toSide":"left"},
{"id":"78bb1de464dca645","fromNode":"b02f1469789c61c9","fromSide":"right","toNode":"384cdb4d600e4435","toSide":"left"},
{"id":"2e7499303a7f0f09","fromNode":"ab6f9ce168a6ee26","fromSide":"right","toNode":"384cdb4d600e4435","toSide":"left"},
{"id":"f4ee9f6e57c9f71c","fromNode":"fb7a40a4b4ceb6ab","fromSide":"right","toNode":"89247e47ec2e509f","toSide":"left","color":"5"},
{"id":"b18518367f7d8863","fromNode":"ccb4a935f30be9f9","fromSide":"right","toNode":"89247e47ec2e509f","toSide":"left","color":"4"},
{"id":"abe21bca5e4c864d","fromNode":"d9d4b9e864ea93ca","fromSide":"right","toNode":"89247e47ec2e509f","toSide":"left","color":"4"},
{"id":"e314d36253ffc863","fromNode":"7c2a0ea6520edaa3","fromSide":"right","toNode":"89247e47ec2e509f","toSide":"left","color":"4"},
{"id":"9beee5118bbf0070","fromNode":"5dcd7b9b6f53d1ff","fromSide":"right","toNode":"5640c1dd662e55ef","toSide":"left","color":"4"},
{"id":"449c0bd417a1d44f","fromNode":"a960b95dfa9f8f67","fromSide":"right","toNode":"5640c1dd662e55ef","toSide":"left","color":"4"},
{"id":"1122ed2341432a2b","fromNode":"5640c1dd662e55ef","fromSide":"right","toNode":"776dd8b422e21598","toSide":"left","color":"5"},
{"id":"3ede846e8c3b1355","fromNode":"5640c1dd662e55ef","fromSide":"right","toNode":"9d7534ea78d4e0e9","toSide":"left","color":"5"},
{"id":"ccd20d8b329d1377","fromNode":"5640c1dd662e55ef","fromSide":"right","toNode":"8c197e503c976f08","toSide":"left","color":"5"},
{"id":"5ba3a7505e33ddb2","fromNode":"e5a6ec49cf165de6","fromSide":"right","toNode":"09e8f34861f34fbe","toSide":"left","color":"5"},
{"id":"1e5ac77226912108","fromNode":"9d7534ea78d4e0e9","fromSide":"bottom","toNode":"e5a6ec49cf165de6","toSide":"left","color":"5"},
{"id":"44701b661acad7c8","fromNode":"9d7534ea78d4e0e9","fromSide":"bottom","toNode":"6836e829d6edc4e4","toSide":"left","color":"5"},
{"id":"ba40dba52566211e","fromNode":"8c197e503c976f08","fromSide":"right","toNode":"390f2d0ab9e97bcc","toSide":"left","color":"5"},
{"id":"0220c9ca7a52ef63","fromNode":"776dd8b422e21598","fromSide":"bottom","toNode":"8c197e503c976f08","toSide":"top"},
{"id":"8d26b0163b197512","fromNode":"8c197e503c976f08","fromSide":"bottom","toNode":"9d7534ea78d4e0e9","toSide":"top"},
{"id":"27918f04249b22d8","fromNode":"9d7534ea78d4e0e9","fromSide":"bottom","toNode":"09c89e21af26b9f6","toSide":"left","color":"5"},
{"id":"6af8a950a3e6e6e2","fromNode":"9d7534ea78d4e0e9","fromSide":"right","toNode":"89247e47ec2e509f","toSide":"left","color":"5"},
{"id":"34b5fec8cf94e6cd","fromNode":"18bcf101d938b4e9","fromSide":"right","toNode":"89247e47ec2e509f","toSide":"left","color":"4"},
{"id":"2b5e31198cc32228","fromNode":"9b840cf1b70c4165","fromSide":"right","toNode":"89247e47ec2e509f","toSide":"left","color":"4"},
{"id":"168fb8c7edaa758b","fromNode":"b66434f6ebbd16fd","fromSide":"right","toNode":"e1bb781a8ecce707","toSide":"top","color":"3"},
{"id":"35d3e38030447d1d","fromNode":"fd101e9222c3564a","fromSide":"right","toNode":"e1bb781a8ecce707","toSide":"top","color":"3"},
{"id":"8135e47a981a03d1","fromNode":"c11a816af059b9c1","fromSide":"right","toNode":"7f6d468b9b935ee8","toSide":"left","color":"4"},
{"id":"53f9df504884ba70","fromNode":"c47e1e48da83854b","fromSide":"right","toNode":"89247e47ec2e509f","toSide":"left","color":"5"},
{"id":"c6fc3030271a06ce","fromNode":"f5234979bbf7f708","fromSide":"right","toNode":"59a6dc5dcbb52a6c","toSide":"left","color":"5"},
{"id":"4e19ff7f978e6968","fromNode":"6488c9d1a8763abe","fromSide":"bottom","toNode":"4cd9a101c236687a","toSide":"top","color":"6"},
{"id":"ac4b8d19745672f5","fromNode":"c8ba447b46838994","fromSide":"bottom","toNode":"6488c9d1a8763abe","toSide":"top","color":"6"},
{"id":"3e6b154c02fc72ce","fromNode":"09e8f34861f34fbe","fromSide":"right","toNode":"64416301765506c5","toSide":"left","color":"5"},
{"id":"420b1b0c0190068e","fromNode":"dec753ab2a6d9057","fromSide":"right","toNode":"4cd9a101c236687a","toSide":"left","color":"4"},
{"id":"ebb7f58c22876df1","fromNode":"b66434f6ebbd16fd","fromSide":"left","toNode":"c8ba447b46838994","toSide":"right","color":"4"},
{"id":"5acb8015df897f27","fromNode":"b68b64ef0c782eca","fromSide":"bottom","toNode":"6488c9d1a8763abe","toSide":"left","color":"6"},
{"id":"8f46e029f0f1be0d","fromNode":"a24f518e51f80b1b","fromSide":"right","toNode":"64416301765506c5","toSide":"left","color":"4"},
{"id":"9c30d1734e895256","fromNode":"6836e829d6edc4e4","fromSide":"right","toNode":"89247e47ec2e509f","toSide":"left","color":"5"},
{"id":"56a45432bb50f6b5","fromNode":"e5a6ec49cf165de6","fromSide":"right","toNode":"89247e47ec2e509f","toSide":"left","color":"5"},
{"id":"3721029c3e926bb3","fromNode":"9d7534ea78d4e0e9","fromSide":"right","toNode":"cab2e454d7d6e016","toSide":"left","color":"5"},
{"id":"27f792655a4ebdc1","fromNode":"8c197e503c976f08","fromSide":"right","toNode":"cab2e454d7d6e016","toSide":"left","color":"5"},
{"id":"cf895fb47e03cdfd","fromNode":"8eb5c6bf3042f128","fromSide":"right","toNode":"cab2e454d7d6e016","toSide":"left","color":"4"},
{"id":"df603adc8b3db351","fromNode":"79f72fd3e580bdb8","fromSide":"right","toNode":"7ef618314c335587","toSide":"bottom"},
{"id":"de59e36544ce59bf","fromNode":"70f097575978ad73","fromSide":"right","toNode":"79f72fd3e580bdb8","toSide":"left"},
{"id":"daeebbd9795492e0","fromNode":"d893ad2043bd707c","fromSide":"right","toNode":"10ded39be07f048d","toSide":"left"},
{"id":"29acedcad224471b","fromNode":"34f101fe85d80866","fromSide":"right","toNode":"10ded39be07f048d","toSide":"left"},
{"id":"7608d419816a56db","fromNode":"c46abc55daee7871","fromSide":"right","toNode":"10ded39be07f048d","toSide":"left"},
{"id":"b5d634a640006996","fromNode":"715e09fff7511a66","fromSide":"right","toNode":"10ded39be07f048d","toSide":"left"},
{"id":"28805b8874bb3186","fromNode":"70f097575978ad73","fromSide":"bottom","toNode":"2e242056b8334f16","toSide":"top"},
{"id":"223d52a660fac8ed","fromNode":"2e242056b8334f16","fromSide":"right","toNode":"d893ad2043bd707c","toSide":"left"},
{"id":"130269dd4796f229","fromNode":"2e242056b8334f16","fromSide":"right","toNode":"34f101fe85d80866","toSide":"left"},
{"id":"24dff5a65c881336","fromNode":"2e242056b8334f16","fromSide":"right","toNode":"c46abc55daee7871","toSide":"left"},
{"id":"5de4257855a7a601","fromNode":"2e242056b8334f16","fromSide":"right","toNode":"715e09fff7511a66","toSide":"left"},
{"id":"57815382279dc4a1","fromNode":"10ded39be07f048d","fromSide":"top","toNode":"7ef618314c335587","toSide":"bottom"},
{"id":"2f9ad6562fa9cc12","fromNode":"31666294900ee9b6","fromSide":"right","toNode":"10ded39be07f048d","toSide":"left"},
{"id":"7879ec72551b0b0e","fromNode":"268649ce32afe09a","fromSide":"right","toNode":"578bccee44b16ca5","toSide":"left"},
{"id":"c9b36f23ddce7459","fromNode":"268649ce32afe09a","fromSide":"right","toNode":"78ee86d5d319d7f0","toSide":"left"},
{"id":"af41a5259b28f121","fromNode":"268649ce32afe09a","fromSide":"right","toNode":"de14d3cd4f621fd2","toSide":"left"},
{"id":"5f78f56379cd0442","fromNode":"7ef618314c335587","fromSide":"top","toNode":"268649ce32afe09a","toSide":"bottom"},
{"id":"2aec377080bd4455","fromNode":"fe61430e902e6838","fromSide":"right","toNode":"46ab1402b055ccb8","toSide":"left"},
{"id":"9d1ec979e6106a21","fromNode":"70f097575978ad73","fromSide":"top","toNode":"fe61430e902e6838","toSide":"left"},
{"id":"1e0fd5e0190c41b6","fromNode":"46ab1402b055ccb8","fromSide":"right","toNode":"7ef618314c335587","toSide":"left"},
{"id":"fe773abe6957feff","fromNode":"79f72fd3e580bdb8","fromSide":"right","toNode":"7ef618314c335587","toSide":"left"},
{"id":"746ae60bddaf9096","fromNode":"755ee6963a0bdffd","fromSide":"right","toNode":"78ee86d5d319d7f0","toSide":"left"},
{"id":"efd2596e3be09e60","fromNode":"ec23e2d330b62394","fromSide":"right","toNode":"755ee6963a0bdffd","toSide":"left"},
{"id":"77f4559a9f62778d","fromNode":"5cf292fd8e8ba668","fromSide":"bottom","toNode":"578bccee44b16ca5","toSide":"top"},
{"id":"d5bf69f3ff51a2bc","fromNode":"78ee86d5d319d7f0","fromSide":"right","toNode":"85f57a8dde6ff8a9","toSide":"left"},
{"id":"24ca4300490f0656","fromNode":"85f57a8dde6ff8a9","fromSide":"right","toNode":"578bccee44b16ca5","toSide":"left"},
{"id":"0e49ad95403c00c7","fromNode":"de14d3cd4f621fd2","fromSide":"right","toNode":"0c4fb534e57273be","toSide":"left"},
{"id":"55670667f6319dea","fromNode":"0c4fb534e57273be","fromSide":"right","toNode":"578bccee44b16ca5","toSide":"left"}
]
}