konpeki 0.3.1 → 0.4.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 (167) hide show
  1. package/AGENTS.md +21 -28
  2. package/AUTHORING.md +68 -229
  3. package/CONTRIBUTING.md +10 -23
  4. package/README.md +98 -106
  5. package/SETUP.md +49 -129
  6. package/docs/development.md +43 -256
  7. package/docs/workflow.md +6 -108
  8. package/html/README.md +140 -0
  9. package/html/browser.ts +103 -0
  10. package/html/document.ts +38 -0
  11. package/html/floor.ts +34 -0
  12. package/html/index.html +5 -0
  13. package/html/inspect.ts +313 -0
  14. package/html/preview.css +62 -0
  15. package/html/preview.tsx +463 -0
  16. package/html/review-hints.ts +63 -0
  17. package/html/server.ts +99 -0
  18. package/html/source.ts +104 -0
  19. package/html/starter.ts +6 -0
  20. package/html/theme-authoring.md +176 -0
  21. package/html/theme.md +61 -0
  22. package/index.html +9 -9
  23. package/package.json +21 -37
  24. package/plugin.json +1 -1
  25. package/public/og.png +0 -0
  26. package/runtime/browser-B-29TH1a.mjs +595 -0
  27. package/runtime/floor-Cmk7G3pU.mjs +41 -0
  28. package/runtime/konpeki.mjs +90 -1410
  29. package/runtime/server-BAqC_5WD.mjs +2 -0
  30. package/runtime/server-DfRpfcY9.mjs +205 -0
  31. package/runtime/source-B_Ui9tMp.mjs +141 -0
  32. package/runtime/source-CZQq9GUO.mjs +2 -0
  33. package/skills/konpeki/SKILL.md +88 -172
  34. package/skills/konpeki/assets/blank.html +17 -0
  35. package/skills/konpeki/floor.md +76 -0
  36. package/skills/konpeki/references/cover.md +27 -0
  37. package/skills/konpeki/references/long-document.md +40 -0
  38. package/skills/konpeki/references/one-pager.md +27 -0
  39. package/skills/konpeki/references/patterns.md +118 -0
  40. package/skills/konpeki/references/resume.md +28 -0
  41. package/skills/konpeki/references/slides.md +28 -0
  42. package/skills/konpeki/scripts/ensure-runtime.mjs +10 -31
  43. package/skills/konpeki/scripts/prepare-document.mjs +25 -14
  44. package/src/components/PageBoard.tsx +156 -0
  45. package/src/lib/alignment.ts +21 -0
  46. package/src/lib/page-board.ts +25 -0
  47. package/src/lib/review-position.ts +19 -0
  48. package/src/styles/base.css +1 -10
  49. package/src/styles/feedback.css +2 -1
  50. package/src/styles/shell.css +94 -354
  51. package/theme-base.css +90 -0
  52. package/theme.css +56 -0
  53. package/vite.config.ts +2 -5
  54. package/composition/README.md +0 -156
  55. package/composition/compile.ts +0 -227
  56. package/composition/document.ts +0 -600
  57. package/composition/schema.json +0 -3001
  58. package/composition/schema.ts +0 -437
  59. package/composition/theme-tokens.ts +0 -16
  60. package/composition/types.ts +0 -269
  61. package/composition/validate.ts +0 -226
  62. package/composition/vector.ts +0 -143
  63. package/composition/visualizations.ts +0 -319
  64. package/design/README.md +0 -17
  65. package/design/palettes/README.md +0 -14
  66. package/design/palettes/base.ts +0 -14
  67. package/design/palettes/candidates.ts +0 -19
  68. package/design/palettes/index.ts +0 -78
  69. package/design/review/color-theme.md +0 -44
  70. package/design/review/layout.md +0 -16
  71. package/design/review/text.md +0 -18
  72. package/design/review/typography.md +0 -15
  73. package/design/review/visuals.md +0 -31
  74. package/design/semantic-patterns.md +0 -43
  75. package/design/themes/README.md +0 -40
  76. package/design/themes/index.ts +0 -24
  77. package/design/visual-languages/technical-product.md +0 -17
  78. package/design/visual-review.md +0 -88
  79. package/lib/assets.d.ts +0 -8
  80. package/lib/charts.ts +0 -18
  81. package/lib/contrast.ts +0 -16
  82. package/lib/layouts.ts +0 -50
  83. package/lib/slide.tsx +0 -42
  84. package/lib/taste.ts +0 -17
  85. package/lib/text.tsx +0 -89
  86. package/lib/typeface.ts +0 -44
  87. package/scripts/migrate-react-page.ts +0 -120
  88. package/skills/konpeki/assets/blank.json +0 -23
  89. package/slides/README.md +0 -56
  90. package/slides/architecture/PROMPT.md +0 -31
  91. package/slides/architecture/index.tsx +0 -102
  92. package/slides/article-brief/PROMPT.md +0 -35
  93. package/slides/article-brief/index.tsx +0 -71
  94. package/slides/bar-chart/PROMPT.md +0 -39
  95. package/slides/bar-chart/index.tsx +0 -97
  96. package/slides/comparison/PROMPT.md +0 -29
  97. package/slides/comparison/index.tsx +0 -95
  98. package/slides/decision-memo/PROMPT.md +0 -34
  99. package/slides/decision-memo/index.tsx +0 -85
  100. package/slides/delivery-plan/PROMPT.md +0 -45
  101. package/slides/delivery-plan/index.tsx +0 -105
  102. package/slides/drawing-references.md +0 -32
  103. package/slides/experiment/PROMPT.md +0 -44
  104. package/slides/experiment/index.tsx +0 -127
  105. package/slides/github-cover/PROMPT.md +0 -21
  106. package/slides/github-cover/README.md +0 -21
  107. package/slides/github-cover/author.ts +0 -67
  108. package/slides/github-cover/composition.json +0 -595
  109. package/slides/incident-workflow/PROMPT.md +0 -57
  110. package/slides/incident-workflow/index.tsx +0 -78
  111. package/slides/introducing-konpeki/PROMPT.md +0 -30
  112. package/slides/introducing-konpeki/README.md +0 -44
  113. package/slides/introducing-konpeki/SOURCE.md +0 -19
  114. package/slides/introducing-konpeki/author.ts +0 -165
  115. package/slides/introducing-konpeki/composition.json +0 -3270
  116. package/slides/line-chart/PROMPT.md +0 -40
  117. package/slides/line-chart/index.tsx +0 -72
  118. package/slides/migration/PROMPT.md +0 -38
  119. package/slides/migration/index.tsx +0 -89
  120. package/slides/og-images/PROMPT.md +0 -21
  121. package/slides/og-images/index.tsx +0 -76
  122. package/slides/product-introduction/PROMPT.md +0 -24
  123. package/slides/product-introduction/index.tsx +0 -105
  124. package/slides/research-brief/PROMPT.md +0 -40
  125. package/slides/research-brief/index.tsx +0 -104
  126. package/slides/results-explanation/PROMPT.md +0 -32
  127. package/slides/results-explanation/index.tsx +0 -96
  128. package/slides/retrospective/PROMPT.md +0 -43
  129. package/slides/retrospective/index.tsx +0 -105
  130. package/slides/sankey/PROMPT.md +0 -11
  131. package/slides/sankey/index.tsx +0 -93
  132. package/slides/teaching/PROMPT.md +0 -45
  133. package/slides/teaching/index.tsx +0 -124
  134. package/slides/vertical-bar-charts/PROMPT.md +0 -13
  135. package/slides/vertical-bar-charts/index.tsx +0 -97
  136. package/src/app/App.tsx +0 -845
  137. package/src/components/BuildOrb.tsx +0 -40
  138. package/src/components/Canvas.tsx +0 -1191
  139. package/src/components/DiagramTypeIcon.tsx +0 -78
  140. package/src/components/InspectorPanel.tsx +0 -757
  141. package/src/components/LeftPanel.tsx +0 -120
  142. package/src/components/PageSizePicker.tsx +0 -30
  143. package/src/components/Presentation.tsx +0 -105
  144. package/src/components/RevisionNotes.tsx +0 -55
  145. package/src/components/RightPanel.tsx +0 -233
  146. package/src/components/VectorOverflowWarning.tsx +0 -73
  147. package/src/components/WorkspaceChrome.tsx +0 -316
  148. package/src/components/ui.tsx +0 -147
  149. package/src/lib/examples/react-page-migration.json +0 -1295
  150. package/src/lib/examples.ts +0 -42
  151. package/src/lib/export-png.ts +0 -104
  152. package/src/lib/file-session.ts +0 -87
  153. package/src/lib/history.ts +0 -53
  154. package/src/lib/model.ts +0 -188
  155. package/src/lib/page-size.ts +0 -24
  156. package/src/lib/presentation.ts +0 -17
  157. package/src/lib/review.ts +0 -26
  158. package/src/lib/storage.ts +0 -71
  159. package/src/lib/theme.ts +0 -25
  160. package/src/lib/use-file-session.ts +0 -249
  161. package/src/main.tsx +0 -29
  162. package/src/styles/canvas.css +0 -299
  163. package/src/styles/chrome.css +0 -475
  164. package/src/styles/component-previews.css +0 -386
  165. package/src/styles/left-panel.css +0 -187
  166. package/src/styles/presentation.css +0 -72
  167. package/src/styles/right-panel.css +0 -1298
@@ -1,3001 +0,0 @@
1
- {
2
- "$id": "https://vcfgdev.github.io/konpeki/composition/v1/schema.json",
3
- "$schema": "https://json-schema.org/draft/2020-12/schema",
4
- "additionalProperties": false,
5
- "properties": {
6
- "authoringMode": {
7
- "enum": [
8
- "default",
9
- "dynamic"
10
- ],
11
- "type": "string"
12
- },
13
- "schema": {
14
- "const": "konpeki-composition/v1"
15
- },
16
- "slides": {
17
- "items": {
18
- "additionalProperties": false,
19
- "properties": {
20
- "audience": {
21
- "minLength": 1,
22
- "pattern": "\\S",
23
- "type": "string"
24
- },
25
- "canvas": {
26
- "additionalProperties": false,
27
- "properties": {
28
- "height": {
29
- "maximum": 4096,
30
- "minimum": 256,
31
- "type": "integer"
32
- },
33
- "width": {
34
- "maximum": 4096,
35
- "minimum": 256,
36
- "type": "integer"
37
- }
38
- },
39
- "required": [
40
- "width",
41
- "height"
42
- ],
43
- "type": "object"
44
- },
45
- "components": {
46
- "items": {
47
- "oneOf": [
48
- {
49
- "additionalProperties": false,
50
- "properties": {
51
- "appearance": {
52
- "additionalProperties": false,
53
- "properties": {
54
- "alignment": {
55
- "enum": [
56
- "start",
57
- "center",
58
- "end"
59
- ],
60
- "type": "string"
61
- },
62
- "border": {
63
- "enum": [
64
- "none",
65
- "outline",
66
- "filled"
67
- ],
68
- "type": "string"
69
- },
70
- "layout": {
71
- "enum": [
72
- "single",
73
- "two-column",
74
- "three-column",
75
- "two-plus-two",
76
- "four-column",
77
- "one-plus-three",
78
- "three-plus-one"
79
- ],
80
- "type": "string"
81
- },
82
- "logicalOrder": {
83
- "enum": [
84
- "none",
85
- "parallel",
86
- "progressive",
87
- "cyclical",
88
- "general-to-specific",
89
- "hierarchical"
90
- ],
91
- "type": "string"
92
- },
93
- "orientation": {
94
- "enum": [
95
- "horizontal",
96
- "vertical"
97
- ],
98
- "type": "string"
99
- },
100
- "purpose": {
101
- "enum": [
102
- "narrative",
103
- "comparison",
104
- "emphasis"
105
- ],
106
- "type": "string"
107
- },
108
- "role": {
109
- "enum": [
110
- "title",
111
- "subtitle",
112
- "body",
113
- "caption",
114
- "footnote"
115
- ],
116
- "type": "string"
117
- },
118
- "rule": {
119
- "enum": [
120
- "none",
121
- "top",
122
- "bottom"
123
- ],
124
- "type": "string"
125
- },
126
- "titleStyle": {
127
- "enum": [
128
- "plain",
129
- "prominent"
130
- ],
131
- "type": "string"
132
- },
133
- "treatment": {
134
- "enum": [
135
- "plain",
136
- "subtle",
137
- "strong"
138
- ],
139
- "type": "string"
140
- }
141
- },
142
- "required": [
143
- "role"
144
- ],
145
- "type": "object"
146
- },
147
- "content": {
148
- "maxLength": 50000,
149
- "type": "string"
150
- },
151
- "customVisual": {
152
- "oneOf": [
153
- {
154
- "additionalProperties": false,
155
- "properties": {
156
- "description": {
157
- "maxLength": 1000,
158
- "minLength": 1,
159
- "pattern": "\\S",
160
- "type": "string"
161
- },
162
- "elements": {
163
- "items": {
164
- "additionalProperties": false,
165
- "properties": {
166
- "attributes": {
167
- "additionalProperties": {
168
- "oneOf": [
169
- {
170
- "maxLength": 10000,
171
- "pattern": "^(?!theme:)",
172
- "type": "string"
173
- },
174
- {
175
- "type": "number"
176
- }
177
- ]
178
- },
179
- "maxProperties": 40,
180
- "properties": {
181
- "color": {
182
- "anyOf": [
183
- {
184
- "oneOf": [
185
- {
186
- "maxLength": 10000,
187
- "pattern": "^(?!theme:)",
188
- "type": "string"
189
- },
190
- {
191
- "type": "number"
192
- }
193
- ]
194
- },
195
- {
196
- "enum": [
197
- "theme:ink",
198
- "theme:muted",
199
- "theme:background",
200
- "theme:surface",
201
- "theme:divider",
202
- "theme:accent",
203
- "theme:on-accent",
204
- "theme:wash"
205
- ]
206
- }
207
- ]
208
- },
209
- "fill": {
210
- "anyOf": [
211
- {
212
- "oneOf": [
213
- {
214
- "maxLength": 10000,
215
- "pattern": "^(?!theme:)",
216
- "type": "string"
217
- },
218
- {
219
- "type": "number"
220
- }
221
- ]
222
- },
223
- {
224
- "enum": [
225
- "theme:ink",
226
- "theme:muted",
227
- "theme:background",
228
- "theme:surface",
229
- "theme:divider",
230
- "theme:accent",
231
- "theme:on-accent",
232
- "theme:wash"
233
- ]
234
- }
235
- ]
236
- },
237
- "font-family": {
238
- "anyOf": [
239
- {
240
- "oneOf": [
241
- {
242
- "maxLength": 10000,
243
- "pattern": "^(?!theme:)",
244
- "type": "string"
245
- },
246
- {
247
- "type": "number"
248
- }
249
- ]
250
- },
251
- {
252
- "enum": [
253
- "theme:heading-font",
254
- "theme:body-font"
255
- ]
256
- }
257
- ]
258
- },
259
- "stroke": {
260
- "anyOf": [
261
- {
262
- "oneOf": [
263
- {
264
- "maxLength": 10000,
265
- "pattern": "^(?!theme:)",
266
- "type": "string"
267
- },
268
- {
269
- "type": "number"
270
- }
271
- ]
272
- },
273
- {
274
- "enum": [
275
- "theme:ink",
276
- "theme:muted",
277
- "theme:background",
278
- "theme:surface",
279
- "theme:divider",
280
- "theme:accent",
281
- "theme:on-accent",
282
- "theme:wash"
283
- ]
284
- }
285
- ]
286
- }
287
- },
288
- "type": "object"
289
- },
290
- "id": {
291
- "minLength": 1,
292
- "pattern": "\\S",
293
- "type": "string"
294
- },
295
- "kind": {
296
- "enum": [
297
- "g",
298
- "rect",
299
- "circle",
300
- "ellipse",
301
- "line",
302
- "polyline",
303
- "polygon",
304
- "path",
305
- "text",
306
- "tspan"
307
- ],
308
- "type": "string"
309
- },
310
- "parentId": {
311
- "minLength": 1,
312
- "pattern": "\\S",
313
- "type": "string"
314
- },
315
- "text": {
316
- "maxLength": 10000,
317
- "type": "string"
318
- }
319
- },
320
- "required": [
321
- "id",
322
- "kind",
323
- "attributes"
324
- ],
325
- "type": "object"
326
- },
327
- "maxItems": 2000,
328
- "minItems": 0,
329
- "type": "array"
330
- },
331
- "fit": {
332
- "enum": [
333
- "contain",
334
- "cover",
335
- "stretch"
336
- ],
337
- "type": "string"
338
- },
339
- "format": {
340
- "const": "vector"
341
- },
342
- "viewBox": {
343
- "additionalProperties": false,
344
- "properties": {
345
- "height": {
346
- "exclusiveMinimum": 0,
347
- "maximum": 100000,
348
- "type": "number"
349
- },
350
- "width": {
351
- "exclusiveMinimum": 0,
352
- "maximum": 100000,
353
- "type": "number"
354
- },
355
- "x": {
356
- "type": "number"
357
- },
358
- "y": {
359
- "type": "number"
360
- }
361
- },
362
- "required": [
363
- "x",
364
- "y",
365
- "width",
366
- "height"
367
- ],
368
- "type": "object"
369
- }
370
- },
371
- "required": [
372
- "format",
373
- "elements",
374
- "viewBox",
375
- "description"
376
- ],
377
- "type": "object"
378
- },
379
- {
380
- "additionalProperties": false,
381
- "properties": {
382
- "description": {
383
- "maxLength": 1000,
384
- "minLength": 1,
385
- "pattern": "\\S",
386
- "type": "string"
387
- },
388
- "fit": {
389
- "enum": [
390
- "contain",
391
- "cover",
392
- "stretch"
393
- ],
394
- "type": "string"
395
- },
396
- "format": {
397
- "const": "svg"
398
- },
399
- "source": {
400
- "maxLength": 500000,
401
- "minLength": 1,
402
- "pattern": "^\\s*<svg(?:\\s|>)",
403
- "type": "string"
404
- },
405
- "viewBox": {
406
- "additionalProperties": false,
407
- "properties": {
408
- "height": {
409
- "exclusiveMinimum": 0,
410
- "maximum": 100000,
411
- "type": "number"
412
- },
413
- "width": {
414
- "exclusiveMinimum": 0,
415
- "maximum": 100000,
416
- "type": "number"
417
- },
418
- "x": {
419
- "type": "number"
420
- },
421
- "y": {
422
- "type": "number"
423
- }
424
- },
425
- "required": [
426
- "x",
427
- "y",
428
- "width",
429
- "height"
430
- ],
431
- "type": "object"
432
- }
433
- },
434
- "required": [
435
- "format",
436
- "source",
437
- "viewBox",
438
- "description"
439
- ],
440
- "type": "object"
441
- }
442
- ]
443
- },
444
- "id": {
445
- "minLength": 1,
446
- "pattern": "\\S",
447
- "type": "string"
448
- },
449
- "intent": {
450
- "type": "string"
451
- },
452
- "kind": {
453
- "const": "text-block"
454
- },
455
- "preferredRect": {
456
- "additionalProperties": false,
457
- "properties": {
458
- "height": {
459
- "exclusiveMinimum": 0,
460
- "maximum": 4096,
461
- "type": "number"
462
- },
463
- "width": {
464
- "exclusiveMinimum": 0,
465
- "maximum": 4096,
466
- "type": "number"
467
- },
468
- "x": {
469
- "maximum": 4096,
470
- "minimum": 0,
471
- "type": "number"
472
- },
473
- "y": {
474
- "maximum": 4096,
475
- "minimum": 0,
476
- "type": "number"
477
- }
478
- },
479
- "required": [
480
- "x",
481
- "y",
482
- "width",
483
- "height"
484
- ],
485
- "type": "object"
486
- },
487
- "slotIds": {
488
- "items": {
489
- "minLength": 1,
490
- "pattern": "\\S",
491
- "type": "string"
492
- },
493
- "minItems": 1,
494
- "type": "array",
495
- "uniqueItems": true
496
- },
497
- "textStyle": {
498
- "additionalProperties": false,
499
- "properties": {
500
- "color": {
501
- "enum": [
502
- "ink",
503
- "muted",
504
- "accent"
505
- ],
506
- "type": "string"
507
- },
508
- "font": {
509
- "enum": [
510
- "heading",
511
- "body"
512
- ],
513
- "type": "string"
514
- },
515
- "lineHeight": {
516
- "maximum": 3,
517
- "minimum": 1,
518
- "type": "number"
519
- },
520
- "size": {
521
- "maximum": 240,
522
- "minimum": 8,
523
- "type": "number"
524
- },
525
- "weight": {
526
- "enum": [
527
- 400,
528
- 500,
529
- 600
530
- ]
531
- }
532
- },
533
- "required": [],
534
- "type": "object"
535
- }
536
- },
537
- "required": [
538
- "id",
539
- "kind",
540
- "preferredRect",
541
- "slotIds",
542
- "appearance"
543
- ],
544
- "type": "object"
545
- },
546
- {
547
- "additionalProperties": false,
548
- "allOf": [
549
- {
550
- "if": {
551
- "required": [
552
- "topology"
553
- ]
554
- },
555
- "then": {
556
- "properties": {
557
- "appearance": {
558
- "properties": {
559
- "template": {
560
- "const": "sankey"
561
- }
562
- }
563
- }
564
- }
565
- }
566
- }
567
- ],
568
- "properties": {
569
- "appearance": {
570
- "additionalProperties": false,
571
- "properties": {
572
- "border": {
573
- "enum": [
574
- "none",
575
- "outline",
576
- "filled"
577
- ],
578
- "type": "string"
579
- },
580
- "colorScheme": {
581
- "enum": [
582
- "monochrome",
583
- "accent-with-muted-context",
584
- "categorical",
585
- "sequential",
586
- "status"
587
- ],
588
- "type": "string"
589
- },
590
- "density": {
591
- "enum": [
592
- "sparse",
593
- "standard"
594
- ],
595
- "type": "string"
596
- },
597
- "emphasis": {
598
- "enum": [
599
- "none",
600
- "primary",
601
- "latest-series",
602
- "exception"
603
- ],
604
- "type": "string"
605
- },
606
- "legend": {
607
- "enum": [
608
- "none",
609
- "top",
610
- "right",
611
- "bottom"
612
- ],
613
- "type": "string"
614
- },
615
- "orientation": {
616
- "enum": [
617
- "horizontal",
618
- "vertical"
619
- ],
620
- "type": "string"
621
- },
622
- "selection": {
623
- "enum": [
624
- "auto",
625
- "explicit"
626
- ],
627
- "type": "string"
628
- },
629
- "template": {
630
- "enum": [
631
- "grouped-bar",
632
- "line",
633
- "pie",
634
- "annotated-detail",
635
- "radar",
636
- "treemap",
637
- "scatter",
638
- "sankey"
639
- ],
640
- "type": "string"
641
- }
642
- },
643
- "required": [
644
- "template"
645
- ],
646
- "type": "object"
647
- },
648
- "customVisual": {
649
- "oneOf": [
650
- {
651
- "additionalProperties": false,
652
- "properties": {
653
- "description": {
654
- "maxLength": 1000,
655
- "minLength": 1,
656
- "pattern": "\\S",
657
- "type": "string"
658
- },
659
- "elements": {
660
- "items": {
661
- "additionalProperties": false,
662
- "properties": {
663
- "attributes": {
664
- "additionalProperties": {
665
- "oneOf": [
666
- {
667
- "maxLength": 10000,
668
- "pattern": "^(?!theme:)",
669
- "type": "string"
670
- },
671
- {
672
- "type": "number"
673
- }
674
- ]
675
- },
676
- "maxProperties": 40,
677
- "properties": {
678
- "color": {
679
- "anyOf": [
680
- {
681
- "oneOf": [
682
- {
683
- "maxLength": 10000,
684
- "pattern": "^(?!theme:)",
685
- "type": "string"
686
- },
687
- {
688
- "type": "number"
689
- }
690
- ]
691
- },
692
- {
693
- "enum": [
694
- "theme:ink",
695
- "theme:muted",
696
- "theme:background",
697
- "theme:surface",
698
- "theme:divider",
699
- "theme:accent",
700
- "theme:on-accent",
701
- "theme:wash"
702
- ]
703
- }
704
- ]
705
- },
706
- "fill": {
707
- "anyOf": [
708
- {
709
- "oneOf": [
710
- {
711
- "maxLength": 10000,
712
- "pattern": "^(?!theme:)",
713
- "type": "string"
714
- },
715
- {
716
- "type": "number"
717
- }
718
- ]
719
- },
720
- {
721
- "enum": [
722
- "theme:ink",
723
- "theme:muted",
724
- "theme:background",
725
- "theme:surface",
726
- "theme:divider",
727
- "theme:accent",
728
- "theme:on-accent",
729
- "theme:wash"
730
- ]
731
- }
732
- ]
733
- },
734
- "font-family": {
735
- "anyOf": [
736
- {
737
- "oneOf": [
738
- {
739
- "maxLength": 10000,
740
- "pattern": "^(?!theme:)",
741
- "type": "string"
742
- },
743
- {
744
- "type": "number"
745
- }
746
- ]
747
- },
748
- {
749
- "enum": [
750
- "theme:heading-font",
751
- "theme:body-font"
752
- ]
753
- }
754
- ]
755
- },
756
- "stroke": {
757
- "anyOf": [
758
- {
759
- "oneOf": [
760
- {
761
- "maxLength": 10000,
762
- "pattern": "^(?!theme:)",
763
- "type": "string"
764
- },
765
- {
766
- "type": "number"
767
- }
768
- ]
769
- },
770
- {
771
- "enum": [
772
- "theme:ink",
773
- "theme:muted",
774
- "theme:background",
775
- "theme:surface",
776
- "theme:divider",
777
- "theme:accent",
778
- "theme:on-accent",
779
- "theme:wash"
780
- ]
781
- }
782
- ]
783
- }
784
- },
785
- "type": "object"
786
- },
787
- "id": {
788
- "minLength": 1,
789
- "pattern": "\\S",
790
- "type": "string"
791
- },
792
- "kind": {
793
- "enum": [
794
- "g",
795
- "rect",
796
- "circle",
797
- "ellipse",
798
- "line",
799
- "polyline",
800
- "polygon",
801
- "path",
802
- "text",
803
- "tspan"
804
- ],
805
- "type": "string"
806
- },
807
- "parentId": {
808
- "minLength": 1,
809
- "pattern": "\\S",
810
- "type": "string"
811
- },
812
- "text": {
813
- "maxLength": 10000,
814
- "type": "string"
815
- }
816
- },
817
- "required": [
818
- "id",
819
- "kind",
820
- "attributes"
821
- ],
822
- "type": "object"
823
- },
824
- "maxItems": 2000,
825
- "minItems": 0,
826
- "type": "array"
827
- },
828
- "fit": {
829
- "enum": [
830
- "contain",
831
- "cover",
832
- "stretch"
833
- ],
834
- "type": "string"
835
- },
836
- "format": {
837
- "const": "vector"
838
- },
839
- "viewBox": {
840
- "additionalProperties": false,
841
- "properties": {
842
- "height": {
843
- "exclusiveMinimum": 0,
844
- "maximum": 100000,
845
- "type": "number"
846
- },
847
- "width": {
848
- "exclusiveMinimum": 0,
849
- "maximum": 100000,
850
- "type": "number"
851
- },
852
- "x": {
853
- "type": "number"
854
- },
855
- "y": {
856
- "type": "number"
857
- }
858
- },
859
- "required": [
860
- "x",
861
- "y",
862
- "width",
863
- "height"
864
- ],
865
- "type": "object"
866
- }
867
- },
868
- "required": [
869
- "format",
870
- "elements",
871
- "viewBox",
872
- "description"
873
- ],
874
- "type": "object"
875
- },
876
- {
877
- "additionalProperties": false,
878
- "properties": {
879
- "description": {
880
- "maxLength": 1000,
881
- "minLength": 1,
882
- "pattern": "\\S",
883
- "type": "string"
884
- },
885
- "fit": {
886
- "enum": [
887
- "contain",
888
- "cover",
889
- "stretch"
890
- ],
891
- "type": "string"
892
- },
893
- "format": {
894
- "const": "svg"
895
- },
896
- "source": {
897
- "maxLength": 500000,
898
- "minLength": 1,
899
- "pattern": "^\\s*<svg(?:\\s|>)",
900
- "type": "string"
901
- },
902
- "viewBox": {
903
- "additionalProperties": false,
904
- "properties": {
905
- "height": {
906
- "exclusiveMinimum": 0,
907
- "maximum": 100000,
908
- "type": "number"
909
- },
910
- "width": {
911
- "exclusiveMinimum": 0,
912
- "maximum": 100000,
913
- "type": "number"
914
- },
915
- "x": {
916
- "type": "number"
917
- },
918
- "y": {
919
- "type": "number"
920
- }
921
- },
922
- "required": [
923
- "x",
924
- "y",
925
- "width",
926
- "height"
927
- ],
928
- "type": "object"
929
- }
930
- },
931
- "required": [
932
- "format",
933
- "source",
934
- "viewBox",
935
- "description"
936
- ],
937
- "type": "object"
938
- }
939
- ]
940
- },
941
- "id": {
942
- "minLength": 1,
943
- "pattern": "\\S",
944
- "type": "string"
945
- },
946
- "intent": {
947
- "type": "string"
948
- },
949
- "kind": {
950
- "const": "chart"
951
- },
952
- "preferredRect": {
953
- "additionalProperties": false,
954
- "properties": {
955
- "height": {
956
- "exclusiveMinimum": 0,
957
- "maximum": 4096,
958
- "type": "number"
959
- },
960
- "width": {
961
- "exclusiveMinimum": 0,
962
- "maximum": 4096,
963
- "type": "number"
964
- },
965
- "x": {
966
- "maximum": 4096,
967
- "minimum": 0,
968
- "type": "number"
969
- },
970
- "y": {
971
- "maximum": 4096,
972
- "minimum": 0,
973
- "type": "number"
974
- }
975
- },
976
- "required": [
977
- "x",
978
- "y",
979
- "width",
980
- "height"
981
- ],
982
- "type": "object"
983
- },
984
- "slotIds": {
985
- "items": {
986
- "minLength": 1,
987
- "pattern": "\\S",
988
- "type": "string"
989
- },
990
- "minItems": 1,
991
- "type": "array",
992
- "uniqueItems": true
993
- },
994
- "topology": {
995
- "additionalProperties": false,
996
- "properties": {
997
- "edges": {
998
- "items": {
999
- "additionalProperties": false,
1000
- "properties": {
1001
- "from": {
1002
- "minLength": 1,
1003
- "pattern": "\\S",
1004
- "type": "string"
1005
- },
1006
- "label": {
1007
- "maxLength": 120,
1008
- "minLength": 1,
1009
- "pattern": "\\S",
1010
- "type": "string"
1011
- },
1012
- "to": {
1013
- "minLength": 1,
1014
- "pattern": "\\S",
1015
- "type": "string"
1016
- }
1017
- },
1018
- "required": [
1019
- "from",
1020
- "to"
1021
- ],
1022
- "type": "object"
1023
- },
1024
- "maxItems": 48,
1025
- "minItems": 0,
1026
- "type": "array"
1027
- },
1028
- "kind": {
1029
- "const": "explicit"
1030
- },
1031
- "nodes": {
1032
- "items": {
1033
- "additionalProperties": false,
1034
- "properties": {
1035
- "id": {
1036
- "minLength": 1,
1037
- "pattern": "\\S",
1038
- "type": "string"
1039
- },
1040
- "preferredRect": {
1041
- "additionalProperties": false,
1042
- "properties": {
1043
- "height": {
1044
- "exclusiveMinimum": 0,
1045
- "maximum": 4096,
1046
- "type": "number"
1047
- },
1048
- "width": {
1049
- "exclusiveMinimum": 0,
1050
- "maximum": 4096,
1051
- "type": "number"
1052
- },
1053
- "x": {
1054
- "maximum": 4096,
1055
- "minimum": 0,
1056
- "type": "number"
1057
- },
1058
- "y": {
1059
- "maximum": 4096,
1060
- "minimum": 0,
1061
- "type": "number"
1062
- }
1063
- },
1064
- "required": [
1065
- "x",
1066
- "y",
1067
- "width",
1068
- "height"
1069
- ],
1070
- "type": "object"
1071
- },
1072
- "primitive": {
1073
- "oneOf": [
1074
- {
1075
- "additionalProperties": false,
1076
- "properties": {
1077
- "color": {
1078
- "enum": [
1079
- "ink",
1080
- "muted",
1081
- "accent"
1082
- ],
1083
- "type": "string"
1084
- },
1085
- "fill": {
1086
- "enum": [
1087
- "none",
1088
- "solid",
1089
- "wash"
1090
- ],
1091
- "type": "string"
1092
- },
1093
- "kind": {
1094
- "const": "shape"
1095
- },
1096
- "shape": {
1097
- "enum": [
1098
- "rectangle",
1099
- "rounded-rectangle",
1100
- "circle",
1101
- "line"
1102
- ],
1103
- "type": "string"
1104
- }
1105
- },
1106
- "required": [
1107
- "kind",
1108
- "shape"
1109
- ],
1110
- "type": "object"
1111
- },
1112
- {
1113
- "additionalProperties": false,
1114
- "properties": {
1115
- "color": {
1116
- "enum": [
1117
- "ink",
1118
- "muted",
1119
- "accent"
1120
- ],
1121
- "type": "string"
1122
- },
1123
- "kind": {
1124
- "const": "icon"
1125
- },
1126
- "name": {
1127
- "minLength": 1,
1128
- "pattern": "\\S",
1129
- "type": "string"
1130
- },
1131
- "style": {
1132
- "enum": [
1133
- "outline",
1134
- "filled"
1135
- ],
1136
- "type": "string"
1137
- }
1138
- },
1139
- "required": [
1140
- "kind"
1141
- ],
1142
- "type": "object"
1143
- }
1144
- ]
1145
- },
1146
- "slotId": {
1147
- "minLength": 1,
1148
- "pattern": "\\S",
1149
- "type": "string"
1150
- },
1151
- "visible": {
1152
- "type": "boolean"
1153
- }
1154
- },
1155
- "required": [
1156
- "id",
1157
- "slotId"
1158
- ],
1159
- "type": "object"
1160
- },
1161
- "maxItems": 24,
1162
- "minItems": 1,
1163
- "type": "array"
1164
- }
1165
- },
1166
- "required": [
1167
- "kind",
1168
- "nodes",
1169
- "edges"
1170
- ],
1171
- "type": "object"
1172
- }
1173
- },
1174
- "required": [
1175
- "id",
1176
- "kind",
1177
- "preferredRect",
1178
- "slotIds",
1179
- "appearance"
1180
- ],
1181
- "type": "object"
1182
- },
1183
- {
1184
- "additionalProperties": false,
1185
- "properties": {
1186
- "appearance": {
1187
- "additionalProperties": false,
1188
- "properties": {
1189
- "border": {
1190
- "enum": [
1191
- "none",
1192
- "outline",
1193
- "filled"
1194
- ],
1195
- "type": "string"
1196
- },
1197
- "colorScheme": {
1198
- "enum": [
1199
- "monochrome",
1200
- "accent-with-muted-context",
1201
- "categorical",
1202
- "sequential",
1203
- "status"
1204
- ],
1205
- "type": "string"
1206
- },
1207
- "density": {
1208
- "enum": [
1209
- "sparse",
1210
- "standard"
1211
- ],
1212
- "type": "string"
1213
- },
1214
- "emphasis": {
1215
- "enum": [
1216
- "none",
1217
- "primary",
1218
- "latest-series",
1219
- "exception"
1220
- ],
1221
- "type": "string"
1222
- },
1223
- "selection": {
1224
- "enum": [
1225
- "auto",
1226
- "explicit"
1227
- ],
1228
- "type": "string"
1229
- },
1230
- "type": {
1231
- "enum": [
1232
- "architecture",
1233
- "it-current-state",
1234
- "high-level",
1235
- "deployment",
1236
- "flowchart",
1237
- "sequence",
1238
- "state-machine",
1239
- "swimlane",
1240
- "process",
1241
- "data-flow",
1242
- "dp-integration",
1243
- "er-data-model",
1244
- "medallion",
1245
- "dp-security-matrix",
1246
- "dependency-graph",
1247
- "uml-class",
1248
- "database-schema",
1249
- "nested",
1250
- "tree",
1251
- "org-chart",
1252
- "layer-stack",
1253
- "pyramid-funnel",
1254
- "timeline",
1255
- "gantt",
1256
- "kanban",
1257
- "user-journey",
1258
- "story-map",
1259
- "quadrant",
1260
- "loop-flywheel",
1261
- "venn",
1262
- "fishbone",
1263
- "wardley-map"
1264
- ],
1265
- "type": "string"
1266
- }
1267
- },
1268
- "required": [
1269
- "type"
1270
- ],
1271
- "type": "object"
1272
- },
1273
- "customVisual": {
1274
- "oneOf": [
1275
- {
1276
- "additionalProperties": false,
1277
- "properties": {
1278
- "description": {
1279
- "maxLength": 1000,
1280
- "minLength": 1,
1281
- "pattern": "\\S",
1282
- "type": "string"
1283
- },
1284
- "elements": {
1285
- "items": {
1286
- "additionalProperties": false,
1287
- "properties": {
1288
- "attributes": {
1289
- "additionalProperties": {
1290
- "oneOf": [
1291
- {
1292
- "maxLength": 10000,
1293
- "pattern": "^(?!theme:)",
1294
- "type": "string"
1295
- },
1296
- {
1297
- "type": "number"
1298
- }
1299
- ]
1300
- },
1301
- "maxProperties": 40,
1302
- "properties": {
1303
- "color": {
1304
- "anyOf": [
1305
- {
1306
- "oneOf": [
1307
- {
1308
- "maxLength": 10000,
1309
- "pattern": "^(?!theme:)",
1310
- "type": "string"
1311
- },
1312
- {
1313
- "type": "number"
1314
- }
1315
- ]
1316
- },
1317
- {
1318
- "enum": [
1319
- "theme:ink",
1320
- "theme:muted",
1321
- "theme:background",
1322
- "theme:surface",
1323
- "theme:divider",
1324
- "theme:accent",
1325
- "theme:on-accent",
1326
- "theme:wash"
1327
- ]
1328
- }
1329
- ]
1330
- },
1331
- "fill": {
1332
- "anyOf": [
1333
- {
1334
- "oneOf": [
1335
- {
1336
- "maxLength": 10000,
1337
- "pattern": "^(?!theme:)",
1338
- "type": "string"
1339
- },
1340
- {
1341
- "type": "number"
1342
- }
1343
- ]
1344
- },
1345
- {
1346
- "enum": [
1347
- "theme:ink",
1348
- "theme:muted",
1349
- "theme:background",
1350
- "theme:surface",
1351
- "theme:divider",
1352
- "theme:accent",
1353
- "theme:on-accent",
1354
- "theme:wash"
1355
- ]
1356
- }
1357
- ]
1358
- },
1359
- "font-family": {
1360
- "anyOf": [
1361
- {
1362
- "oneOf": [
1363
- {
1364
- "maxLength": 10000,
1365
- "pattern": "^(?!theme:)",
1366
- "type": "string"
1367
- },
1368
- {
1369
- "type": "number"
1370
- }
1371
- ]
1372
- },
1373
- {
1374
- "enum": [
1375
- "theme:heading-font",
1376
- "theme:body-font"
1377
- ]
1378
- }
1379
- ]
1380
- },
1381
- "stroke": {
1382
- "anyOf": [
1383
- {
1384
- "oneOf": [
1385
- {
1386
- "maxLength": 10000,
1387
- "pattern": "^(?!theme:)",
1388
- "type": "string"
1389
- },
1390
- {
1391
- "type": "number"
1392
- }
1393
- ]
1394
- },
1395
- {
1396
- "enum": [
1397
- "theme:ink",
1398
- "theme:muted",
1399
- "theme:background",
1400
- "theme:surface",
1401
- "theme:divider",
1402
- "theme:accent",
1403
- "theme:on-accent",
1404
- "theme:wash"
1405
- ]
1406
- }
1407
- ]
1408
- }
1409
- },
1410
- "type": "object"
1411
- },
1412
- "id": {
1413
- "minLength": 1,
1414
- "pattern": "\\S",
1415
- "type": "string"
1416
- },
1417
- "kind": {
1418
- "enum": [
1419
- "g",
1420
- "rect",
1421
- "circle",
1422
- "ellipse",
1423
- "line",
1424
- "polyline",
1425
- "polygon",
1426
- "path",
1427
- "text",
1428
- "tspan"
1429
- ],
1430
- "type": "string"
1431
- },
1432
- "parentId": {
1433
- "minLength": 1,
1434
- "pattern": "\\S",
1435
- "type": "string"
1436
- },
1437
- "text": {
1438
- "maxLength": 10000,
1439
- "type": "string"
1440
- }
1441
- },
1442
- "required": [
1443
- "id",
1444
- "kind",
1445
- "attributes"
1446
- ],
1447
- "type": "object"
1448
- },
1449
- "maxItems": 2000,
1450
- "minItems": 0,
1451
- "type": "array"
1452
- },
1453
- "fit": {
1454
- "enum": [
1455
- "contain",
1456
- "cover",
1457
- "stretch"
1458
- ],
1459
- "type": "string"
1460
- },
1461
- "format": {
1462
- "const": "vector"
1463
- },
1464
- "viewBox": {
1465
- "additionalProperties": false,
1466
- "properties": {
1467
- "height": {
1468
- "exclusiveMinimum": 0,
1469
- "maximum": 100000,
1470
- "type": "number"
1471
- },
1472
- "width": {
1473
- "exclusiveMinimum": 0,
1474
- "maximum": 100000,
1475
- "type": "number"
1476
- },
1477
- "x": {
1478
- "type": "number"
1479
- },
1480
- "y": {
1481
- "type": "number"
1482
- }
1483
- },
1484
- "required": [
1485
- "x",
1486
- "y",
1487
- "width",
1488
- "height"
1489
- ],
1490
- "type": "object"
1491
- }
1492
- },
1493
- "required": [
1494
- "format",
1495
- "elements",
1496
- "viewBox",
1497
- "description"
1498
- ],
1499
- "type": "object"
1500
- },
1501
- {
1502
- "additionalProperties": false,
1503
- "properties": {
1504
- "description": {
1505
- "maxLength": 1000,
1506
- "minLength": 1,
1507
- "pattern": "\\S",
1508
- "type": "string"
1509
- },
1510
- "fit": {
1511
- "enum": [
1512
- "contain",
1513
- "cover",
1514
- "stretch"
1515
- ],
1516
- "type": "string"
1517
- },
1518
- "format": {
1519
- "const": "svg"
1520
- },
1521
- "source": {
1522
- "maxLength": 500000,
1523
- "minLength": 1,
1524
- "pattern": "^\\s*<svg(?:\\s|>)",
1525
- "type": "string"
1526
- },
1527
- "viewBox": {
1528
- "additionalProperties": false,
1529
- "properties": {
1530
- "height": {
1531
- "exclusiveMinimum": 0,
1532
- "maximum": 100000,
1533
- "type": "number"
1534
- },
1535
- "width": {
1536
- "exclusiveMinimum": 0,
1537
- "maximum": 100000,
1538
- "type": "number"
1539
- },
1540
- "x": {
1541
- "type": "number"
1542
- },
1543
- "y": {
1544
- "type": "number"
1545
- }
1546
- },
1547
- "required": [
1548
- "x",
1549
- "y",
1550
- "width",
1551
- "height"
1552
- ],
1553
- "type": "object"
1554
- }
1555
- },
1556
- "required": [
1557
- "format",
1558
- "source",
1559
- "viewBox",
1560
- "description"
1561
- ],
1562
- "type": "object"
1563
- }
1564
- ]
1565
- },
1566
- "id": {
1567
- "minLength": 1,
1568
- "pattern": "\\S",
1569
- "type": "string"
1570
- },
1571
- "intent": {
1572
- "type": "string"
1573
- },
1574
- "kind": {
1575
- "const": "diagram"
1576
- },
1577
- "preferredRect": {
1578
- "additionalProperties": false,
1579
- "properties": {
1580
- "height": {
1581
- "exclusiveMinimum": 0,
1582
- "maximum": 4096,
1583
- "type": "number"
1584
- },
1585
- "width": {
1586
- "exclusiveMinimum": 0,
1587
- "maximum": 4096,
1588
- "type": "number"
1589
- },
1590
- "x": {
1591
- "maximum": 4096,
1592
- "minimum": 0,
1593
- "type": "number"
1594
- },
1595
- "y": {
1596
- "maximum": 4096,
1597
- "minimum": 0,
1598
- "type": "number"
1599
- }
1600
- },
1601
- "required": [
1602
- "x",
1603
- "y",
1604
- "width",
1605
- "height"
1606
- ],
1607
- "type": "object"
1608
- },
1609
- "slotIds": {
1610
- "items": {
1611
- "minLength": 1,
1612
- "pattern": "\\S",
1613
- "type": "string"
1614
- },
1615
- "minItems": 1,
1616
- "type": "array",
1617
- "uniqueItems": true
1618
- },
1619
- "topology": {
1620
- "additionalProperties": false,
1621
- "properties": {
1622
- "edges": {
1623
- "items": {
1624
- "additionalProperties": false,
1625
- "properties": {
1626
- "from": {
1627
- "minLength": 1,
1628
- "pattern": "\\S",
1629
- "type": "string"
1630
- },
1631
- "label": {
1632
- "maxLength": 120,
1633
- "minLength": 1,
1634
- "pattern": "\\S",
1635
- "type": "string"
1636
- },
1637
- "to": {
1638
- "minLength": 1,
1639
- "pattern": "\\S",
1640
- "type": "string"
1641
- }
1642
- },
1643
- "required": [
1644
- "from",
1645
- "to"
1646
- ],
1647
- "type": "object"
1648
- },
1649
- "maxItems": 48,
1650
- "minItems": 0,
1651
- "type": "array"
1652
- },
1653
- "kind": {
1654
- "const": "explicit"
1655
- },
1656
- "nodes": {
1657
- "items": {
1658
- "additionalProperties": false,
1659
- "properties": {
1660
- "id": {
1661
- "minLength": 1,
1662
- "pattern": "\\S",
1663
- "type": "string"
1664
- },
1665
- "preferredRect": {
1666
- "additionalProperties": false,
1667
- "properties": {
1668
- "height": {
1669
- "exclusiveMinimum": 0,
1670
- "maximum": 4096,
1671
- "type": "number"
1672
- },
1673
- "width": {
1674
- "exclusiveMinimum": 0,
1675
- "maximum": 4096,
1676
- "type": "number"
1677
- },
1678
- "x": {
1679
- "maximum": 4096,
1680
- "minimum": 0,
1681
- "type": "number"
1682
- },
1683
- "y": {
1684
- "maximum": 4096,
1685
- "minimum": 0,
1686
- "type": "number"
1687
- }
1688
- },
1689
- "required": [
1690
- "x",
1691
- "y",
1692
- "width",
1693
- "height"
1694
- ],
1695
- "type": "object"
1696
- },
1697
- "primitive": {
1698
- "oneOf": [
1699
- {
1700
- "additionalProperties": false,
1701
- "properties": {
1702
- "color": {
1703
- "enum": [
1704
- "ink",
1705
- "muted",
1706
- "accent"
1707
- ],
1708
- "type": "string"
1709
- },
1710
- "fill": {
1711
- "enum": [
1712
- "none",
1713
- "solid",
1714
- "wash"
1715
- ],
1716
- "type": "string"
1717
- },
1718
- "kind": {
1719
- "const": "shape"
1720
- },
1721
- "shape": {
1722
- "enum": [
1723
- "rectangle",
1724
- "rounded-rectangle",
1725
- "circle",
1726
- "line"
1727
- ],
1728
- "type": "string"
1729
- }
1730
- },
1731
- "required": [
1732
- "kind",
1733
- "shape"
1734
- ],
1735
- "type": "object"
1736
- },
1737
- {
1738
- "additionalProperties": false,
1739
- "properties": {
1740
- "color": {
1741
- "enum": [
1742
- "ink",
1743
- "muted",
1744
- "accent"
1745
- ],
1746
- "type": "string"
1747
- },
1748
- "kind": {
1749
- "const": "icon"
1750
- },
1751
- "name": {
1752
- "minLength": 1,
1753
- "pattern": "\\S",
1754
- "type": "string"
1755
- },
1756
- "style": {
1757
- "enum": [
1758
- "outline",
1759
- "filled"
1760
- ],
1761
- "type": "string"
1762
- }
1763
- },
1764
- "required": [
1765
- "kind"
1766
- ],
1767
- "type": "object"
1768
- }
1769
- ]
1770
- },
1771
- "slotId": {
1772
- "minLength": 1,
1773
- "pattern": "\\S",
1774
- "type": "string"
1775
- },
1776
- "visible": {
1777
- "type": "boolean"
1778
- }
1779
- },
1780
- "required": [
1781
- "id",
1782
- "slotId"
1783
- ],
1784
- "type": "object"
1785
- },
1786
- "maxItems": 24,
1787
- "minItems": 1,
1788
- "type": "array"
1789
- }
1790
- },
1791
- "required": [
1792
- "kind",
1793
- "nodes",
1794
- "edges"
1795
- ],
1796
- "type": "object"
1797
- }
1798
- },
1799
- "required": [
1800
- "id",
1801
- "kind",
1802
- "preferredRect",
1803
- "slotIds",
1804
- "appearance"
1805
- ],
1806
- "type": "object"
1807
- },
1808
- {
1809
- "additionalProperties": false,
1810
- "properties": {
1811
- "appearance": {
1812
- "additionalProperties": false,
1813
- "properties": {
1814
- "border": {
1815
- "enum": [
1816
- "none",
1817
- "outline",
1818
- "filled"
1819
- ],
1820
- "type": "string"
1821
- },
1822
- "fit": {
1823
- "enum": [
1824
- "cover",
1825
- "contain"
1826
- ],
1827
- "type": "string"
1828
- }
1829
- },
1830
- "required": [],
1831
- "type": "object"
1832
- },
1833
- "customVisual": {
1834
- "oneOf": [
1835
- {
1836
- "additionalProperties": false,
1837
- "properties": {
1838
- "description": {
1839
- "maxLength": 1000,
1840
- "minLength": 1,
1841
- "pattern": "\\S",
1842
- "type": "string"
1843
- },
1844
- "elements": {
1845
- "items": {
1846
- "additionalProperties": false,
1847
- "properties": {
1848
- "attributes": {
1849
- "additionalProperties": {
1850
- "oneOf": [
1851
- {
1852
- "maxLength": 10000,
1853
- "pattern": "^(?!theme:)",
1854
- "type": "string"
1855
- },
1856
- {
1857
- "type": "number"
1858
- }
1859
- ]
1860
- },
1861
- "maxProperties": 40,
1862
- "properties": {
1863
- "color": {
1864
- "anyOf": [
1865
- {
1866
- "oneOf": [
1867
- {
1868
- "maxLength": 10000,
1869
- "pattern": "^(?!theme:)",
1870
- "type": "string"
1871
- },
1872
- {
1873
- "type": "number"
1874
- }
1875
- ]
1876
- },
1877
- {
1878
- "enum": [
1879
- "theme:ink",
1880
- "theme:muted",
1881
- "theme:background",
1882
- "theme:surface",
1883
- "theme:divider",
1884
- "theme:accent",
1885
- "theme:on-accent",
1886
- "theme:wash"
1887
- ]
1888
- }
1889
- ]
1890
- },
1891
- "fill": {
1892
- "anyOf": [
1893
- {
1894
- "oneOf": [
1895
- {
1896
- "maxLength": 10000,
1897
- "pattern": "^(?!theme:)",
1898
- "type": "string"
1899
- },
1900
- {
1901
- "type": "number"
1902
- }
1903
- ]
1904
- },
1905
- {
1906
- "enum": [
1907
- "theme:ink",
1908
- "theme:muted",
1909
- "theme:background",
1910
- "theme:surface",
1911
- "theme:divider",
1912
- "theme:accent",
1913
- "theme:on-accent",
1914
- "theme:wash"
1915
- ]
1916
- }
1917
- ]
1918
- },
1919
- "font-family": {
1920
- "anyOf": [
1921
- {
1922
- "oneOf": [
1923
- {
1924
- "maxLength": 10000,
1925
- "pattern": "^(?!theme:)",
1926
- "type": "string"
1927
- },
1928
- {
1929
- "type": "number"
1930
- }
1931
- ]
1932
- },
1933
- {
1934
- "enum": [
1935
- "theme:heading-font",
1936
- "theme:body-font"
1937
- ]
1938
- }
1939
- ]
1940
- },
1941
- "stroke": {
1942
- "anyOf": [
1943
- {
1944
- "oneOf": [
1945
- {
1946
- "maxLength": 10000,
1947
- "pattern": "^(?!theme:)",
1948
- "type": "string"
1949
- },
1950
- {
1951
- "type": "number"
1952
- }
1953
- ]
1954
- },
1955
- {
1956
- "enum": [
1957
- "theme:ink",
1958
- "theme:muted",
1959
- "theme:background",
1960
- "theme:surface",
1961
- "theme:divider",
1962
- "theme:accent",
1963
- "theme:on-accent",
1964
- "theme:wash"
1965
- ]
1966
- }
1967
- ]
1968
- }
1969
- },
1970
- "type": "object"
1971
- },
1972
- "id": {
1973
- "minLength": 1,
1974
- "pattern": "\\S",
1975
- "type": "string"
1976
- },
1977
- "kind": {
1978
- "enum": [
1979
- "g",
1980
- "rect",
1981
- "circle",
1982
- "ellipse",
1983
- "line",
1984
- "polyline",
1985
- "polygon",
1986
- "path",
1987
- "text",
1988
- "tspan"
1989
- ],
1990
- "type": "string"
1991
- },
1992
- "parentId": {
1993
- "minLength": 1,
1994
- "pattern": "\\S",
1995
- "type": "string"
1996
- },
1997
- "text": {
1998
- "maxLength": 10000,
1999
- "type": "string"
2000
- }
2001
- },
2002
- "required": [
2003
- "id",
2004
- "kind",
2005
- "attributes"
2006
- ],
2007
- "type": "object"
2008
- },
2009
- "maxItems": 2000,
2010
- "minItems": 0,
2011
- "type": "array"
2012
- },
2013
- "fit": {
2014
- "enum": [
2015
- "contain",
2016
- "cover",
2017
- "stretch"
2018
- ],
2019
- "type": "string"
2020
- },
2021
- "format": {
2022
- "const": "vector"
2023
- },
2024
- "viewBox": {
2025
- "additionalProperties": false,
2026
- "properties": {
2027
- "height": {
2028
- "exclusiveMinimum": 0,
2029
- "maximum": 100000,
2030
- "type": "number"
2031
- },
2032
- "width": {
2033
- "exclusiveMinimum": 0,
2034
- "maximum": 100000,
2035
- "type": "number"
2036
- },
2037
- "x": {
2038
- "type": "number"
2039
- },
2040
- "y": {
2041
- "type": "number"
2042
- }
2043
- },
2044
- "required": [
2045
- "x",
2046
- "y",
2047
- "width",
2048
- "height"
2049
- ],
2050
- "type": "object"
2051
- }
2052
- },
2053
- "required": [
2054
- "format",
2055
- "elements",
2056
- "viewBox",
2057
- "description"
2058
- ],
2059
- "type": "object"
2060
- },
2061
- {
2062
- "additionalProperties": false,
2063
- "properties": {
2064
- "description": {
2065
- "maxLength": 1000,
2066
- "minLength": 1,
2067
- "pattern": "\\S",
2068
- "type": "string"
2069
- },
2070
- "fit": {
2071
- "enum": [
2072
- "contain",
2073
- "cover",
2074
- "stretch"
2075
- ],
2076
- "type": "string"
2077
- },
2078
- "format": {
2079
- "const": "svg"
2080
- },
2081
- "source": {
2082
- "maxLength": 500000,
2083
- "minLength": 1,
2084
- "pattern": "^\\s*<svg(?:\\s|>)",
2085
- "type": "string"
2086
- },
2087
- "viewBox": {
2088
- "additionalProperties": false,
2089
- "properties": {
2090
- "height": {
2091
- "exclusiveMinimum": 0,
2092
- "maximum": 100000,
2093
- "type": "number"
2094
- },
2095
- "width": {
2096
- "exclusiveMinimum": 0,
2097
- "maximum": 100000,
2098
- "type": "number"
2099
- },
2100
- "x": {
2101
- "type": "number"
2102
- },
2103
- "y": {
2104
- "type": "number"
2105
- }
2106
- },
2107
- "required": [
2108
- "x",
2109
- "y",
2110
- "width",
2111
- "height"
2112
- ],
2113
- "type": "object"
2114
- }
2115
- },
2116
- "required": [
2117
- "format",
2118
- "source",
2119
- "viewBox",
2120
- "description"
2121
- ],
2122
- "type": "object"
2123
- }
2124
- ]
2125
- },
2126
- "id": {
2127
- "minLength": 1,
2128
- "pattern": "\\S",
2129
- "type": "string"
2130
- },
2131
- "intent": {
2132
- "type": "string"
2133
- },
2134
- "kind": {
2135
- "const": "image"
2136
- },
2137
- "preferredRect": {
2138
- "additionalProperties": false,
2139
- "properties": {
2140
- "height": {
2141
- "exclusiveMinimum": 0,
2142
- "maximum": 4096,
2143
- "type": "number"
2144
- },
2145
- "width": {
2146
- "exclusiveMinimum": 0,
2147
- "maximum": 4096,
2148
- "type": "number"
2149
- },
2150
- "x": {
2151
- "maximum": 4096,
2152
- "minimum": 0,
2153
- "type": "number"
2154
- },
2155
- "y": {
2156
- "maximum": 4096,
2157
- "minimum": 0,
2158
- "type": "number"
2159
- }
2160
- },
2161
- "required": [
2162
- "x",
2163
- "y",
2164
- "width",
2165
- "height"
2166
- ],
2167
- "type": "object"
2168
- },
2169
- "slotIds": {
2170
- "items": {
2171
- "minLength": 1,
2172
- "pattern": "\\S",
2173
- "type": "string"
2174
- },
2175
- "minItems": 1,
2176
- "type": "array",
2177
- "uniqueItems": true
2178
- }
2179
- },
2180
- "required": [
2181
- "id",
2182
- "kind",
2183
- "preferredRect",
2184
- "slotIds"
2185
- ],
2186
- "type": "object"
2187
- },
2188
- {
2189
- "additionalProperties": false,
2190
- "properties": {
2191
- "appearance": {
2192
- "additionalProperties": false,
2193
- "properties": {
2194
- "border": {
2195
- "enum": [
2196
- "none",
2197
- "outline",
2198
- "filled"
2199
- ],
2200
- "type": "string"
2201
- },
2202
- "colorScheme": {
2203
- "enum": [
2204
- "monochrome",
2205
- "accent-with-muted-context",
2206
- "categorical",
2207
- "sequential",
2208
- "status"
2209
- ],
2210
- "type": "string"
2211
- },
2212
- "density": {
2213
- "enum": [
2214
- "sparse",
2215
- "standard"
2216
- ],
2217
- "type": "string"
2218
- },
2219
- "grid": {
2220
- "enum": [
2221
- "none",
2222
- "rows",
2223
- "all"
2224
- ],
2225
- "type": "string"
2226
- },
2227
- "header": {
2228
- "enum": [
2229
- "row",
2230
- "none",
2231
- "column",
2232
- "both"
2233
- ],
2234
- "type": "string"
2235
- }
2236
- },
2237
- "required": [],
2238
- "type": "object"
2239
- },
2240
- "customVisual": {
2241
- "oneOf": [
2242
- {
2243
- "additionalProperties": false,
2244
- "properties": {
2245
- "description": {
2246
- "maxLength": 1000,
2247
- "minLength": 1,
2248
- "pattern": "\\S",
2249
- "type": "string"
2250
- },
2251
- "elements": {
2252
- "items": {
2253
- "additionalProperties": false,
2254
- "properties": {
2255
- "attributes": {
2256
- "additionalProperties": {
2257
- "oneOf": [
2258
- {
2259
- "maxLength": 10000,
2260
- "pattern": "^(?!theme:)",
2261
- "type": "string"
2262
- },
2263
- {
2264
- "type": "number"
2265
- }
2266
- ]
2267
- },
2268
- "maxProperties": 40,
2269
- "properties": {
2270
- "color": {
2271
- "anyOf": [
2272
- {
2273
- "oneOf": [
2274
- {
2275
- "maxLength": 10000,
2276
- "pattern": "^(?!theme:)",
2277
- "type": "string"
2278
- },
2279
- {
2280
- "type": "number"
2281
- }
2282
- ]
2283
- },
2284
- {
2285
- "enum": [
2286
- "theme:ink",
2287
- "theme:muted",
2288
- "theme:background",
2289
- "theme:surface",
2290
- "theme:divider",
2291
- "theme:accent",
2292
- "theme:on-accent",
2293
- "theme:wash"
2294
- ]
2295
- }
2296
- ]
2297
- },
2298
- "fill": {
2299
- "anyOf": [
2300
- {
2301
- "oneOf": [
2302
- {
2303
- "maxLength": 10000,
2304
- "pattern": "^(?!theme:)",
2305
- "type": "string"
2306
- },
2307
- {
2308
- "type": "number"
2309
- }
2310
- ]
2311
- },
2312
- {
2313
- "enum": [
2314
- "theme:ink",
2315
- "theme:muted",
2316
- "theme:background",
2317
- "theme:surface",
2318
- "theme:divider",
2319
- "theme:accent",
2320
- "theme:on-accent",
2321
- "theme:wash"
2322
- ]
2323
- }
2324
- ]
2325
- },
2326
- "font-family": {
2327
- "anyOf": [
2328
- {
2329
- "oneOf": [
2330
- {
2331
- "maxLength": 10000,
2332
- "pattern": "^(?!theme:)",
2333
- "type": "string"
2334
- },
2335
- {
2336
- "type": "number"
2337
- }
2338
- ]
2339
- },
2340
- {
2341
- "enum": [
2342
- "theme:heading-font",
2343
- "theme:body-font"
2344
- ]
2345
- }
2346
- ]
2347
- },
2348
- "stroke": {
2349
- "anyOf": [
2350
- {
2351
- "oneOf": [
2352
- {
2353
- "maxLength": 10000,
2354
- "pattern": "^(?!theme:)",
2355
- "type": "string"
2356
- },
2357
- {
2358
- "type": "number"
2359
- }
2360
- ]
2361
- },
2362
- {
2363
- "enum": [
2364
- "theme:ink",
2365
- "theme:muted",
2366
- "theme:background",
2367
- "theme:surface",
2368
- "theme:divider",
2369
- "theme:accent",
2370
- "theme:on-accent",
2371
- "theme:wash"
2372
- ]
2373
- }
2374
- ]
2375
- }
2376
- },
2377
- "type": "object"
2378
- },
2379
- "id": {
2380
- "minLength": 1,
2381
- "pattern": "\\S",
2382
- "type": "string"
2383
- },
2384
- "kind": {
2385
- "enum": [
2386
- "g",
2387
- "rect",
2388
- "circle",
2389
- "ellipse",
2390
- "line",
2391
- "polyline",
2392
- "polygon",
2393
- "path",
2394
- "text",
2395
- "tspan"
2396
- ],
2397
- "type": "string"
2398
- },
2399
- "parentId": {
2400
- "minLength": 1,
2401
- "pattern": "\\S",
2402
- "type": "string"
2403
- },
2404
- "text": {
2405
- "maxLength": 10000,
2406
- "type": "string"
2407
- }
2408
- },
2409
- "required": [
2410
- "id",
2411
- "kind",
2412
- "attributes"
2413
- ],
2414
- "type": "object"
2415
- },
2416
- "maxItems": 2000,
2417
- "minItems": 0,
2418
- "type": "array"
2419
- },
2420
- "fit": {
2421
- "enum": [
2422
- "contain",
2423
- "cover",
2424
- "stretch"
2425
- ],
2426
- "type": "string"
2427
- },
2428
- "format": {
2429
- "const": "vector"
2430
- },
2431
- "viewBox": {
2432
- "additionalProperties": false,
2433
- "properties": {
2434
- "height": {
2435
- "exclusiveMinimum": 0,
2436
- "maximum": 100000,
2437
- "type": "number"
2438
- },
2439
- "width": {
2440
- "exclusiveMinimum": 0,
2441
- "maximum": 100000,
2442
- "type": "number"
2443
- },
2444
- "x": {
2445
- "type": "number"
2446
- },
2447
- "y": {
2448
- "type": "number"
2449
- }
2450
- },
2451
- "required": [
2452
- "x",
2453
- "y",
2454
- "width",
2455
- "height"
2456
- ],
2457
- "type": "object"
2458
- }
2459
- },
2460
- "required": [
2461
- "format",
2462
- "elements",
2463
- "viewBox",
2464
- "description"
2465
- ],
2466
- "type": "object"
2467
- },
2468
- {
2469
- "additionalProperties": false,
2470
- "properties": {
2471
- "description": {
2472
- "maxLength": 1000,
2473
- "minLength": 1,
2474
- "pattern": "\\S",
2475
- "type": "string"
2476
- },
2477
- "fit": {
2478
- "enum": [
2479
- "contain",
2480
- "cover",
2481
- "stretch"
2482
- ],
2483
- "type": "string"
2484
- },
2485
- "format": {
2486
- "const": "svg"
2487
- },
2488
- "source": {
2489
- "maxLength": 500000,
2490
- "minLength": 1,
2491
- "pattern": "^\\s*<svg(?:\\s|>)",
2492
- "type": "string"
2493
- },
2494
- "viewBox": {
2495
- "additionalProperties": false,
2496
- "properties": {
2497
- "height": {
2498
- "exclusiveMinimum": 0,
2499
- "maximum": 100000,
2500
- "type": "number"
2501
- },
2502
- "width": {
2503
- "exclusiveMinimum": 0,
2504
- "maximum": 100000,
2505
- "type": "number"
2506
- },
2507
- "x": {
2508
- "type": "number"
2509
- },
2510
- "y": {
2511
- "type": "number"
2512
- }
2513
- },
2514
- "required": [
2515
- "x",
2516
- "y",
2517
- "width",
2518
- "height"
2519
- ],
2520
- "type": "object"
2521
- }
2522
- },
2523
- "required": [
2524
- "format",
2525
- "source",
2526
- "viewBox",
2527
- "description"
2528
- ],
2529
- "type": "object"
2530
- }
2531
- ]
2532
- },
2533
- "id": {
2534
- "minLength": 1,
2535
- "pattern": "\\S",
2536
- "type": "string"
2537
- },
2538
- "intent": {
2539
- "type": "string"
2540
- },
2541
- "kind": {
2542
- "const": "table"
2543
- },
2544
- "preferredRect": {
2545
- "additionalProperties": false,
2546
- "properties": {
2547
- "height": {
2548
- "exclusiveMinimum": 0,
2549
- "maximum": 4096,
2550
- "type": "number"
2551
- },
2552
- "width": {
2553
- "exclusiveMinimum": 0,
2554
- "maximum": 4096,
2555
- "type": "number"
2556
- },
2557
- "x": {
2558
- "maximum": 4096,
2559
- "minimum": 0,
2560
- "type": "number"
2561
- },
2562
- "y": {
2563
- "maximum": 4096,
2564
- "minimum": 0,
2565
- "type": "number"
2566
- }
2567
- },
2568
- "required": [
2569
- "x",
2570
- "y",
2571
- "width",
2572
- "height"
2573
- ],
2574
- "type": "object"
2575
- },
2576
- "slotIds": {
2577
- "items": {
2578
- "minLength": 1,
2579
- "pattern": "\\S",
2580
- "type": "string"
2581
- },
2582
- "minItems": 1,
2583
- "type": "array",
2584
- "uniqueItems": true
2585
- }
2586
- },
2587
- "required": [
2588
- "id",
2589
- "kind",
2590
- "preferredRect",
2591
- "slotIds"
2592
- ],
2593
- "type": "object"
2594
- }
2595
- ]
2596
- },
2597
- "minItems": 0,
2598
- "type": "array"
2599
- },
2600
- "contentSlots": {
2601
- "items": {
2602
- "oneOf": [
2603
- {
2604
- "additionalProperties": false,
2605
- "properties": {
2606
- "id": {
2607
- "minLength": 1,
2608
- "pattern": "\\S",
2609
- "type": "string"
2610
- },
2611
- "instruction": {
2612
- "minLength": 1,
2613
- "pattern": "\\S",
2614
- "type": "string"
2615
- },
2616
- "label": {
2617
- "minLength": 1,
2618
- "pattern": "\\S",
2619
- "type": "string"
2620
- },
2621
- "required": {
2622
- "type": "boolean"
2623
- },
2624
- "role": {
2625
- "enum": [
2626
- "takeaway",
2627
- "body",
2628
- "evidence",
2629
- "comparison-item",
2630
- "process-step",
2631
- "entity",
2632
- "image",
2633
- "table"
2634
- ],
2635
- "type": "string"
2636
- }
2637
- },
2638
- "required": [
2639
- "id",
2640
- "label",
2641
- "required",
2642
- "instruction",
2643
- "role"
2644
- ],
2645
- "type": "object"
2646
- },
2647
- {
2648
- "additionalProperties": false,
2649
- "properties": {
2650
- "id": {
2651
- "minLength": 1,
2652
- "pattern": "\\S",
2653
- "type": "string"
2654
- },
2655
- "instruction": {
2656
- "minLength": 1,
2657
- "pattern": "\\S",
2658
- "type": "string"
2659
- },
2660
- "label": {
2661
- "minLength": 1,
2662
- "pattern": "\\S",
2663
- "type": "string"
2664
- },
2665
- "required": {
2666
- "type": "boolean"
2667
- },
2668
- "role": {
2669
- "enum": [
2670
- "qualification",
2671
- "source"
2672
- ],
2673
- "type": "string"
2674
- },
2675
- "targets": {
2676
- "items": {
2677
- "minLength": 1,
2678
- "pattern": "\\S",
2679
- "type": "string"
2680
- },
2681
- "minItems": 1,
2682
- "type": "array",
2683
- "uniqueItems": true
2684
- }
2685
- },
2686
- "required": [
2687
- "id",
2688
- "label",
2689
- "required",
2690
- "instruction",
2691
- "role",
2692
- "targets"
2693
- ],
2694
- "type": "object"
2695
- }
2696
- ]
2697
- },
2698
- "minItems": 0,
2699
- "type": "array"
2700
- },
2701
- "groups": {
2702
- "items": {
2703
- "additionalProperties": false,
2704
- "properties": {
2705
- "childIds": {
2706
- "items": {
2707
- "minLength": 1,
2708
- "pattern": "\\S",
2709
- "type": "string"
2710
- },
2711
- "minItems": 1,
2712
- "type": "array",
2713
- "uniqueItems": true
2714
- },
2715
- "id": {
2716
- "minLength": 1,
2717
- "pattern": "\\S",
2718
- "type": "string"
2719
- },
2720
- "label": {
2721
- "type": "string"
2722
- }
2723
- },
2724
- "required": [
2725
- "id",
2726
- "childIds"
2727
- ],
2728
- "type": "object"
2729
- },
2730
- "minItems": 0,
2731
- "type": "array"
2732
- },
2733
- "id": {
2734
- "minLength": 1,
2735
- "pattern": "\\S",
2736
- "type": "string"
2737
- },
2738
- "innerPadding": {
2739
- "additionalProperties": false,
2740
- "properties": {
2741
- "bottom": {
2742
- "minimum": 0,
2743
- "type": "number"
2744
- },
2745
- "left": {
2746
- "minimum": 0,
2747
- "type": "number"
2748
- },
2749
- "right": {
2750
- "minimum": 0,
2751
- "type": "number"
2752
- },
2753
- "top": {
2754
- "minimum": 0,
2755
- "type": "number"
2756
- }
2757
- },
2758
- "required": [
2759
- "top",
2760
- "right",
2761
- "bottom",
2762
- "left"
2763
- ],
2764
- "type": "object"
2765
- },
2766
- "intendedViewingSize": {
2767
- "enum": [
2768
- "presentation",
2769
- "social",
2770
- "article",
2771
- "custom"
2772
- ],
2773
- "type": "string"
2774
- },
2775
- "name": {
2776
- "minLength": 1,
2777
- "pattern": "\\S",
2778
- "type": "string"
2779
- },
2780
- "pageNumber": {
2781
- "additionalProperties": false,
2782
- "properties": {
2783
- "color": {
2784
- "enum": [
2785
- "ink",
2786
- "muted",
2787
- "accent"
2788
- ],
2789
- "type": "string"
2790
- },
2791
- "style": {
2792
- "enum": [
2793
- "none",
2794
- "01",
2795
- "01/02"
2796
- ],
2797
- "type": "string"
2798
- }
2799
- },
2800
- "required": [
2801
- "style",
2802
- "color"
2803
- ],
2804
- "type": "object"
2805
- },
2806
- "paintOrder": {
2807
- "items": {
2808
- "minLength": 1,
2809
- "pattern": "\\S",
2810
- "type": "string"
2811
- },
2812
- "minItems": 0,
2813
- "type": "array",
2814
- "uniqueItems": true
2815
- },
2816
- "question": {
2817
- "minLength": 1,
2818
- "pattern": "\\S",
2819
- "type": "string"
2820
- },
2821
- "readingOrder": {
2822
- "items": {
2823
- "additionalProperties": false,
2824
- "properties": {
2825
- "id": {
2826
- "minLength": 1,
2827
- "pattern": "\\S",
2828
- "type": "string"
2829
- },
2830
- "kind": {
2831
- "enum": [
2832
- "component",
2833
- "group"
2834
- ],
2835
- "type": "string"
2836
- }
2837
- },
2838
- "required": [
2839
- "kind",
2840
- "id"
2841
- ],
2842
- "type": "object"
2843
- },
2844
- "minItems": 0,
2845
- "type": "array",
2846
- "uniqueItems": true
2847
- },
2848
- "relationships": {
2849
- "items": {
2850
- "additionalProperties": false,
2851
- "properties": {
2852
- "direction": {
2853
- "enum": [
2854
- "forward",
2855
- "bidirectional",
2856
- "undirected"
2857
- ],
2858
- "type": "string"
2859
- },
2860
- "from": {
2861
- "additionalProperties": false,
2862
- "properties": {
2863
- "nodeId": {
2864
- "minLength": 1,
2865
- "pattern": "\\S",
2866
- "type": "string"
2867
- },
2868
- "slotId": {
2869
- "minLength": 1,
2870
- "pattern": "\\S",
2871
- "type": "string"
2872
- }
2873
- },
2874
- "required": [
2875
- "nodeId"
2876
- ],
2877
- "type": "object"
2878
- },
2879
- "id": {
2880
- "minLength": 1,
2881
- "pattern": "\\S",
2882
- "type": "string"
2883
- },
2884
- "kind": {
2885
- "enum": [
2886
- "flows-to",
2887
- "qualifies",
2888
- "compares-with",
2889
- "depends-on",
2890
- "connects-to"
2891
- ],
2892
- "type": "string"
2893
- },
2894
- "label": {
2895
- "type": "string"
2896
- },
2897
- "to": {
2898
- "additionalProperties": false,
2899
- "properties": {
2900
- "nodeId": {
2901
- "minLength": 1,
2902
- "pattern": "\\S",
2903
- "type": "string"
2904
- },
2905
- "slotId": {
2906
- "minLength": 1,
2907
- "pattern": "\\S",
2908
- "type": "string"
2909
- }
2910
- },
2911
- "required": [
2912
- "nodeId"
2913
- ],
2914
- "type": "object"
2915
- }
2916
- },
2917
- "required": [
2918
- "id",
2919
- "kind",
2920
- "direction",
2921
- "from",
2922
- "to"
2923
- ],
2924
- "type": "object"
2925
- },
2926
- "minItems": 0,
2927
- "type": "array"
2928
- }
2929
- },
2930
- "required": [
2931
- "id",
2932
- "name",
2933
- "canvas",
2934
- "audience",
2935
- "question",
2936
- "intendedViewingSize",
2937
- "contentSlots",
2938
- "components",
2939
- "groups",
2940
- "readingOrder",
2941
- "paintOrder",
2942
- "relationships"
2943
- ],
2944
- "type": "object"
2945
- },
2946
- "minItems": 1,
2947
- "type": "array"
2948
- },
2949
- "theme": {
2950
- "additionalProperties": false,
2951
- "properties": {
2952
- "id": {
2953
- "enum": [
2954
- "plex",
2955
- "precision",
2956
- "editorial",
2957
- "blue-cyan",
2958
- "orange-coral",
2959
- "yellow",
2960
- "green",
2961
- "graphite"
2962
- ],
2963
- "type": "string"
2964
- },
2965
- "mode": {
2966
- "enum": [
2967
- "paper",
2968
- "night"
2969
- ],
2970
- "type": "string"
2971
- },
2972
- "typography": {
2973
- "enum": [
2974
- "plex-sans",
2975
- "noto-sans",
2976
- "plex-serif",
2977
- "hanken-grotesk"
2978
- ],
2979
- "type": "string"
2980
- }
2981
- },
2982
- "required": [
2983
- "id",
2984
- "mode"
2985
- ],
2986
- "type": "object"
2987
- },
2988
- "title": {
2989
- "minLength": 1,
2990
- "pattern": "\\S",
2991
- "type": "string"
2992
- }
2993
- },
2994
- "required": [
2995
- "schema",
2996
- "title",
2997
- "slides"
2998
- ],
2999
- "title": "konpeki-composition/v1",
3000
- "type": "object"
3001
- }