@vitessce/vit-s 2.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/LICENSE +21 -0
  2. package/dist/CallbackPublisher.js +68 -0
  3. package/dist/LoadingIndicator.js +27 -0
  4. package/dist/TitleInfo.js +151 -0
  5. package/dist/VitS.js +113 -0
  6. package/dist/Vitessce.integration.test.js +36 -0
  7. package/dist/Vitessce.js +101 -0
  8. package/dist/VitessceGrid.js +55 -0
  9. package/dist/VitessceGrid.test.js +36 -0
  10. package/dist/Warning.js +45 -0
  11. package/dist/classNames.js +8 -0
  12. package/dist/component-registry.js +16 -0
  13. package/dist/data/AbstractLoader.js +35 -0
  14. package/dist/data/AbstractTwoStepLoader.js +7 -0
  15. package/dist/data/LoaderResult.js +7 -0
  16. package/dist/data/index.js +3 -0
  17. package/dist/data/loader-registry.js +15 -0
  18. package/dist/data-hook-utils.js +175 -0
  19. package/dist/data-hooks.js +241 -0
  20. package/dist/errors/AbstractLoaderError.js +13 -0
  21. package/dist/errors/DataSourceFetchError.js +13 -0
  22. package/dist/errors/DatasetNotFoundError.js +17 -0
  23. package/dist/errors/LoaderNotFoundError.js +17 -0
  24. package/dist/errors/LoaderValidationError.js +15 -0
  25. package/dist/errors/OptionsValidationError.js +15 -0
  26. package/dist/errors/index.js +6 -0
  27. package/dist/export-utils.js +70 -0
  28. package/dist/export-utils.test.js +66 -0
  29. package/dist/file-options-schemas-legacy.js +136 -0
  30. package/dist/file-options-schemas-legacy.test.js +126 -0
  31. package/dist/file-options-schemas.js +322 -0
  32. package/dist/file-options-schemas.test.js +23 -0
  33. package/dist/hooks.js +215 -0
  34. package/dist/index.js +18 -0
  35. package/dist/joint-file-types-legacy.js +278 -0
  36. package/dist/joint-file-types-legacy.test.js +400 -0
  37. package/dist/joint-file-types.js +148 -0
  38. package/dist/joint-file-types.test.js +139 -0
  39. package/dist/loader-registry.js +98 -0
  40. package/dist/plugins.js +154 -0
  41. package/dist/plugins.test.fixtures.js +76 -0
  42. package/dist/plugins.test.js +30 -0
  43. package/dist/schemas/PrettyJsonSchema.js +34 -0
  44. package/dist/schemas/config-0.1.0.schema.json +84 -0
  45. package/dist/schemas/config-1.0.0.schema.json +733 -0
  46. package/dist/schemas/config-1.0.1.schema.json +909 -0
  47. package/dist/schemas/config-1.0.10.schema.json +969 -0
  48. package/dist/schemas/config-1.0.11.schema.json +990 -0
  49. package/dist/schemas/config-1.0.12.schema.json +997 -0
  50. package/dist/schemas/config-1.0.13.schema.json +1013 -0
  51. package/dist/schemas/config-1.0.14.schema.json +1048 -0
  52. package/dist/schemas/config-1.0.15.schema.json +1048 -0
  53. package/dist/schemas/config-1.0.15.schema.test.js +22 -0
  54. package/dist/schemas/config-1.0.2.schema.json +910 -0
  55. package/dist/schemas/config-1.0.3.schema.json +910 -0
  56. package/dist/schemas/config-1.0.4.schema.json +949 -0
  57. package/dist/schemas/config-1.0.5.schema.json +949 -0
  58. package/dist/schemas/config-1.0.6.schema.json +949 -0
  59. package/dist/schemas/config-1.0.7.schema.json +949 -0
  60. package/dist/schemas/config-1.0.8.schema.json +965 -0
  61. package/dist/schemas/config-1.0.9.schema.json +965 -0
  62. package/dist/schemas/obsSets.schema.js +195 -0
  63. package/dist/schemas/obsSets.schema.json +194 -0
  64. package/dist/schemas/obsSetsTabular.schema.js +38 -0
  65. package/dist/schemas/obsSetsTabular.schema.json +37 -0
  66. package/dist/schemas/raster.schema.js +120 -0
  67. package/dist/schemas/raster.schema.json +119 -0
  68. package/dist/schemas/schema.test-old.js +50 -0
  69. package/dist/schemas/schema.test.js +46 -0
  70. package/dist/schemas.js +4 -0
  71. package/dist/shared-mui/components.js +35 -0
  72. package/dist/shared-mui/container.js +211 -0
  73. package/dist/shared-mui/styles.js +63 -0
  74. package/dist/shared-plot-options/CellColorEncodingOption.js +18 -0
  75. package/dist/shared-plot-options/OptionSelect.js +12 -0
  76. package/dist/shared-plot-options/OptionsContainer.js +12 -0
  77. package/dist/shared-plot-options/index.js +4 -0
  78. package/dist/shared-plot-options/styles.js +48 -0
  79. package/dist/state/hooks.js +550 -0
  80. package/dist/view-config-upgraders.js +525 -0
  81. package/dist/view-config-utils.js +286 -0
  82. package/dist/view-config-utils.test.fixtures.js +765 -0
  83. package/dist/view-config-utils.test.js +66 -0
  84. package/dist/view-config-versions.js +47 -0
  85. package/dist/vitessce-grid-layout/VitessceGridLayout.js +96 -0
  86. package/dist/vitessce-grid-layout/VitessceGridLayout.test.js +40 -0
  87. package/dist/vitessce-grid-layout/index.js +1 -0
  88. package/dist/vitessce-grid-layout/layout-utils.js +61 -0
  89. package/dist/vitessce-grid-layout/layout-utils.test.js +146 -0
  90. package/dist/vitessce-grid-utils.js +140 -0
  91. package/package.json +43 -0
@@ -0,0 +1,765 @@
1
+ /* eslint-disable camelcase */
2
+ export const legacyViewConfig0_1_0 = {
3
+ version: '0.1.0',
4
+ public: true,
5
+ name: 'My config name',
6
+ description: 'My config description',
7
+ layers: [{
8
+ name: 'cells',
9
+ type: 'CELLS',
10
+ fileType: 'cells.json',
11
+ url: 'https://example.com/cells.json',
12
+ }, {
13
+ name: 'cell-sets',
14
+ type: 'CELL-SETS',
15
+ fileType: 'cell-sets.json',
16
+ url: 'https://example.com/cell-sets.json',
17
+ }],
18
+ staticLayout: [{
19
+ component: 'description',
20
+ props: {
21
+ description: 'My component description',
22
+ },
23
+ x: 9,
24
+ y: 0,
25
+ w: 3,
26
+ h: 2,
27
+ }, {
28
+ component: 'scatterplot',
29
+ props: {
30
+ mapping: 't-SNE',
31
+ view: {
32
+ zoom: 3,
33
+ target: [0, 0, 0],
34
+ },
35
+ },
36
+ x: 0,
37
+ y: 2,
38
+ w: 5,
39
+ h: 4,
40
+ }, {
41
+ component: 'spatial',
42
+ props: {
43
+ cellRadius: 50,
44
+ view: {
45
+ zoom: -4.4,
46
+ target: [3800, -900, 0],
47
+ },
48
+ },
49
+ x: 5,
50
+ y: 0,
51
+ w: 4,
52
+ h: 4,
53
+ }],
54
+ };
55
+ export const upgradedLegacyViewConfig0_1_0 = {
56
+ version: '1.0.1',
57
+ public: true,
58
+ name: 'My config name',
59
+ description: 'My config description',
60
+ initStrategy: 'auto',
61
+ coordinationSpace: {
62
+ embeddingTargetX: {
63
+ A: 0,
64
+ },
65
+ embeddingTargetY: {
66
+ A: 0,
67
+ },
68
+ embeddingType: {
69
+ 't-SNE': 't-SNE',
70
+ },
71
+ embeddingZoom: {
72
+ A: 3,
73
+ },
74
+ spatialTargetX: {
75
+ A: 3800,
76
+ },
77
+ spatialTargetY: {
78
+ A: -900,
79
+ },
80
+ spatialZoom: {
81
+ A: -4.4,
82
+ },
83
+ },
84
+ datasets: [
85
+ {
86
+ files: [
87
+ {
88
+ fileType: 'cells.json',
89
+ type: 'cells',
90
+ url: 'https://example.com/cells.json',
91
+ },
92
+ {
93
+ fileType: 'cell-sets.json',
94
+ type: 'cell-sets',
95
+ url: 'https://example.com/cell-sets.json',
96
+ },
97
+ ],
98
+ name: 'A',
99
+ uid: 'A',
100
+ },
101
+ ],
102
+ layout: [
103
+ {
104
+ component: 'description',
105
+ coordinationScopes: {},
106
+ h: 2,
107
+ props: {
108
+ description: 'My component description',
109
+ },
110
+ w: 3,
111
+ x: 9,
112
+ y: 0,
113
+ },
114
+ {
115
+ component: 'scatterplot',
116
+ coordinationScopes: {
117
+ embeddingTargetX: 'A',
118
+ embeddingTargetY: 'A',
119
+ embeddingType: 't-SNE',
120
+ embeddingZoom: 'A',
121
+ },
122
+ h: 4,
123
+ props: {
124
+ mapping: 't-SNE',
125
+ view: {
126
+ target: [
127
+ 0,
128
+ 0,
129
+ 0,
130
+ ],
131
+ zoom: 3,
132
+ },
133
+ },
134
+ w: 5,
135
+ x: 0,
136
+ y: 2,
137
+ },
138
+ {
139
+ component: 'spatial',
140
+ coordinationScopes: {
141
+ spatialTargetX: 'A',
142
+ spatialTargetY: 'A',
143
+ spatialZoom: 'A',
144
+ },
145
+ h: 4,
146
+ props: {
147
+ cellRadius: 50,
148
+ view: {
149
+ target: [
150
+ 3800,
151
+ -900,
152
+ 0,
153
+ ],
154
+ zoom: -4.4,
155
+ },
156
+ },
157
+ w: 4,
158
+ x: 5,
159
+ y: 0,
160
+ },
161
+ ],
162
+ };
163
+ export const legacyViewConfig1_0_0 = {
164
+ version: '1.0.0',
165
+ public: true,
166
+ name: 'My config name',
167
+ description: 'My config description',
168
+ initStrategy: 'auto',
169
+ coordinationSpace: {
170
+ dataset: {
171
+ A: 'A',
172
+ },
173
+ spatialLayers: {
174
+ A: [
175
+ { type: 'cells', radius: 10, visible: true },
176
+ { type: 'molecules', visible: false },
177
+ { type: 'raster', index: 2 },
178
+ { type: 'raster', index: 3 },
179
+ ],
180
+ },
181
+ },
182
+ datasets: [
183
+ {
184
+ files: [],
185
+ name: 'A',
186
+ uid: 'A',
187
+ },
188
+ ],
189
+ layout: [
190
+ {
191
+ component: 'description',
192
+ coordinationScopes: {
193
+ dataset: 'A',
194
+ spatialLayers: 'A',
195
+ },
196
+ h: 2,
197
+ props: {
198
+ description: 'My component description',
199
+ },
200
+ w: 3,
201
+ x: 9,
202
+ y: 0,
203
+ },
204
+ {
205
+ component: 'spatial',
206
+ coordinationScopes: {
207
+ dataset: 'A',
208
+ spatialLayers: 'A',
209
+ },
210
+ h: 4,
211
+ props: {
212
+ cellRadius: 50,
213
+ view: {
214
+ target: [
215
+ 3800,
216
+ -900,
217
+ 0,
218
+ ],
219
+ zoom: -4.4,
220
+ },
221
+ },
222
+ w: 4,
223
+ x: 5,
224
+ y: 0,
225
+ },
226
+ ],
227
+ };
228
+ export const upgradedLegacyViewConfig1_0_0 = {
229
+ version: '1.0.1',
230
+ public: true,
231
+ name: 'My config name',
232
+ description: 'My config description',
233
+ initStrategy: 'auto',
234
+ coordinationSpace: {
235
+ dataset: {
236
+ A: 'A',
237
+ },
238
+ spatialRasterLayers: {
239
+ A: [
240
+ { index: 2 },
241
+ { index: 3 },
242
+ ],
243
+ },
244
+ spatialCellsLayer: {
245
+ A: { radius: 10, visible: true },
246
+ },
247
+ spatialMoleculesLayer: {
248
+ A: { visible: false },
249
+ },
250
+ spatialNeighborhoodsLayer: {
251
+ A: null,
252
+ },
253
+ },
254
+ datasets: [
255
+ {
256
+ files: [],
257
+ name: 'A',
258
+ uid: 'A',
259
+ },
260
+ ],
261
+ layout: [
262
+ {
263
+ component: 'description',
264
+ coordinationScopes: {
265
+ dataset: 'A',
266
+ spatialRasterLayers: 'A',
267
+ },
268
+ h: 2,
269
+ props: {
270
+ description: 'My component description',
271
+ },
272
+ w: 3,
273
+ x: 9,
274
+ y: 0,
275
+ },
276
+ {
277
+ component: 'spatial',
278
+ coordinationScopes: {
279
+ dataset: 'A',
280
+ spatialRasterLayers: 'A',
281
+ spatialCellsLayer: 'A',
282
+ spatialMoleculesLayer: 'A',
283
+ spatialNeighborhoodsLayer: 'A',
284
+ },
285
+ h: 4,
286
+ props: {
287
+ cellRadius: 50,
288
+ view: {
289
+ target: [
290
+ 3800,
291
+ -900,
292
+ 0,
293
+ ],
294
+ zoom: -4.4,
295
+ },
296
+ },
297
+ w: 4,
298
+ x: 5,
299
+ y: 0,
300
+ },
301
+ ],
302
+ };
303
+ export const missingViewUids = {
304
+ version: '1.0.9',
305
+ name: 'My config name',
306
+ description: 'My config description',
307
+ initStrategy: 'auto',
308
+ coordinationSpace: {
309
+ dataset: {
310
+ A: 'A',
311
+ },
312
+ },
313
+ datasets: [
314
+ {
315
+ files: [],
316
+ name: 'A',
317
+ uid: 'A',
318
+ },
319
+ ],
320
+ layout: [
321
+ {
322
+ component: 'description',
323
+ coordinationScopes: {
324
+ dataset: 'A',
325
+ },
326
+ h: 2,
327
+ w: 3,
328
+ x: 9,
329
+ y: 0,
330
+ },
331
+ {
332
+ component: 'scatterplot',
333
+ uid: 'some-umap',
334
+ coordinationScopes: {
335
+ dataset: 'A',
336
+ },
337
+ h: 4,
338
+ w: 5,
339
+ x: 0,
340
+ y: 2,
341
+ },
342
+ {
343
+ component: 'scatterplot',
344
+ coordinationScopes: {
345
+ dataset: 'A',
346
+ },
347
+ h: 4,
348
+ w: 5,
349
+ x: 0,
350
+ y: 2,
351
+ },
352
+ {
353
+ component: 'spatial',
354
+ coordinationScopes: {
355
+ dataset: 'A',
356
+ },
357
+ h: 4,
358
+ w: 4,
359
+ x: 5,
360
+ y: 0,
361
+ },
362
+ ],
363
+ };
364
+ export const viewConfig1_0_10 = {
365
+ version: '1.0.10',
366
+ name: 'My config name',
367
+ description: 'My config description',
368
+ initStrategy: 'auto',
369
+ coordinationSpace: {
370
+ embeddingTargetX: {
371
+ A: 0,
372
+ },
373
+ embeddingTargetY: {
374
+ A: 0,
375
+ },
376
+ embeddingType: {
377
+ 't-SNE': 't-SNE',
378
+ },
379
+ embeddingZoom: {
380
+ A: 3,
381
+ },
382
+ spatialTargetX: {
383
+ A: 3800,
384
+ },
385
+ spatialTargetY: {
386
+ A: -900,
387
+ },
388
+ spatialZoom: {
389
+ A: -4.4,
390
+ },
391
+ },
392
+ datasets: [
393
+ {
394
+ files: [
395
+ {
396
+ fileType: 'cells.json',
397
+ type: 'cells',
398
+ url: 'https://example.com/cells.json',
399
+ },
400
+ {
401
+ fileType: 'cell-sets.json',
402
+ type: 'cell-sets',
403
+ url: 'https://example.com/cell-sets.json',
404
+ },
405
+ ],
406
+ name: 'A',
407
+ uid: 'A',
408
+ },
409
+ ],
410
+ layout: [
411
+ {
412
+ component: 'description',
413
+ coordinationScopes: {},
414
+ h: 2,
415
+ props: {
416
+ description: 'My component description',
417
+ },
418
+ w: 3,
419
+ x: 9,
420
+ y: 0,
421
+ },
422
+ {
423
+ component: 'scatterplot',
424
+ coordinationScopes: {
425
+ embeddingTargetX: 'A',
426
+ embeddingTargetY: 'A',
427
+ embeddingType: 't-SNE',
428
+ embeddingZoom: 'A',
429
+ },
430
+ h: 4,
431
+ props: {
432
+ mapping: 't-SNE',
433
+ view: {
434
+ target: [
435
+ 0,
436
+ 0,
437
+ 0,
438
+ ],
439
+ zoom: 3,
440
+ },
441
+ },
442
+ w: 5,
443
+ x: 0,
444
+ y: 2,
445
+ },
446
+ {
447
+ component: 'spatial',
448
+ coordinationScopes: {
449
+ spatialTargetX: 'A',
450
+ spatialTargetY: 'A',
451
+ spatialZoom: 'A',
452
+ },
453
+ h: 4,
454
+ props: {
455
+ cellRadius: 50,
456
+ view: {
457
+ target: [
458
+ 3800,
459
+ -900,
460
+ 0,
461
+ ],
462
+ zoom: -4.4,
463
+ },
464
+ },
465
+ w: 4,
466
+ x: 5,
467
+ y: 0,
468
+ },
469
+ ],
470
+ };
471
+ export const initializedViewConfig = {
472
+ version: '1.0.10',
473
+ name: 'My config name',
474
+ description: 'My config description',
475
+ initStrategy: 'auto',
476
+ coordinationSpace: {
477
+ obsType: {
478
+ A: 'cell',
479
+ },
480
+ featureType: {
481
+ A: 'gene',
482
+ },
483
+ featureValueType: {
484
+ A: 'expression',
485
+ },
486
+ obsColorEncoding: {
487
+ A: 'cellSetSelection',
488
+ },
489
+ obsFilter: {
490
+ A: null,
491
+ },
492
+ obsHighlight: {
493
+ A: null,
494
+ },
495
+ obsSetHighlight: {
496
+ A: null,
497
+ },
498
+ obsSetSelection: {
499
+ A: null,
500
+ },
501
+ dataset: {
502
+ A: 'A',
503
+ },
504
+ embeddingObsOpacity: {
505
+ A: 1,
506
+ },
507
+ embeddingObsOpacityMode: {
508
+ A: 'auto',
509
+ },
510
+ embeddingObsRadius: {
511
+ A: 1,
512
+ },
513
+ embeddingObsRadiusMode: {
514
+ A: 'auto',
515
+ },
516
+ embeddingRotation: {
517
+ A: 0,
518
+ },
519
+ embeddingTargetX: {
520
+ A: 0,
521
+ },
522
+ embeddingTargetY: {
523
+ A: 0,
524
+ },
525
+ embeddingTargetZ: {
526
+ A: 0,
527
+ },
528
+ embeddingType: {
529
+ 't-SNE': 't-SNE',
530
+ },
531
+ embeddingZoom: {
532
+ A: 3,
533
+ },
534
+ embeddingObsSetLabelSize: {
535
+ A: 14,
536
+ },
537
+ embeddingObsSetLabelsVisible: {
538
+ A: false,
539
+ },
540
+ embeddingObsSetPolygonsVisible: {
541
+ A: false,
542
+ },
543
+ featureValueColormap: {
544
+ A: 'plasma',
545
+ },
546
+ featureValueColormapRange: {
547
+ A: [
548
+ 0,
549
+ 1,
550
+ ],
551
+ },
552
+ featureHighlight: {
553
+ A: null,
554
+ },
555
+ featureSelection: {
556
+ A: null,
557
+ },
558
+ spatialImageLayer: {
559
+ A: null,
560
+ },
561
+ spatialSegmentationLayer: {
562
+ A: null,
563
+ },
564
+ spatialPointLayer: {
565
+ A: null,
566
+ },
567
+ spatialNeighborhoodLayer: {
568
+ A: null,
569
+ },
570
+ spatialRotation: {
571
+ A: 0,
572
+ },
573
+ spatialRotationOrbit: {
574
+ A: 0,
575
+ },
576
+ spatialOrbitAxis: {
577
+ A: 'Y',
578
+ },
579
+ spatialRotationX: {
580
+ A: null,
581
+ },
582
+ spatialRotationY: {
583
+ A: null,
584
+ },
585
+ spatialRotationZ: {
586
+ A: null,
587
+ },
588
+ spatialTargetX: {
589
+ A: 3800,
590
+ },
591
+ spatialTargetY: {
592
+ A: -900,
593
+ },
594
+ spatialTargetZ: {
595
+ A: null,
596
+ },
597
+ spatialZoom: {
598
+ A: -4.4,
599
+ },
600
+ spatialAxisFixed: {
601
+ A: false,
602
+ },
603
+ additionalObsSets: {
604
+ A: null,
605
+ },
606
+ obsSetColor: {
607
+ A: null,
608
+ },
609
+ obsLabelsType: {
610
+ A: null,
611
+ },
612
+ moleculeHighlight: {
613
+ A: null,
614
+ },
615
+ },
616
+ datasets: [
617
+ {
618
+ files: [
619
+ {
620
+ fileType: 'obsSegmentations.cells.json',
621
+ url: 'https://example.com/cells.json',
622
+ coordinationValues: {
623
+ obsType: 'cell',
624
+ },
625
+ },
626
+ {
627
+ fileType: 'obsLocations.cells.json',
628
+ url: 'https://example.com/cells.json',
629
+ coordinationValues: {
630
+ obsType: 'cell',
631
+ },
632
+ },
633
+ {
634
+ fileType: 'obsSets.cell-sets.json',
635
+ url: 'https://example.com/cell-sets.json',
636
+ coordinationValues: {
637
+ obsType: 'cell',
638
+ },
639
+ },
640
+ ],
641
+ name: 'A',
642
+ uid: 'A',
643
+ },
644
+ ],
645
+ layout: [
646
+ {
647
+ component: 'description',
648
+ coordinationScopes: {
649
+ dataset: 'A',
650
+ spatialImageLayer: 'A',
651
+ },
652
+ h: 2,
653
+ props: {
654
+ description: 'My component description',
655
+ },
656
+ uid: 'A',
657
+ w: 3,
658
+ x: 9,
659
+ y: 0,
660
+ },
661
+ {
662
+ component: 'scatterplot',
663
+ coordinationScopes: {
664
+ obsType: 'A',
665
+ obsLabelsType: 'A',
666
+ featureType: 'A',
667
+ featureValueType: 'A',
668
+ obsColorEncoding: 'A',
669
+ obsFilter: 'A',
670
+ obsHighlight: 'A',
671
+ obsSetHighlight: 'A',
672
+ obsSetSelection: 'A',
673
+ obsSetColor: 'A',
674
+ dataset: 'A',
675
+ embeddingObsOpacity: 'A',
676
+ embeddingObsOpacityMode: 'A',
677
+ embeddingObsRadius: 'A',
678
+ embeddingObsRadiusMode: 'A',
679
+ embeddingRotation: 'A',
680
+ embeddingTargetX: 'A',
681
+ embeddingTargetY: 'A',
682
+ embeddingTargetZ: 'A',
683
+ embeddingType: 't-SNE',
684
+ embeddingZoom: 'A',
685
+ embeddingObsSetLabelSize: 'A',
686
+ embeddingObsSetLabelsVisible: 'A',
687
+ embeddingObsSetPolygonsVisible: 'A',
688
+ featureValueColormap: 'A',
689
+ featureValueColormapRange: 'A',
690
+ featureHighlight: 'A',
691
+ featureSelection: 'A',
692
+ additionalObsSets: 'A',
693
+ },
694
+ h: 4,
695
+ props: {
696
+ mapping: 't-SNE',
697
+ view: {
698
+ target: [
699
+ 0,
700
+ 0,
701
+ 0,
702
+ ],
703
+ zoom: 3,
704
+ },
705
+ },
706
+ uid: 'B',
707
+ w: 5,
708
+ x: 0,
709
+ y: 2,
710
+ },
711
+ {
712
+ component: 'spatial',
713
+ coordinationScopes: {
714
+ obsType: 'A',
715
+ obsLabelsType: 'A',
716
+ obsColorEncoding: 'A',
717
+ obsFilter: 'A',
718
+ obsHighlight: 'A',
719
+ obsSetHighlight: 'A',
720
+ obsSetSelection: 'A',
721
+ obsSetColor: 'A',
722
+ dataset: 'A',
723
+ featureValueColormap: 'A',
724
+ featureValueColormapRange: 'A',
725
+ featureValueType: 'A',
726
+ featureHighlight: 'A',
727
+ featureSelection: 'A',
728
+ featureType: 'A',
729
+ spatialImageLayer: 'A',
730
+ spatialSegmentationLayer: 'A',
731
+ spatialPointLayer: 'A',
732
+ spatialNeighborhoodLayer: 'A',
733
+ spatialRotation: 'A',
734
+ spatialRotationOrbit: 'A',
735
+ spatialOrbitAxis: 'A',
736
+ spatialRotationX: 'A',
737
+ spatialRotationY: 'A',
738
+ spatialRotationZ: 'A',
739
+ spatialTargetX: 'A',
740
+ spatialTargetY: 'A',
741
+ spatialTargetZ: 'A',
742
+ spatialAxisFixed: 'A',
743
+ spatialZoom: 'A',
744
+ additionalObsSets: 'A',
745
+ moleculeHighlight: 'A',
746
+ },
747
+ h: 4,
748
+ props: {
749
+ cellRadius: 50,
750
+ view: {
751
+ target: [
752
+ 3800,
753
+ -900,
754
+ 0,
755
+ ],
756
+ zoom: -4.4,
757
+ },
758
+ },
759
+ uid: 'C',
760
+ w: 4,
761
+ x: 5,
762
+ y: 0,
763
+ },
764
+ ],
765
+ };