konpeki 0.1.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 (121) hide show
  1. package/.agents/skills/authoring-visuals/SKILL.md +82 -0
  2. package/AGENTS.md +33 -0
  3. package/AUTHORING.md +233 -0
  4. package/LICENSE +201 -0
  5. package/README.md +70 -0
  6. package/SETUP.md +86 -0
  7. package/composition/README.md +166 -0
  8. package/composition/compile.ts +227 -0
  9. package/composition/document.ts +709 -0
  10. package/composition/schema.json +2992 -0
  11. package/composition/schema.ts +435 -0
  12. package/composition/theme-tokens.ts +16 -0
  13. package/composition/types.ts +286 -0
  14. package/composition/validate.ts +684 -0
  15. package/composition/vector.ts +143 -0
  16. package/composition/visualizations.ts +335 -0
  17. package/design/README.md +17 -0
  18. package/design/palettes/README.md +14 -0
  19. package/design/palettes/base.ts +14 -0
  20. package/design/palettes/candidates.ts +19 -0
  21. package/design/palettes/index.ts +78 -0
  22. package/design/review/color-theme.md +44 -0
  23. package/design/review/layout.md +16 -0
  24. package/design/review/text.md +18 -0
  25. package/design/review/typography.md +15 -0
  26. package/design/review/visuals.md +31 -0
  27. package/design/semantic-patterns.md +43 -0
  28. package/design/themes/README.md +22 -0
  29. package/design/themes/index.ts +13 -0
  30. package/design/visual-languages/technical-product.md +17 -0
  31. package/design/visual-review.md +88 -0
  32. package/docs/development.md +140 -0
  33. package/docs/workflow.md +61 -0
  34. package/index.html +17 -0
  35. package/lib/assets.d.ts +8 -0
  36. package/lib/charts.ts +18 -0
  37. package/lib/contrast.ts +16 -0
  38. package/lib/layouts.ts +50 -0
  39. package/lib/slide.tsx +42 -0
  40. package/lib/taste.ts +17 -0
  41. package/lib/text.tsx +89 -0
  42. package/lib/typeface.ts +44 -0
  43. package/package.json +85 -0
  44. package/runtime/konpeki.mjs +1685 -0
  45. package/scripts/migrate-react-page.ts +120 -0
  46. package/slides/README.md +153 -0
  47. package/slides/architecture/PROMPT.md +31 -0
  48. package/slides/architecture/index.tsx +102 -0
  49. package/slides/article-brief/PROMPT.md +35 -0
  50. package/slides/article-brief/index.tsx +71 -0
  51. package/slides/bar-chart/PROMPT.md +39 -0
  52. package/slides/bar-chart/index.tsx +97 -0
  53. package/slides/comparison/PROMPT.md +29 -0
  54. package/slides/comparison/index.tsx +95 -0
  55. package/slides/decision-memo/PROMPT.md +34 -0
  56. package/slides/decision-memo/index.tsx +85 -0
  57. package/slides/delivery-plan/PROMPT.md +45 -0
  58. package/slides/delivery-plan/index.tsx +105 -0
  59. package/slides/experiment/PROMPT.md +44 -0
  60. package/slides/experiment/index.tsx +127 -0
  61. package/slides/incident-workflow/PROMPT.md +57 -0
  62. package/slides/incident-workflow/index.tsx +78 -0
  63. package/slides/introducing-konpeki/PROMPT.md +19 -0
  64. package/slides/introducing-konpeki/README.md +54 -0
  65. package/slides/introducing-konpeki/SOURCE.md +20 -0
  66. package/slides/introducing-konpeki/author.ts +163 -0
  67. package/slides/introducing-konpeki/composition.json +3265 -0
  68. package/slides/line-chart/PROMPT.md +40 -0
  69. package/slides/line-chart/index.tsx +72 -0
  70. package/slides/migration/PROMPT.md +38 -0
  71. package/slides/migration/index.tsx +89 -0
  72. package/slides/og-images/PROMPT.md +21 -0
  73. package/slides/og-images/index.tsx +76 -0
  74. package/slides/product-introduction/PROMPT.md +24 -0
  75. package/slides/product-introduction/index.tsx +105 -0
  76. package/slides/research-brief/PROMPT.md +40 -0
  77. package/slides/research-brief/index.tsx +104 -0
  78. package/slides/results-explanation/PROMPT.md +32 -0
  79. package/slides/results-explanation/index.tsx +96 -0
  80. package/slides/retrospective/PROMPT.md +43 -0
  81. package/slides/retrospective/index.tsx +105 -0
  82. package/slides/sankey/PROMPT.md +11 -0
  83. package/slides/sankey/index.tsx +93 -0
  84. package/slides/teaching/PROMPT.md +45 -0
  85. package/slides/teaching/index.tsx +124 -0
  86. package/slides/vertical-bar-charts/PROMPT.md +13 -0
  87. package/slides/vertical-bar-charts/index.tsx +97 -0
  88. package/src/app/App.tsx +694 -0
  89. package/src/assets/konpeki-mark.png +0 -0
  90. package/src/components/Canvas.tsx +1168 -0
  91. package/src/components/DiagramTypeIcon.tsx +78 -0
  92. package/src/components/InspectorPanel.tsx +687 -0
  93. package/src/components/LeftPanel.tsx +107 -0
  94. package/src/components/PageSizePicker.tsx +30 -0
  95. package/src/components/Presentation.tsx +105 -0
  96. package/src/components/RightPanel.tsx +201 -0
  97. package/src/components/VectorOverflowWarning.tsx +46 -0
  98. package/src/components/WorkspaceChrome.tsx +199 -0
  99. package/src/components/ui.tsx +53 -0
  100. package/src/lib/examples/react-page-migration.json +1295 -0
  101. package/src/lib/examples.ts +42 -0
  102. package/src/lib/export-png.ts +101 -0
  103. package/src/lib/file-session.ts +74 -0
  104. package/src/lib/history.ts +53 -0
  105. package/src/lib/model.ts +188 -0
  106. package/src/lib/page-size.ts +24 -0
  107. package/src/lib/presentation.ts +17 -0
  108. package/src/lib/storage.ts +43 -0
  109. package/src/lib/theme.ts +25 -0
  110. package/src/lib/use-file-session.ts +162 -0
  111. package/src/main.tsx +26 -0
  112. package/src/styles/base.css +105 -0
  113. package/src/styles/canvas.css +268 -0
  114. package/src/styles/chrome.css +214 -0
  115. package/src/styles/component-previews.css +386 -0
  116. package/src/styles/feedback.css +71 -0
  117. package/src/styles/left-panel.css +125 -0
  118. package/src/styles/presentation.css +72 -0
  119. package/src/styles/right-panel.css +1172 -0
  120. package/src/styles/shell.css +247 -0
  121. package/vite.config.ts +6 -0
@@ -0,0 +1,3265 @@
1
+ {
2
+ "schema": "konpeki-composition/v16",
3
+ "title": "Introducing Konpeki",
4
+ "authoringMode": "default",
5
+ "theme": {
6
+ "id": "plex",
7
+ "mode": "paper"
8
+ },
9
+ "slides": [
10
+ {
11
+ "id": "introduction",
12
+ "name": "Meet Konpeki",
13
+ "canvas": {
14
+ "width": 1920,
15
+ "height": 1080
16
+ },
17
+ "innerPadding": {
18
+ "top": 72,
19
+ "right": 112,
20
+ "bottom": 0,
21
+ "left": 112
22
+ },
23
+ "pageNumber": {
24
+ "style": "01/02",
25
+ "color": "muted"
26
+ },
27
+ "audience": "People and coding-agent users discovering Konpeki",
28
+ "question": "What is Konpeki?",
29
+ "intendedViewingSize": "presentation",
30
+ "components": [
31
+ {
32
+ "id": "brand",
33
+ "kind": "text-block",
34
+ "preferredRect": {
35
+ "x": 112,
36
+ "y": 140,
37
+ "width": 820,
38
+ "height": 177
39
+ },
40
+ "slotIds": [
41
+ "brand-content"
42
+ ],
43
+ "intent": "Konpeki",
44
+ "content": "Konpeki",
45
+ "textStyle": {
46
+ "size": 112,
47
+ "weight": 600,
48
+ "lineHeight": 1.4,
49
+ "color": "accent",
50
+ "font": "heading"
51
+ },
52
+ "appearance": {
53
+ "role": "title",
54
+ "alignment": "start",
55
+ "border": "none",
56
+ "layout": "single",
57
+ "orientation": "horizontal",
58
+ "purpose": "narrative",
59
+ "treatment": "plain",
60
+ "logicalOrder": "none",
61
+ "titleStyle": "plain",
62
+ "rule": "none"
63
+ }
64
+ },
65
+ {
66
+ "id": "promise",
67
+ "kind": "text-block",
68
+ "preferredRect": {
69
+ "x": 112,
70
+ "y": 328,
71
+ "width": 960,
72
+ "height": 177
73
+ },
74
+ "slotIds": [
75
+ "promise-content"
76
+ ],
77
+ "intent": "A shared slide canvas for people and coding agents.",
78
+ "content": "A shared slide canvas\nfor people and coding agents.",
79
+ "textStyle": {
80
+ "size": 56,
81
+ "weight": 500,
82
+ "lineHeight": 1.4,
83
+ "color": "ink",
84
+ "font": "heading"
85
+ },
86
+ "appearance": {
87
+ "role": "body",
88
+ "alignment": "start",
89
+ "border": "none",
90
+ "layout": "single",
91
+ "orientation": "horizontal",
92
+ "purpose": "narrative",
93
+ "treatment": "plain",
94
+ "logicalOrder": "none",
95
+ "titleStyle": "plain",
96
+ "rule": "none"
97
+ }
98
+ },
99
+ {
100
+ "id": "summary",
101
+ "kind": "text-block",
102
+ "preferredRect": {
103
+ "x": 112,
104
+ "y": 548,
105
+ "width": 870,
106
+ "height": 121
107
+ },
108
+ "slotIds": [
109
+ "summary-content"
110
+ ],
111
+ "intent": "Sketch the idea. Generate the detail. Keep revising the same document.",
112
+ "content": "Sketch the idea. Generate the detail.\nKeep revising the same document.",
113
+ "textStyle": {
114
+ "size": 36,
115
+ "weight": 400,
116
+ "lineHeight": 1.4,
117
+ "color": "muted",
118
+ "font": "body"
119
+ },
120
+ "appearance": {
121
+ "role": "body",
122
+ "alignment": "start",
123
+ "border": "none",
124
+ "layout": "single",
125
+ "orientation": "horizontal",
126
+ "purpose": "narrative",
127
+ "treatment": "plain",
128
+ "logicalOrder": "none",
129
+ "titleStyle": "plain",
130
+ "rule": "none"
131
+ }
132
+ },
133
+ {
134
+ "id": "shared-canvas",
135
+ "kind": "diagram",
136
+ "preferredRect": {
137
+ "x": 1090,
138
+ "y": 185,
139
+ "width": 700,
140
+ "height": 590
141
+ },
142
+ "slotIds": [
143
+ "shared-canvas-content"
144
+ ],
145
+ "intent": "A single editable composition contains a headline, diagram and supporting text; people and agents revise it.",
146
+ "appearance": {
147
+ "type": "process",
148
+ "border": "none",
149
+ "colorScheme": "monochrome",
150
+ "emphasis": "none",
151
+ "density": "sparse"
152
+ },
153
+ "customVisual": {
154
+ "format": "vector",
155
+ "viewBox": {
156
+ "x": 0,
157
+ "y": 0,
158
+ "width": 700,
159
+ "height": 590
160
+ },
161
+ "fit": "contain",
162
+ "description": "A single editable composition contains a headline, diagram and supporting text; people and agents revise it.",
163
+ "elements": [
164
+ {
165
+ "id": "canvas-frame",
166
+ "kind": "rect",
167
+ "attributes": {
168
+ "x": 8,
169
+ "y": 25,
170
+ "width": 670,
171
+ "height": 395,
172
+ "rx": 4,
173
+ "fill": "theme:background",
174
+ "stroke": "theme:divider",
175
+ "stroke-width": 2
176
+ }
177
+ },
178
+ {
179
+ "id": "canvas-title",
180
+ "kind": "text",
181
+ "text": "An idea, made clear",
182
+ "attributes": {
183
+ "x": 45,
184
+ "y": 93,
185
+ "font-family": "theme:body-font",
186
+ "font-size": 36,
187
+ "font-weight": 500,
188
+ "fill": "theme:ink"
189
+ }
190
+ },
191
+ {
192
+ "id": "headline-rule",
193
+ "kind": "path",
194
+ "attributes": {
195
+ "d": "M45 120H640",
196
+ "fill": "none",
197
+ "stroke": "theme:divider",
198
+ "stroke-width": 2,
199
+ "stroke-linecap": "round",
200
+ "stroke-linejoin": "round"
201
+ }
202
+ },
203
+ {
204
+ "id": "source-node",
205
+ "kind": "rect",
206
+ "attributes": {
207
+ "x": 50,
208
+ "y": 183,
209
+ "width": 160,
210
+ "height": 90,
211
+ "rx": 4,
212
+ "fill": "theme:background",
213
+ "stroke": "theme:accent",
214
+ "stroke-width": 2
215
+ }
216
+ },
217
+ {
218
+ "id": "result-node",
219
+ "kind": "rect",
220
+ "attributes": {
221
+ "x": 310,
222
+ "y": 183,
223
+ "width": 320,
224
+ "height": 90,
225
+ "rx": 4,
226
+ "fill": "theme:background",
227
+ "stroke": "theme:accent",
228
+ "stroke-width": 2
229
+ }
230
+ },
231
+ {
232
+ "id": "source-label",
233
+ "kind": "text",
234
+ "text": "Idea",
235
+ "attributes": {
236
+ "x": 98,
237
+ "y": 239,
238
+ "font-family": "theme:body-font",
239
+ "font-size": 28,
240
+ "font-weight": 400,
241
+ "fill": "theme:ink"
242
+ }
243
+ },
244
+ {
245
+ "id": "result-label",
246
+ "kind": "text",
247
+ "text": "Explanation",
248
+ "attributes": {
249
+ "x": 382,
250
+ "y": 239,
251
+ "font-family": "theme:body-font",
252
+ "font-size": 28,
253
+ "font-weight": 400,
254
+ "fill": "theme:ink"
255
+ }
256
+ },
257
+ {
258
+ "id": "connection",
259
+ "kind": "path",
260
+ "attributes": {
261
+ "d": "M228 228H292M278 216L292 228L278 240",
262
+ "fill": "none",
263
+ "stroke": "theme:accent",
264
+ "stroke-width": 3,
265
+ "stroke-linecap": "round",
266
+ "stroke-linejoin": "round"
267
+ }
268
+ },
269
+ {
270
+ "id": "body-lines",
271
+ "kind": "path",
272
+ "attributes": {
273
+ "d": "M50 323H395M50 351H525",
274
+ "fill": "none",
275
+ "stroke": "theme:divider",
276
+ "stroke-width": 8,
277
+ "stroke-linecap": "round",
278
+ "stroke-linejoin": "round"
279
+ }
280
+ },
281
+ {
282
+ "id": "document-label",
283
+ "kind": "text",
284
+ "text": "composition.json",
285
+ "attributes": {
286
+ "x": 178,
287
+ "y": 484,
288
+ "font-family": "theme:body-font",
289
+ "font-size": 32,
290
+ "font-weight": 500,
291
+ "fill": "theme:accent"
292
+ }
293
+ },
294
+ {
295
+ "id": "participants",
296
+ "kind": "text",
297
+ "text": "Human edits + agent revisions",
298
+ "attributes": {
299
+ "x": 116,
300
+ "y": 548,
301
+ "font-family": "theme:body-font",
302
+ "font-size": 28,
303
+ "font-weight": 400,
304
+ "fill": "theme:muted"
305
+ }
306
+ }
307
+ ]
308
+ }
309
+ },
310
+ {
311
+ "id": "intro-note",
312
+ "kind": "text-block",
313
+ "preferredRect": {
314
+ "x": 112,
315
+ "y": 870,
316
+ "width": 1696,
317
+ "height": 68
318
+ },
319
+ "slotIds": [
320
+ "intro-note-content"
321
+ ],
322
+ "intent": "For technical explanations, product stories and decision decks.",
323
+ "content": "For technical explanations, product stories and decision decks.",
324
+ "textStyle": {
325
+ "size": 34,
326
+ "weight": 400,
327
+ "lineHeight": 1.4,
328
+ "color": "ink",
329
+ "font": "body"
330
+ },
331
+ "appearance": {
332
+ "role": "body",
333
+ "alignment": "start",
334
+ "border": "none",
335
+ "layout": "single",
336
+ "orientation": "horizontal",
337
+ "purpose": "narrative",
338
+ "treatment": "plain",
339
+ "logicalOrder": "none",
340
+ "titleStyle": "plain",
341
+ "rule": "none"
342
+ }
343
+ }
344
+ ],
345
+ "contentSlots": [
346
+ {
347
+ "id": "brand-content",
348
+ "label": "brand",
349
+ "role": "body",
350
+ "required": true,
351
+ "instruction": "Konpeki"
352
+ },
353
+ {
354
+ "id": "promise-content",
355
+ "label": "promise",
356
+ "role": "body",
357
+ "required": true,
358
+ "instruction": "A shared slide canvas for people and coding agents."
359
+ },
360
+ {
361
+ "id": "summary-content",
362
+ "label": "summary",
363
+ "role": "body",
364
+ "required": true,
365
+ "instruction": "Sketch the idea. Generate the detail. Keep revising the same document."
366
+ },
367
+ {
368
+ "id": "shared-canvas-content",
369
+ "label": "shared-canvas",
370
+ "role": "body",
371
+ "required": true,
372
+ "instruction": "A single editable composition contains a headline, diagram and supporting text; people and agents revise it."
373
+ },
374
+ {
375
+ "id": "intro-note-content",
376
+ "label": "intro-note",
377
+ "role": "body",
378
+ "required": true,
379
+ "instruction": "For technical explanations, product stories and decision decks."
380
+ }
381
+ ],
382
+ "groups": [],
383
+ "readingOrder": [
384
+ {
385
+ "kind": "component",
386
+ "id": "brand"
387
+ },
388
+ {
389
+ "kind": "component",
390
+ "id": "promise"
391
+ },
392
+ {
393
+ "kind": "component",
394
+ "id": "summary"
395
+ },
396
+ {
397
+ "kind": "component",
398
+ "id": "shared-canvas"
399
+ },
400
+ {
401
+ "kind": "component",
402
+ "id": "intro-note"
403
+ }
404
+ ],
405
+ "paintOrder": [
406
+ "brand",
407
+ "promise",
408
+ "summary",
409
+ "shared-canvas",
410
+ "intro-note"
411
+ ],
412
+ "relationships": []
413
+ },
414
+ {
415
+ "id": "workflow",
416
+ "name": "A round-trip workflow",
417
+ "canvas": {
418
+ "width": 1920,
419
+ "height": 1080
420
+ },
421
+ "innerPadding": {
422
+ "top": 72,
423
+ "right": 112,
424
+ "bottom": 0,
425
+ "left": 112
426
+ },
427
+ "pageNumber": {
428
+ "style": "01/02",
429
+ "color": "muted"
430
+ },
431
+ "audience": "People and coding-agent users discovering Konpeki",
432
+ "question": "How do a person and an agent work together?",
433
+ "intendedViewingSize": "presentation",
434
+ "components": [
435
+ {
436
+ "id": "workflow-title",
437
+ "kind": "text-block",
438
+ "preferredRect": {
439
+ "x": 112,
440
+ "y": 88,
441
+ "width": 1696,
442
+ "height": 107
443
+ },
444
+ "slotIds": [
445
+ "workflow-title-content"
446
+ ],
447
+ "intent": "A handoff that comes back to the canvas",
448
+ "content": "A handoff that comes back to the canvas",
449
+ "textStyle": {
450
+ "size": 62,
451
+ "weight": 600,
452
+ "lineHeight": 1.4,
453
+ "color": "ink",
454
+ "font": "heading"
455
+ },
456
+ "appearance": {
457
+ "role": "title",
458
+ "alignment": "start",
459
+ "border": "none",
460
+ "layout": "single",
461
+ "orientation": "horizontal",
462
+ "purpose": "narrative",
463
+ "treatment": "plain",
464
+ "logicalOrder": "none",
465
+ "titleStyle": "plain",
466
+ "rule": "none"
467
+ }
468
+ },
469
+ {
470
+ "id": "workflow-subtitle",
471
+ "kind": "text-block",
472
+ "preferredRect": {
473
+ "x": 112,
474
+ "y": 184,
475
+ "width": 1696,
476
+ "height": 65
477
+ },
478
+ "slotIds": [
479
+ "workflow-subtitle-content"
480
+ ],
481
+ "intent": "The agent works on the document you can keep editing.",
482
+ "content": "The agent works on the document you can keep editing.",
483
+ "textStyle": {
484
+ "size": 32,
485
+ "weight": 400,
486
+ "lineHeight": 1.4,
487
+ "color": "muted",
488
+ "font": "body"
489
+ },
490
+ "appearance": {
491
+ "role": "body",
492
+ "alignment": "start",
493
+ "border": "none",
494
+ "layout": "single",
495
+ "orientation": "horizontal",
496
+ "purpose": "narrative",
497
+ "treatment": "plain",
498
+ "logicalOrder": "none",
499
+ "titleStyle": "plain",
500
+ "rule": "none"
501
+ }
502
+ },
503
+ {
504
+ "id": "roundtrip",
505
+ "kind": "diagram",
506
+ "preferredRect": {
507
+ "x": 112,
508
+ "y": 342,
509
+ "width": 1696,
510
+ "height": 470
511
+ },
512
+ "slotIds": [
513
+ "roundtrip-content"
514
+ ],
515
+ "intent": "Draft on the canvas, download composition JSON, ask a coding agent to revise it, then open the returned JSON and present. Further edits repeat this loop.",
516
+ "appearance": {
517
+ "type": "process",
518
+ "border": "none",
519
+ "colorScheme": "monochrome",
520
+ "emphasis": "none",
521
+ "density": "sparse"
522
+ },
523
+ "customVisual": {
524
+ "format": "vector",
525
+ "viewBox": {
526
+ "x": 0,
527
+ "y": 0,
528
+ "width": 1696,
529
+ "height": 470
530
+ },
531
+ "fit": "contain",
532
+ "description": "Draft on the canvas, download composition JSON, ask a coding agent to revise it, then open the returned JSON and present. Further edits repeat this loop.",
533
+ "elements": [
534
+ {
535
+ "id": "number-0",
536
+ "kind": "text",
537
+ "text": "01",
538
+ "attributes": {
539
+ "x": 0,
540
+ "y": 48,
541
+ "font-family": "theme:body-font",
542
+ "font-size": 26,
543
+ "font-weight": 500,
544
+ "fill": "theme:accent"
545
+ }
546
+ },
547
+ {
548
+ "id": "step-0",
549
+ "kind": "text",
550
+ "text": "Draft",
551
+ "attributes": {
552
+ "x": 0,
553
+ "y": 122,
554
+ "font-family": "theme:body-font",
555
+ "font-size": 42,
556
+ "font-weight": 500,
557
+ "fill": "theme:ink"
558
+ }
559
+ },
560
+ {
561
+ "id": "detail-a-0",
562
+ "kind": "text",
563
+ "text": "Place components.",
564
+ "attributes": {
565
+ "x": 0,
566
+ "y": 190,
567
+ "font-family": "theme:body-font",
568
+ "font-size": 29,
569
+ "font-weight": 400,
570
+ "fill": "theme:muted"
571
+ }
572
+ },
573
+ {
574
+ "id": "detail-b-0",
575
+ "kind": "text",
576
+ "text": "Describe the intent.",
577
+ "attributes": {
578
+ "x": 0,
579
+ "y": 234,
580
+ "font-family": "theme:body-font",
581
+ "font-size": 29,
582
+ "font-weight": 400,
583
+ "fill": "theme:muted"
584
+ }
585
+ },
586
+ {
587
+ "id": "handoff-0",
588
+ "kind": "path",
589
+ "attributes": {
590
+ "d": "M338 109H398M384 97L398 109L384 121",
591
+ "fill": "none",
592
+ "stroke": "theme:accent",
593
+ "stroke-width": 3,
594
+ "stroke-linecap": "round",
595
+ "stroke-linejoin": "round"
596
+ }
597
+ },
598
+ {
599
+ "id": "number-1",
600
+ "kind": "text",
601
+ "text": "02",
602
+ "attributes": {
603
+ "x": 438,
604
+ "y": 48,
605
+ "font-family": "theme:body-font",
606
+ "font-size": 26,
607
+ "font-weight": 500,
608
+ "fill": "theme:accent"
609
+ }
610
+ },
611
+ {
612
+ "id": "step-1",
613
+ "kind": "text",
614
+ "text": "Download",
615
+ "attributes": {
616
+ "x": 438,
617
+ "y": 122,
618
+ "font-family": "theme:body-font",
619
+ "font-size": 42,
620
+ "font-weight": 500,
621
+ "fill": "theme:ink"
622
+ }
623
+ },
624
+ {
625
+ "id": "detail-a-1",
626
+ "kind": "text",
627
+ "text": "Save the editable",
628
+ "attributes": {
629
+ "x": 438,
630
+ "y": 190,
631
+ "font-family": "theme:body-font",
632
+ "font-size": 29,
633
+ "font-weight": 400,
634
+ "fill": "theme:muted"
635
+ }
636
+ },
637
+ {
638
+ "id": "detail-b-1",
639
+ "kind": "text",
640
+ "text": "composition JSON.",
641
+ "attributes": {
642
+ "x": 438,
643
+ "y": 234,
644
+ "font-family": "theme:body-font",
645
+ "font-size": 29,
646
+ "font-weight": 400,
647
+ "fill": "theme:muted"
648
+ }
649
+ },
650
+ {
651
+ "id": "handoff-1",
652
+ "kind": "path",
653
+ "attributes": {
654
+ "d": "M776 109H836M822 97L836 109L822 121",
655
+ "fill": "none",
656
+ "stroke": "theme:accent",
657
+ "stroke-width": 3,
658
+ "stroke-linecap": "round",
659
+ "stroke-linejoin": "round"
660
+ }
661
+ },
662
+ {
663
+ "id": "number-2",
664
+ "kind": "text",
665
+ "text": "03",
666
+ "attributes": {
667
+ "x": 876,
668
+ "y": 48,
669
+ "font-family": "theme:body-font",
670
+ "font-size": 26,
671
+ "font-weight": 500,
672
+ "fill": "theme:accent"
673
+ }
674
+ },
675
+ {
676
+ "id": "step-2",
677
+ "kind": "text",
678
+ "text": "Agent revises",
679
+ "attributes": {
680
+ "x": 876,
681
+ "y": 122,
682
+ "font-family": "theme:body-font",
683
+ "font-size": 42,
684
+ "font-weight": 500,
685
+ "fill": "theme:ink"
686
+ }
687
+ },
688
+ {
689
+ "id": "detail-a-2",
690
+ "kind": "text",
691
+ "text": "Return a completed",
692
+ "attributes": {
693
+ "x": 876,
694
+ "y": 190,
695
+ "font-family": "theme:body-font",
696
+ "font-size": 29,
697
+ "font-weight": 400,
698
+ "fill": "theme:muted"
699
+ }
700
+ },
701
+ {
702
+ "id": "detail-b-2",
703
+ "kind": "text",
704
+ "text": "composition JSON.",
705
+ "attributes": {
706
+ "x": 876,
707
+ "y": 234,
708
+ "font-family": "theme:body-font",
709
+ "font-size": 29,
710
+ "font-weight": 400,
711
+ "fill": "theme:muted"
712
+ }
713
+ },
714
+ {
715
+ "id": "handoff-2",
716
+ "kind": "path",
717
+ "attributes": {
718
+ "d": "M1214 109H1274M1260 97L1274 109L1260 121",
719
+ "fill": "none",
720
+ "stroke": "theme:accent",
721
+ "stroke-width": 3,
722
+ "stroke-linecap": "round",
723
+ "stroke-linejoin": "round"
724
+ }
725
+ },
726
+ {
727
+ "id": "number-3",
728
+ "kind": "text",
729
+ "text": "04",
730
+ "attributes": {
731
+ "x": 1314,
732
+ "y": 48,
733
+ "font-family": "theme:body-font",
734
+ "font-size": 26,
735
+ "font-weight": 500,
736
+ "fill": "theme:accent"
737
+ }
738
+ },
739
+ {
740
+ "id": "step-3",
741
+ "kind": "text",
742
+ "text": "Open + present",
743
+ "attributes": {
744
+ "x": 1314,
745
+ "y": 122,
746
+ "font-family": "theme:body-font",
747
+ "font-size": 42,
748
+ "font-weight": 500,
749
+ "fill": "theme:ink"
750
+ }
751
+ },
752
+ {
753
+ "id": "detail-a-3",
754
+ "kind": "text",
755
+ "text": "Review the result.",
756
+ "attributes": {
757
+ "x": 1314,
758
+ "y": 190,
759
+ "font-family": "theme:body-font",
760
+ "font-size": 29,
761
+ "font-weight": 400,
762
+ "fill": "theme:muted"
763
+ }
764
+ },
765
+ {
766
+ "id": "detail-b-3",
767
+ "kind": "text",
768
+ "text": "Make the next edit.",
769
+ "attributes": {
770
+ "x": 1314,
771
+ "y": 234,
772
+ "font-family": "theme:body-font",
773
+ "font-size": 29,
774
+ "font-weight": 400,
775
+ "fill": "theme:muted"
776
+ }
777
+ },
778
+ {
779
+ "id": "revision-loop",
780
+ "kind": "path",
781
+ "attributes": {
782
+ "d": "M1510 285V365H115V285M103 299L115 285L127 299",
783
+ "fill": "none",
784
+ "stroke": "theme:accent",
785
+ "stroke-width": 3,
786
+ "stroke-linecap": "round",
787
+ "stroke-linejoin": "round"
788
+ }
789
+ },
790
+ {
791
+ "id": "loop-label",
792
+ "kind": "text",
793
+ "text": "Revisions stay in the same editable format",
794
+ "attributes": {
795
+ "x": 490,
796
+ "y": 431,
797
+ "font-family": "theme:body-font",
798
+ "font-size": 32,
799
+ "font-weight": 400,
800
+ "fill": "theme:accent"
801
+ }
802
+ }
803
+ ]
804
+ }
805
+ },
806
+ {
807
+ "id": "workflow-note",
808
+ "kind": "text-block",
809
+ "preferredRect": {
810
+ "x": 112,
811
+ "y": 870,
812
+ "width": 1696,
813
+ "height": 68
814
+ },
815
+ "slotIds": [
816
+ "workflow-note-content"
817
+ ],
818
+ "intent": "Use your coding agent alongside Konpeki; bring its returned JSON back to the canvas.",
819
+ "content": "Use your coding agent alongside Konpeki; bring its returned JSON back to the canvas.",
820
+ "textStyle": {
821
+ "size": 34,
822
+ "weight": 400,
823
+ "lineHeight": 1.4,
824
+ "color": "ink",
825
+ "font": "body"
826
+ },
827
+ "appearance": {
828
+ "role": "body",
829
+ "alignment": "start",
830
+ "border": "none",
831
+ "layout": "single",
832
+ "orientation": "horizontal",
833
+ "purpose": "narrative",
834
+ "treatment": "plain",
835
+ "logicalOrder": "none",
836
+ "titleStyle": "plain",
837
+ "rule": "none"
838
+ }
839
+ }
840
+ ],
841
+ "contentSlots": [
842
+ {
843
+ "id": "workflow-title-content",
844
+ "label": "workflow-title",
845
+ "role": "body",
846
+ "required": true,
847
+ "instruction": "A handoff that comes back to the canvas"
848
+ },
849
+ {
850
+ "id": "workflow-subtitle-content",
851
+ "label": "workflow-subtitle",
852
+ "role": "body",
853
+ "required": true,
854
+ "instruction": "The agent works on the document you can keep editing."
855
+ },
856
+ {
857
+ "id": "roundtrip-content",
858
+ "label": "roundtrip",
859
+ "role": "body",
860
+ "required": true,
861
+ "instruction": "Draft on the canvas, download composition JSON, ask a coding agent to revise it, then open the returned JSON and present. Further edits repeat this loop."
862
+ },
863
+ {
864
+ "id": "workflow-note-content",
865
+ "label": "workflow-note",
866
+ "role": "body",
867
+ "required": true,
868
+ "instruction": "Use your coding agent alongside Konpeki; bring its returned JSON back to the canvas."
869
+ }
870
+ ],
871
+ "groups": [],
872
+ "readingOrder": [
873
+ {
874
+ "kind": "component",
875
+ "id": "workflow-title"
876
+ },
877
+ {
878
+ "kind": "component",
879
+ "id": "workflow-subtitle"
880
+ },
881
+ {
882
+ "kind": "component",
883
+ "id": "roundtrip"
884
+ },
885
+ {
886
+ "kind": "component",
887
+ "id": "workflow-note"
888
+ }
889
+ ],
890
+ "paintOrder": [
891
+ "workflow-title",
892
+ "workflow-subtitle",
893
+ "roundtrip",
894
+ "workflow-note"
895
+ ],
896
+ "relationships": []
897
+ },
898
+ {
899
+ "id": "components",
900
+ "name": "Five semantic components",
901
+ "canvas": {
902
+ "width": 1920,
903
+ "height": 1080
904
+ },
905
+ "innerPadding": {
906
+ "top": 72,
907
+ "right": 112,
908
+ "bottom": 0,
909
+ "left": 112
910
+ },
911
+ "pageNumber": {
912
+ "style": "01/02",
913
+ "color": "muted"
914
+ },
915
+ "audience": "People and coding-agent users discovering Konpeki",
916
+ "question": "What can a slide contain?",
917
+ "intendedViewingSize": "presentation",
918
+ "components": [
919
+ {
920
+ "id": "components-title",
921
+ "kind": "text-block",
922
+ "preferredRect": {
923
+ "x": 112,
924
+ "y": 88,
925
+ "width": 1696,
926
+ "height": 107
927
+ },
928
+ "slotIds": [
929
+ "components-title-content"
930
+ ],
931
+ "intent": "Five components. One composition.",
932
+ "content": "Five components. One composition.",
933
+ "textStyle": {
934
+ "size": 62,
935
+ "weight": 600,
936
+ "lineHeight": 1.4,
937
+ "color": "ink",
938
+ "font": "heading"
939
+ },
940
+ "appearance": {
941
+ "role": "title",
942
+ "alignment": "start",
943
+ "border": "none",
944
+ "layout": "single",
945
+ "orientation": "horizontal",
946
+ "purpose": "narrative",
947
+ "treatment": "plain",
948
+ "logicalOrder": "none",
949
+ "titleStyle": "plain",
950
+ "rule": "none"
951
+ }
952
+ },
953
+ {
954
+ "id": "components-subtitle",
955
+ "kind": "text-block",
956
+ "preferredRect": {
957
+ "x": 112,
958
+ "y": 184,
959
+ "width": 1696,
960
+ "height": 65
961
+ },
962
+ "slotIds": [
963
+ "components-subtitle-content"
964
+ ],
965
+ "intent": "Each component keeps its meaning, outer geometry and editable interior.",
966
+ "content": "Each component keeps its meaning, outer geometry and editable interior.",
967
+ "textStyle": {
968
+ "size": 32,
969
+ "weight": 400,
970
+ "lineHeight": 1.4,
971
+ "color": "muted",
972
+ "font": "body"
973
+ },
974
+ "appearance": {
975
+ "role": "body",
976
+ "alignment": "start",
977
+ "border": "none",
978
+ "layout": "single",
979
+ "orientation": "horizontal",
980
+ "purpose": "narrative",
981
+ "treatment": "plain",
982
+ "logicalOrder": "none",
983
+ "titleStyle": "plain",
984
+ "rule": "none"
985
+ }
986
+ },
987
+ {
988
+ "id": "text-specimen",
989
+ "kind": "text-block",
990
+ "preferredRect": {
991
+ "x": 112,
992
+ "y": 360,
993
+ "width": 296,
994
+ "height": 360
995
+ },
996
+ "slotIds": [
997
+ "text-specimen-content"
998
+ ],
999
+ "intent": "Text block: headlines, body text, captions and footnotes.",
1000
+ "content": "Text",
1001
+ "textStyle": {
1002
+ "size": 36,
1003
+ "weight": 400,
1004
+ "lineHeight": 1.4,
1005
+ "color": "ink",
1006
+ "font": "body"
1007
+ },
1008
+ "appearance": {
1009
+ "role": "body",
1010
+ "alignment": "start",
1011
+ "border": "none",
1012
+ "layout": "single",
1013
+ "orientation": "horizontal",
1014
+ "purpose": "narrative",
1015
+ "treatment": "plain",
1016
+ "logicalOrder": "none",
1017
+ "titleStyle": "plain",
1018
+ "rule": "none"
1019
+ },
1020
+ "customVisual": {
1021
+ "format": "vector",
1022
+ "viewBox": {
1023
+ "x": 0,
1024
+ "y": 0,
1025
+ "width": 296,
1026
+ "height": 360
1027
+ },
1028
+ "fit": "contain",
1029
+ "description": "Text block: headlines, body text, captions and footnotes.",
1030
+ "elements": [
1031
+ {
1032
+ "id": "label",
1033
+ "kind": "text",
1034
+ "text": "Text block",
1035
+ "attributes": {
1036
+ "x": 0,
1037
+ "y": 40,
1038
+ "font-family": "theme:body-font",
1039
+ "font-size": 38,
1040
+ "font-weight": 500,
1041
+ "fill": "theme:ink"
1042
+ }
1043
+ },
1044
+ {
1045
+ "id": "sample",
1046
+ "kind": "text",
1047
+ "text": "Aa",
1048
+ "attributes": {
1049
+ "x": 0,
1050
+ "y": 166,
1051
+ "font-family": "theme:heading-font",
1052
+ "font-size": 96,
1053
+ "font-weight": 400,
1054
+ "fill": "theme:accent"
1055
+ }
1056
+ },
1057
+ {
1058
+ "id": "detail-1",
1059
+ "kind": "text",
1060
+ "text": "Headlines, body",
1061
+ "attributes": {
1062
+ "x": 0,
1063
+ "y": 277,
1064
+ "font-family": "theme:body-font",
1065
+ "font-size": 28,
1066
+ "font-weight": 400,
1067
+ "fill": "theme:muted"
1068
+ }
1069
+ },
1070
+ {
1071
+ "id": "detail-2",
1072
+ "kind": "text",
1073
+ "text": "and captions",
1074
+ "attributes": {
1075
+ "x": 0,
1076
+ "y": 317,
1077
+ "font-family": "theme:body-font",
1078
+ "font-size": 28,
1079
+ "font-weight": 400,
1080
+ "fill": "theme:muted"
1081
+ }
1082
+ }
1083
+ ]
1084
+ }
1085
+ },
1086
+ {
1087
+ "id": "diagram-specimen",
1088
+ "kind": "diagram",
1089
+ "preferredRect": {
1090
+ "x": 462,
1091
+ "y": 360,
1092
+ "width": 296,
1093
+ "height": 360
1094
+ },
1095
+ "slotIds": [
1096
+ "diagram-specimen-content"
1097
+ ],
1098
+ "intent": "Diagram: entities and their relationships.",
1099
+ "appearance": {
1100
+ "type": "process",
1101
+ "border": "none",
1102
+ "colorScheme": "monochrome",
1103
+ "emphasis": "none",
1104
+ "density": "sparse"
1105
+ },
1106
+ "customVisual": {
1107
+ "format": "vector",
1108
+ "viewBox": {
1109
+ "x": 0,
1110
+ "y": 0,
1111
+ "width": 296,
1112
+ "height": 360
1113
+ },
1114
+ "fit": "contain",
1115
+ "description": "Diagram: entities and their relationships.",
1116
+ "elements": [
1117
+ {
1118
+ "id": "label",
1119
+ "kind": "text",
1120
+ "text": "Diagram",
1121
+ "attributes": {
1122
+ "x": 0,
1123
+ "y": 40,
1124
+ "font-family": "theme:body-font",
1125
+ "font-size": 38,
1126
+ "font-weight": 500,
1127
+ "fill": "theme:ink"
1128
+ }
1129
+ },
1130
+ {
1131
+ "id": "node-1",
1132
+ "kind": "rect",
1133
+ "attributes": {
1134
+ "x": 4,
1135
+ "y": 112,
1136
+ "width": 94,
1137
+ "height": 78,
1138
+ "rx": 4,
1139
+ "fill": "theme:background",
1140
+ "stroke": "theme:accent",
1141
+ "stroke-width": 2
1142
+ }
1143
+ },
1144
+ {
1145
+ "id": "node-2",
1146
+ "kind": "rect",
1147
+ "attributes": {
1148
+ "x": 195,
1149
+ "y": 112,
1150
+ "width": 94,
1151
+ "height": 78,
1152
+ "rx": 4,
1153
+ "fill": "theme:background",
1154
+ "stroke": "theme:accent",
1155
+ "stroke-width": 2
1156
+ }
1157
+ },
1158
+ {
1159
+ "id": "edge",
1160
+ "kind": "path",
1161
+ "attributes": {
1162
+ "d": "M112 151H181M167 139L181 151L167 163",
1163
+ "fill": "none",
1164
+ "stroke": "theme:accent",
1165
+ "stroke-width": 3,
1166
+ "stroke-linecap": "round",
1167
+ "stroke-linejoin": "round"
1168
+ }
1169
+ },
1170
+ {
1171
+ "id": "detail-1",
1172
+ "kind": "text",
1173
+ "text": "Entities and",
1174
+ "attributes": {
1175
+ "x": 0,
1176
+ "y": 277,
1177
+ "font-family": "theme:body-font",
1178
+ "font-size": 28,
1179
+ "font-weight": 400,
1180
+ "fill": "theme:muted"
1181
+ }
1182
+ },
1183
+ {
1184
+ "id": "detail-2",
1185
+ "kind": "text",
1186
+ "text": "relationships",
1187
+ "attributes": {
1188
+ "x": 0,
1189
+ "y": 317,
1190
+ "font-family": "theme:body-font",
1191
+ "font-size": 28,
1192
+ "font-weight": 400,
1193
+ "fill": "theme:muted"
1194
+ }
1195
+ }
1196
+ ]
1197
+ }
1198
+ },
1199
+ {
1200
+ "id": "chart-specimen",
1201
+ "kind": "chart",
1202
+ "preferredRect": {
1203
+ "x": 812,
1204
+ "y": 360,
1205
+ "width": 296,
1206
+ "height": 400
1207
+ },
1208
+ "slotIds": [
1209
+ "chart-specimen-content"
1210
+ ],
1211
+ "intent": "Chart specimen with illustrative values A 2 and B 3; not product measurements.",
1212
+ "appearance": {
1213
+ "template": "grouped-bar",
1214
+ "border": "none",
1215
+ "colorScheme": "accent-with-muted-context",
1216
+ "orientation": "vertical",
1217
+ "emphasis": "primary",
1218
+ "density": "sparse",
1219
+ "legend": "top"
1220
+ },
1221
+ "customVisual": {
1222
+ "format": "vector",
1223
+ "viewBox": {
1224
+ "x": 0,
1225
+ "y": 0,
1226
+ "width": 296,
1227
+ "height": 400
1228
+ },
1229
+ "fit": "contain",
1230
+ "description": "Chart specimen with illustrative values A 2 and B 3; not product measurements.",
1231
+ "elements": [
1232
+ {
1233
+ "id": "label",
1234
+ "kind": "text",
1235
+ "text": "Chart",
1236
+ "attributes": {
1237
+ "x": 0,
1238
+ "y": 40,
1239
+ "font-family": "theme:body-font",
1240
+ "font-size": 38,
1241
+ "font-weight": 500,
1242
+ "fill": "theme:ink"
1243
+ }
1244
+ },
1245
+ {
1246
+ "id": "axis",
1247
+ "kind": "path",
1248
+ "attributes": {
1249
+ "d": "M5 84V209H285",
1250
+ "fill": "none",
1251
+ "stroke": "theme:divider",
1252
+ "stroke-width": 2,
1253
+ "stroke-linecap": "round",
1254
+ "stroke-linejoin": "round"
1255
+ }
1256
+ },
1257
+ {
1258
+ "id": "bar-a",
1259
+ "kind": "rect",
1260
+ "attributes": {
1261
+ "x": 54,
1262
+ "y": 129,
1263
+ "width": 66,
1264
+ "height": 80,
1265
+ "rx": 4,
1266
+ "fill": "theme:accent",
1267
+ "stroke": "theme:accent",
1268
+ "stroke-width": 2
1269
+ }
1270
+ },
1271
+ {
1272
+ "id": "bar-b",
1273
+ "kind": "rect",
1274
+ "attributes": {
1275
+ "x": 188,
1276
+ "y": 89,
1277
+ "width": 66,
1278
+ "height": 120,
1279
+ "rx": 4,
1280
+ "fill": "theme:accent",
1281
+ "stroke": "theme:accent",
1282
+ "stroke-width": 2
1283
+ }
1284
+ },
1285
+ {
1286
+ "id": "value-a",
1287
+ "kind": "text",
1288
+ "text": "2",
1289
+ "attributes": {
1290
+ "x": 77,
1291
+ "y": 117,
1292
+ "font-family": "theme:body-font",
1293
+ "font-size": 24,
1294
+ "font-weight": 400,
1295
+ "fill": "theme:ink"
1296
+ }
1297
+ },
1298
+ {
1299
+ "id": "value-b",
1300
+ "kind": "text",
1301
+ "text": "3",
1302
+ "attributes": {
1303
+ "x": 209,
1304
+ "y": 77,
1305
+ "font-family": "theme:body-font",
1306
+ "font-size": 24,
1307
+ "font-weight": 400,
1308
+ "fill": "theme:ink"
1309
+ }
1310
+ },
1311
+ {
1312
+ "id": "axis-a",
1313
+ "kind": "text",
1314
+ "text": "A",
1315
+ "attributes": {
1316
+ "x": 77,
1317
+ "y": 240,
1318
+ "font-family": "theme:body-font",
1319
+ "font-size": 22,
1320
+ "font-weight": 400,
1321
+ "fill": "theme:muted"
1322
+ }
1323
+ },
1324
+ {
1325
+ "id": "axis-b",
1326
+ "kind": "text",
1327
+ "text": "B",
1328
+ "attributes": {
1329
+ "x": 209,
1330
+ "y": 240,
1331
+ "font-family": "theme:body-font",
1332
+ "font-size": 22,
1333
+ "font-weight": 400,
1334
+ "fill": "theme:muted"
1335
+ }
1336
+ },
1337
+ {
1338
+ "id": "detail-1",
1339
+ "kind": "text",
1340
+ "text": "Quantitative",
1341
+ "attributes": {
1342
+ "x": 0,
1343
+ "y": 297,
1344
+ "font-family": "theme:body-font",
1345
+ "font-size": 28,
1346
+ "font-weight": 400,
1347
+ "fill": "theme:muted"
1348
+ }
1349
+ },
1350
+ {
1351
+ "id": "detail-2",
1352
+ "kind": "text",
1353
+ "text": "comparisons",
1354
+ "attributes": {
1355
+ "x": 0,
1356
+ "y": 337,
1357
+ "font-family": "theme:body-font",
1358
+ "font-size": 28,
1359
+ "font-weight": 400,
1360
+ "fill": "theme:muted"
1361
+ }
1362
+ },
1363
+ {
1364
+ "id": "caveat",
1365
+ "kind": "text",
1366
+ "text": "Illustrative values",
1367
+ "attributes": {
1368
+ "x": 0,
1369
+ "y": 388,
1370
+ "font-family": "theme:body-font",
1371
+ "font-size": 26,
1372
+ "font-weight": 400,
1373
+ "fill": "theme:ink"
1374
+ }
1375
+ }
1376
+ ]
1377
+ }
1378
+ },
1379
+ {
1380
+ "id": "image-specimen",
1381
+ "kind": "image",
1382
+ "preferredRect": {
1383
+ "x": 1162,
1384
+ "y": 360,
1385
+ "width": 296,
1386
+ "height": 360
1387
+ },
1388
+ "slotIds": [
1389
+ "image-specimen-content"
1390
+ ],
1391
+ "intent": "Image: a visual asset or illustration, represented here by original vector artwork.",
1392
+ "appearance": {
1393
+ "border": "none",
1394
+ "fit": "cover"
1395
+ },
1396
+ "customVisual": {
1397
+ "format": "vector",
1398
+ "viewBox": {
1399
+ "x": 0,
1400
+ "y": 0,
1401
+ "width": 296,
1402
+ "height": 360
1403
+ },
1404
+ "fit": "contain",
1405
+ "description": "Image: a visual asset or illustration, represented here by original vector artwork.",
1406
+ "elements": [
1407
+ {
1408
+ "id": "label",
1409
+ "kind": "text",
1410
+ "text": "Image",
1411
+ "attributes": {
1412
+ "x": 0,
1413
+ "y": 40,
1414
+ "font-family": "theme:body-font",
1415
+ "font-size": 38,
1416
+ "font-weight": 500,
1417
+ "fill": "theme:ink"
1418
+ }
1419
+ },
1420
+ {
1421
+ "id": "frame",
1422
+ "kind": "rect",
1423
+ "attributes": {
1424
+ "x": 4,
1425
+ "y": 91,
1426
+ "width": 278,
1427
+ "height": 135,
1428
+ "rx": 4,
1429
+ "fill": "theme:background",
1430
+ "stroke": "theme:divider",
1431
+ "stroke-width": 2
1432
+ }
1433
+ },
1434
+ {
1435
+ "id": "sun",
1436
+ "kind": "circle",
1437
+ "attributes": {
1438
+ "cx": 227,
1439
+ "cy": 126,
1440
+ "r": 17,
1441
+ "fill": "theme:accent"
1442
+ }
1443
+ },
1444
+ {
1445
+ "id": "landscape",
1446
+ "kind": "path",
1447
+ "attributes": {
1448
+ "d": "M24 205L88 135L151 194L193 159L264 205",
1449
+ "fill": "none",
1450
+ "stroke": "theme:accent",
1451
+ "stroke-width": 4,
1452
+ "stroke-linecap": "round",
1453
+ "stroke-linejoin": "round"
1454
+ }
1455
+ },
1456
+ {
1457
+ "id": "detail-1",
1458
+ "kind": "text",
1459
+ "text": "Visual assets",
1460
+ "attributes": {
1461
+ "x": 0,
1462
+ "y": 277,
1463
+ "font-family": "theme:body-font",
1464
+ "font-size": 28,
1465
+ "font-weight": 400,
1466
+ "fill": "theme:muted"
1467
+ }
1468
+ },
1469
+ {
1470
+ "id": "detail-2",
1471
+ "kind": "text",
1472
+ "text": "and illustrations",
1473
+ "attributes": {
1474
+ "x": 0,
1475
+ "y": 317,
1476
+ "font-family": "theme:body-font",
1477
+ "font-size": 28,
1478
+ "font-weight": 400,
1479
+ "fill": "theme:muted"
1480
+ }
1481
+ }
1482
+ ]
1483
+ }
1484
+ },
1485
+ {
1486
+ "id": "table-specimen",
1487
+ "kind": "table",
1488
+ "preferredRect": {
1489
+ "x": 1512,
1490
+ "y": 360,
1491
+ "width": 296,
1492
+ "height": 360
1493
+ },
1494
+ "slotIds": [
1495
+ "table-specimen-content"
1496
+ ],
1497
+ "intent": "Table: structured comparisons with clear row and column associations.",
1498
+ "appearance": {
1499
+ "header": "row",
1500
+ "grid": "none",
1501
+ "border": "none",
1502
+ "density": "sparse"
1503
+ },
1504
+ "customVisual": {
1505
+ "format": "vector",
1506
+ "viewBox": {
1507
+ "x": 0,
1508
+ "y": 0,
1509
+ "width": 296,
1510
+ "height": 360
1511
+ },
1512
+ "fit": "contain",
1513
+ "description": "Table: structured comparisons with clear row and column associations.",
1514
+ "elements": [
1515
+ {
1516
+ "id": "label",
1517
+ "kind": "text",
1518
+ "text": "Table",
1519
+ "attributes": {
1520
+ "x": 0,
1521
+ "y": 40,
1522
+ "font-family": "theme:body-font",
1523
+ "font-size": 38,
1524
+ "font-weight": 500,
1525
+ "fill": "theme:ink"
1526
+ }
1527
+ },
1528
+ {
1529
+ "id": "col-a",
1530
+ "kind": "text",
1531
+ "text": "Stage",
1532
+ "attributes": {
1533
+ "x": 0,
1534
+ "y": 120,
1535
+ "font-family": "theme:body-font",
1536
+ "font-size": 26,
1537
+ "font-weight": 500,
1538
+ "fill": "theme:ink"
1539
+ }
1540
+ },
1541
+ {
1542
+ "id": "col-b",
1543
+ "kind": "text",
1544
+ "text": "Owner",
1545
+ "attributes": {
1546
+ "x": 157,
1547
+ "y": 120,
1548
+ "font-family": "theme:body-font",
1549
+ "font-size": 26,
1550
+ "font-weight": 500,
1551
+ "fill": "theme:ink"
1552
+ }
1553
+ },
1554
+ {
1555
+ "id": "rules",
1556
+ "kind": "path",
1557
+ "attributes": {
1558
+ "d": "M0 136H285M0 190H285M0 244H285",
1559
+ "fill": "none",
1560
+ "stroke": "theme:divider",
1561
+ "stroke-width": 2,
1562
+ "stroke-linecap": "round",
1563
+ "stroke-linejoin": "round"
1564
+ }
1565
+ },
1566
+ {
1567
+ "id": "row-a",
1568
+ "kind": "text",
1569
+ "text": "Draft",
1570
+ "attributes": {
1571
+ "x": 0,
1572
+ "y": 174,
1573
+ "font-family": "theme:body-font",
1574
+ "font-size": 25,
1575
+ "font-weight": 400,
1576
+ "fill": "theme:ink"
1577
+ }
1578
+ },
1579
+ {
1580
+ "id": "row-a-owner",
1581
+ "kind": "text",
1582
+ "text": "Human",
1583
+ "attributes": {
1584
+ "x": 157,
1585
+ "y": 174,
1586
+ "font-family": "theme:body-font",
1587
+ "font-size": 25,
1588
+ "font-weight": 400,
1589
+ "fill": "theme:ink"
1590
+ }
1591
+ },
1592
+ {
1593
+ "id": "row-b",
1594
+ "kind": "text",
1595
+ "text": "Revise",
1596
+ "attributes": {
1597
+ "x": 0,
1598
+ "y": 228,
1599
+ "font-family": "theme:body-font",
1600
+ "font-size": 25,
1601
+ "font-weight": 400,
1602
+ "fill": "theme:ink"
1603
+ }
1604
+ },
1605
+ {
1606
+ "id": "row-b-owner",
1607
+ "kind": "text",
1608
+ "text": "Agent",
1609
+ "attributes": {
1610
+ "x": 157,
1611
+ "y": 228,
1612
+ "font-family": "theme:body-font",
1613
+ "font-size": 25,
1614
+ "font-weight": 400,
1615
+ "fill": "theme:ink"
1616
+ }
1617
+ },
1618
+ {
1619
+ "id": "detail",
1620
+ "kind": "text",
1621
+ "text": "Structured detail",
1622
+ "attributes": {
1623
+ "x": 0,
1624
+ "y": 317,
1625
+ "font-family": "theme:body-font",
1626
+ "font-size": 28,
1627
+ "font-weight": 400,
1628
+ "fill": "theme:muted"
1629
+ }
1630
+ }
1631
+ ]
1632
+ }
1633
+ },
1634
+ {
1635
+ "id": "component-note",
1636
+ "kind": "text-block",
1637
+ "preferredRect": {
1638
+ "x": 112,
1639
+ "y": 876,
1640
+ "width": 1696,
1641
+ "height": 68
1642
+ },
1643
+ "slotIds": [
1644
+ "component-note-content"
1645
+ ],
1646
+ "intent": "Draft previews express intent. Agents return completed artwork as editable vectors.",
1647
+ "content": "Draft previews express intent. Agents return completed artwork as editable vectors.",
1648
+ "textStyle": {
1649
+ "size": 34,
1650
+ "weight": 400,
1651
+ "lineHeight": 1.4,
1652
+ "color": "ink",
1653
+ "font": "body"
1654
+ },
1655
+ "appearance": {
1656
+ "role": "body",
1657
+ "alignment": "start",
1658
+ "border": "none",
1659
+ "layout": "single",
1660
+ "orientation": "horizontal",
1661
+ "purpose": "narrative",
1662
+ "treatment": "plain",
1663
+ "logicalOrder": "none",
1664
+ "titleStyle": "plain",
1665
+ "rule": "none"
1666
+ }
1667
+ }
1668
+ ],
1669
+ "contentSlots": [
1670
+ {
1671
+ "id": "components-title-content",
1672
+ "label": "components-title",
1673
+ "role": "body",
1674
+ "required": true,
1675
+ "instruction": "Five components. One composition."
1676
+ },
1677
+ {
1678
+ "id": "components-subtitle-content",
1679
+ "label": "components-subtitle",
1680
+ "role": "body",
1681
+ "required": true,
1682
+ "instruction": "Each component keeps its meaning, outer geometry and editable interior."
1683
+ },
1684
+ {
1685
+ "id": "text-specimen-content",
1686
+ "label": "text-specimen",
1687
+ "role": "body",
1688
+ "required": true,
1689
+ "instruction": "Text block: headlines, body text, captions and footnotes."
1690
+ },
1691
+ {
1692
+ "id": "diagram-specimen-content",
1693
+ "label": "diagram-specimen",
1694
+ "role": "body",
1695
+ "required": true,
1696
+ "instruction": "Diagram: entities and their relationships."
1697
+ },
1698
+ {
1699
+ "id": "chart-specimen-content",
1700
+ "label": "chart-specimen",
1701
+ "role": "body",
1702
+ "required": true,
1703
+ "instruction": "Chart specimen with illustrative values A 2 and B 3; not product measurements."
1704
+ },
1705
+ {
1706
+ "id": "image-specimen-content",
1707
+ "label": "image-specimen",
1708
+ "role": "body",
1709
+ "required": true,
1710
+ "instruction": "Image: a visual asset or illustration, represented here by original vector artwork."
1711
+ },
1712
+ {
1713
+ "id": "table-specimen-content",
1714
+ "label": "table-specimen",
1715
+ "role": "body",
1716
+ "required": true,
1717
+ "instruction": "Table: structured comparisons with clear row and column associations."
1718
+ },
1719
+ {
1720
+ "id": "component-note-content",
1721
+ "label": "component-note",
1722
+ "role": "body",
1723
+ "required": true,
1724
+ "instruction": "Draft previews express intent. Agents return completed artwork as editable vectors."
1725
+ }
1726
+ ],
1727
+ "groups": [],
1728
+ "readingOrder": [
1729
+ {
1730
+ "kind": "component",
1731
+ "id": "components-title"
1732
+ },
1733
+ {
1734
+ "kind": "component",
1735
+ "id": "components-subtitle"
1736
+ },
1737
+ {
1738
+ "kind": "component",
1739
+ "id": "text-specimen"
1740
+ },
1741
+ {
1742
+ "kind": "component",
1743
+ "id": "diagram-specimen"
1744
+ },
1745
+ {
1746
+ "kind": "component",
1747
+ "id": "chart-specimen"
1748
+ },
1749
+ {
1750
+ "kind": "component",
1751
+ "id": "image-specimen"
1752
+ },
1753
+ {
1754
+ "kind": "component",
1755
+ "id": "table-specimen"
1756
+ },
1757
+ {
1758
+ "kind": "component",
1759
+ "id": "component-note"
1760
+ }
1761
+ ],
1762
+ "paintOrder": [
1763
+ "components-title",
1764
+ "components-subtitle",
1765
+ "text-specimen",
1766
+ "diagram-specimen",
1767
+ "chart-specimen",
1768
+ "image-specimen",
1769
+ "table-specimen",
1770
+ "component-note"
1771
+ ],
1772
+ "relationships": []
1773
+ },
1774
+ {
1775
+ "id": "editing",
1776
+ "name": "Keep the detail editable",
1777
+ "canvas": {
1778
+ "width": 1920,
1779
+ "height": 1080
1780
+ },
1781
+ "innerPadding": {
1782
+ "top": 72,
1783
+ "right": 112,
1784
+ "bottom": 0,
1785
+ "left": 112
1786
+ },
1787
+ "pageNumber": {
1788
+ "style": "01/02",
1789
+ "color": "muted"
1790
+ },
1791
+ "audience": "People and coding-agent users discovering Konpeki",
1792
+ "question": "What remains editable after an agent finishes?",
1793
+ "intendedViewingSize": "presentation",
1794
+ "components": [
1795
+ {
1796
+ "id": "editing-title",
1797
+ "kind": "text-block",
1798
+ "preferredRect": {
1799
+ "x": 112,
1800
+ "y": 88,
1801
+ "width": 1696,
1802
+ "height": 107
1803
+ },
1804
+ "slotIds": [
1805
+ "editing-title-content"
1806
+ ],
1807
+ "intent": "The detail stays editable",
1808
+ "content": "The detail stays editable",
1809
+ "textStyle": {
1810
+ "size": 62,
1811
+ "weight": 600,
1812
+ "lineHeight": 1.4,
1813
+ "color": "ink",
1814
+ "font": "heading"
1815
+ },
1816
+ "appearance": {
1817
+ "role": "title",
1818
+ "alignment": "start",
1819
+ "border": "none",
1820
+ "layout": "single",
1821
+ "orientation": "horizontal",
1822
+ "purpose": "narrative",
1823
+ "treatment": "plain",
1824
+ "logicalOrder": "none",
1825
+ "titleStyle": "plain",
1826
+ "rule": "none"
1827
+ }
1828
+ },
1829
+ {
1830
+ "id": "editing-subtitle",
1831
+ "kind": "text-block",
1832
+ "preferredRect": {
1833
+ "x": 112,
1834
+ "y": 184,
1835
+ "width": 1696,
1836
+ "height": 65
1837
+ },
1838
+ "slotIds": [
1839
+ "editing-subtitle-content"
1840
+ ],
1841
+ "intent": "Revise a label, a path or a group without replacing the whole slide.",
1842
+ "content": "Revise a label, a path or a group without replacing the whole slide.",
1843
+ "textStyle": {
1844
+ "size": 32,
1845
+ "weight": 400,
1846
+ "lineHeight": 1.4,
1847
+ "color": "muted",
1848
+ "font": "body"
1849
+ },
1850
+ "appearance": {
1851
+ "role": "body",
1852
+ "alignment": "start",
1853
+ "border": "none",
1854
+ "layout": "single",
1855
+ "orientation": "horizontal",
1856
+ "purpose": "narrative",
1857
+ "treatment": "plain",
1858
+ "logicalOrder": "none",
1859
+ "titleStyle": "plain",
1860
+ "rule": "none"
1861
+ }
1862
+ },
1863
+ {
1864
+ "id": "editable-diagram",
1865
+ "kind": "diagram",
1866
+ "preferredRect": {
1867
+ "x": 112,
1868
+ "y": 340,
1869
+ "width": 980,
1870
+ "height": 475
1871
+ },
1872
+ "slotIds": [
1873
+ "editable-diagram-content"
1874
+ ],
1875
+ "intent": "Explanatory illustration: a selected Review node inside its owning Diagram component. The shape keeps stable ID review-node.",
1876
+ "appearance": {
1877
+ "type": "process",
1878
+ "border": "none",
1879
+ "colorScheme": "monochrome",
1880
+ "emphasis": "none",
1881
+ "density": "sparse"
1882
+ },
1883
+ "customVisual": {
1884
+ "format": "vector",
1885
+ "viewBox": {
1886
+ "x": 0,
1887
+ "y": 0,
1888
+ "width": 980,
1889
+ "height": 475
1890
+ },
1891
+ "fit": "contain",
1892
+ "description": "Explanatory illustration: a selected Review node inside its owning Diagram component. The shape keeps stable ID review-node.",
1893
+ "elements": [
1894
+ {
1895
+ "id": "owner",
1896
+ "kind": "rect",
1897
+ "attributes": {
1898
+ "x": 5,
1899
+ "y": 5,
1900
+ "width": 965,
1901
+ "height": 390,
1902
+ "rx": 4,
1903
+ "fill": "theme:background",
1904
+ "stroke": "theme:divider",
1905
+ "stroke-width": 2
1906
+ }
1907
+ },
1908
+ {
1909
+ "id": "owner-label",
1910
+ "kind": "text",
1911
+ "text": "Diagram · review-flow",
1912
+ "attributes": {
1913
+ "x": 35,
1914
+ "y": 53,
1915
+ "font-family": "theme:body-font",
1916
+ "font-size": 27,
1917
+ "font-weight": 400,
1918
+ "fill": "theme:muted"
1919
+ }
1920
+ },
1921
+ {
1922
+ "id": "draft",
1923
+ "kind": "rect",
1924
+ "attributes": {
1925
+ "x": 55,
1926
+ "y": 158,
1927
+ "width": 220,
1928
+ "height": 120,
1929
+ "rx": 4,
1930
+ "fill": "theme:background",
1931
+ "stroke": "theme:divider",
1932
+ "stroke-width": 2
1933
+ }
1934
+ },
1935
+ {
1936
+ "id": "review-node",
1937
+ "kind": "rect",
1938
+ "attributes": {
1939
+ "x": 385,
1940
+ "y": 158,
1941
+ "width": 220,
1942
+ "height": 120,
1943
+ "rx": 4,
1944
+ "fill": "theme:background",
1945
+ "stroke": "theme:accent",
1946
+ "stroke-width": 2
1947
+ }
1948
+ },
1949
+ {
1950
+ "id": "present",
1951
+ "kind": "rect",
1952
+ "attributes": {
1953
+ "x": 715,
1954
+ "y": 158,
1955
+ "width": 220,
1956
+ "height": 120,
1957
+ "rx": 4,
1958
+ "fill": "theme:background",
1959
+ "stroke": "theme:divider",
1960
+ "stroke-width": 2
1961
+ }
1962
+ },
1963
+ {
1964
+ "id": "draft-label",
1965
+ "kind": "text",
1966
+ "text": "Draft",
1967
+ "attributes": {
1968
+ "x": 113,
1969
+ "y": 232,
1970
+ "font-family": "theme:body-font",
1971
+ "font-size": 38,
1972
+ "font-weight": 400,
1973
+ "fill": "theme:ink"
1974
+ }
1975
+ },
1976
+ {
1977
+ "id": "review-label",
1978
+ "kind": "text",
1979
+ "text": "Review",
1980
+ "attributes": {
1981
+ "x": 433,
1982
+ "y": 232,
1983
+ "font-family": "theme:body-font",
1984
+ "font-size": 38,
1985
+ "font-weight": 500,
1986
+ "fill": "theme:accent"
1987
+ }
1988
+ },
1989
+ {
1990
+ "id": "present-label",
1991
+ "kind": "text",
1992
+ "text": "Present",
1993
+ "attributes": {
1994
+ "x": 753,
1995
+ "y": 232,
1996
+ "font-family": "theme:body-font",
1997
+ "font-size": 38,
1998
+ "font-weight": 400,
1999
+ "fill": "theme:ink"
2000
+ }
2001
+ },
2002
+ {
2003
+ "id": "draft-review",
2004
+ "kind": "path",
2005
+ "attributes": {
2006
+ "d": "M293 218H367M353 206L367 218L353 230",
2007
+ "fill": "none",
2008
+ "stroke": "theme:accent",
2009
+ "stroke-width": 3,
2010
+ "stroke-linecap": "round",
2011
+ "stroke-linejoin": "round"
2012
+ }
2013
+ },
2014
+ {
2015
+ "id": "review-present",
2016
+ "kind": "path",
2017
+ "attributes": {
2018
+ "d": "M623 218H697M683 206L697 218L683 230",
2019
+ "fill": "none",
2020
+ "stroke": "theme:accent",
2021
+ "stroke-width": 3,
2022
+ "stroke-linecap": "round",
2023
+ "stroke-linejoin": "round"
2024
+ }
2025
+ },
2026
+ {
2027
+ "id": "handle-0",
2028
+ "kind": "rect",
2029
+ "attributes": {
2030
+ "x": 380,
2031
+ "y": 153,
2032
+ "width": 10,
2033
+ "height": 10,
2034
+ "rx": 4,
2035
+ "fill": "theme:background",
2036
+ "stroke": "theme:accent",
2037
+ "stroke-width": 2
2038
+ }
2039
+ },
2040
+ {
2041
+ "id": "handle-1",
2042
+ "kind": "rect",
2043
+ "attributes": {
2044
+ "x": 600,
2045
+ "y": 153,
2046
+ "width": 10,
2047
+ "height": 10,
2048
+ "rx": 4,
2049
+ "fill": "theme:background",
2050
+ "stroke": "theme:accent",
2051
+ "stroke-width": 2
2052
+ }
2053
+ },
2054
+ {
2055
+ "id": "handle-2",
2056
+ "kind": "rect",
2057
+ "attributes": {
2058
+ "x": 380,
2059
+ "y": 273,
2060
+ "width": 10,
2061
+ "height": 10,
2062
+ "rx": 4,
2063
+ "fill": "theme:background",
2064
+ "stroke": "theme:accent",
2065
+ "stroke-width": 2
2066
+ }
2067
+ },
2068
+ {
2069
+ "id": "handle-3",
2070
+ "kind": "rect",
2071
+ "attributes": {
2072
+ "x": 600,
2073
+ "y": 273,
2074
+ "width": 10,
2075
+ "height": 10,
2076
+ "rx": 4,
2077
+ "fill": "theme:background",
2078
+ "stroke": "theme:accent",
2079
+ "stroke-width": 2
2080
+ }
2081
+ },
2082
+ {
2083
+ "id": "stable-id",
2084
+ "kind": "text",
2085
+ "text": "Selected element: review-node",
2086
+ "attributes": {
2087
+ "x": 36,
2088
+ "y": 450,
2089
+ "font-family": "theme:body-font",
2090
+ "font-size": 32,
2091
+ "font-weight": 400,
2092
+ "fill": "theme:accent"
2093
+ }
2094
+ }
2095
+ ]
2096
+ }
2097
+ },
2098
+ {
2099
+ "id": "editing-actions-title",
2100
+ "kind": "text-block",
2101
+ "preferredRect": {
2102
+ "x": 1210,
2103
+ "y": 343,
2104
+ "width": 580,
2105
+ "height": 69
2106
+ },
2107
+ "slotIds": [
2108
+ "editing-actions-title-content"
2109
+ ],
2110
+ "intent": "Change the part that matters",
2111
+ "content": "Change the part that matters",
2112
+ "textStyle": {
2113
+ "size": 35,
2114
+ "weight": 500,
2115
+ "lineHeight": 1.4,
2116
+ "color": "ink",
2117
+ "font": "body"
2118
+ },
2119
+ "appearance": {
2120
+ "role": "title",
2121
+ "alignment": "start",
2122
+ "border": "none",
2123
+ "layout": "single",
2124
+ "orientation": "horizontal",
2125
+ "purpose": "narrative",
2126
+ "treatment": "plain",
2127
+ "logicalOrder": "none",
2128
+ "titleStyle": "plain",
2129
+ "rule": "none"
2130
+ }
2131
+ },
2132
+ {
2133
+ "id": "editing-actions",
2134
+ "kind": "text-block",
2135
+ "preferredRect": {
2136
+ "x": 1210,
2137
+ "y": 440,
2138
+ "width": 580,
2139
+ "height": 194
2140
+ },
2141
+ "slotIds": [
2142
+ "editing-actions-content"
2143
+ ],
2144
+ "intent": "Edit text and attributes. Reorder sibling elements. Delete a shape or a group. Undo and redo your changes.",
2145
+ "content": "Edit text and attributes.\nReorder sibling elements.\nDelete a shape or a group.\nUndo and redo your changes.",
2146
+ "textStyle": {
2147
+ "size": 31,
2148
+ "weight": 400,
2149
+ "lineHeight": 1.4,
2150
+ "color": "muted",
2151
+ "font": "body"
2152
+ },
2153
+ "appearance": {
2154
+ "role": "body",
2155
+ "alignment": "start",
2156
+ "border": "none",
2157
+ "layout": "single",
2158
+ "orientation": "horizontal",
2159
+ "purpose": "narrative",
2160
+ "treatment": "plain",
2161
+ "logicalOrder": "none",
2162
+ "titleStyle": "plain",
2163
+ "rule": "none"
2164
+ }
2165
+ },
2166
+ {
2167
+ "id": "editing-note",
2168
+ "kind": "text-block",
2169
+ "preferredRect": {
2170
+ "x": 112,
2171
+ "y": 885,
2172
+ "width": 1696,
2173
+ "height": 68
2174
+ },
2175
+ "slotIds": [
2176
+ "editing-note-content"
2177
+ ],
2178
+ "intent": "Composition JSON owns the structure. Imported JSX never executes in the canvas.",
2179
+ "content": "Composition JSON owns the structure. Imported JSX never executes in the canvas.",
2180
+ "textStyle": {
2181
+ "size": 34,
2182
+ "weight": 400,
2183
+ "lineHeight": 1.4,
2184
+ "color": "ink",
2185
+ "font": "body"
2186
+ },
2187
+ "appearance": {
2188
+ "role": "body",
2189
+ "alignment": "start",
2190
+ "border": "none",
2191
+ "layout": "single",
2192
+ "orientation": "horizontal",
2193
+ "purpose": "narrative",
2194
+ "treatment": "plain",
2195
+ "logicalOrder": "none",
2196
+ "titleStyle": "plain",
2197
+ "rule": "none"
2198
+ }
2199
+ }
2200
+ ],
2201
+ "contentSlots": [
2202
+ {
2203
+ "id": "editing-title-content",
2204
+ "label": "editing-title",
2205
+ "role": "body",
2206
+ "required": true,
2207
+ "instruction": "The detail stays editable"
2208
+ },
2209
+ {
2210
+ "id": "editing-subtitle-content",
2211
+ "label": "editing-subtitle",
2212
+ "role": "body",
2213
+ "required": true,
2214
+ "instruction": "Revise a label, a path or a group without replacing the whole slide."
2215
+ },
2216
+ {
2217
+ "id": "editable-diagram-content",
2218
+ "label": "editable-diagram",
2219
+ "role": "body",
2220
+ "required": true,
2221
+ "instruction": "Explanatory illustration: a selected Review node inside its owning Diagram component. The shape keeps stable ID review-node."
2222
+ },
2223
+ {
2224
+ "id": "editing-actions-title-content",
2225
+ "label": "editing-actions-title",
2226
+ "role": "body",
2227
+ "required": true,
2228
+ "instruction": "Change the part that matters"
2229
+ },
2230
+ {
2231
+ "id": "editing-actions-content",
2232
+ "label": "editing-actions",
2233
+ "role": "body",
2234
+ "required": true,
2235
+ "instruction": "Edit text and attributes. Reorder sibling elements. Delete a shape or a group. Undo and redo your changes."
2236
+ },
2237
+ {
2238
+ "id": "editing-note-content",
2239
+ "label": "editing-note",
2240
+ "role": "body",
2241
+ "required": true,
2242
+ "instruction": "Composition JSON owns the structure. Imported JSX never executes in the canvas."
2243
+ }
2244
+ ],
2245
+ "groups": [],
2246
+ "readingOrder": [
2247
+ {
2248
+ "kind": "component",
2249
+ "id": "editing-title"
2250
+ },
2251
+ {
2252
+ "kind": "component",
2253
+ "id": "editing-subtitle"
2254
+ },
2255
+ {
2256
+ "kind": "component",
2257
+ "id": "editable-diagram"
2258
+ },
2259
+ {
2260
+ "kind": "component",
2261
+ "id": "editing-actions-title"
2262
+ },
2263
+ {
2264
+ "kind": "component",
2265
+ "id": "editing-actions"
2266
+ },
2267
+ {
2268
+ "kind": "component",
2269
+ "id": "editing-note"
2270
+ }
2271
+ ],
2272
+ "paintOrder": [
2273
+ "editing-title",
2274
+ "editing-subtitle",
2275
+ "editable-diagram",
2276
+ "editing-actions-title",
2277
+ "editing-actions",
2278
+ "editing-note"
2279
+ ],
2280
+ "relationships": []
2281
+ },
2282
+ {
2283
+ "id": "today",
2284
+ "name": "What works today",
2285
+ "canvas": {
2286
+ "width": 1920,
2287
+ "height": 1080
2288
+ },
2289
+ "innerPadding": {
2290
+ "top": 72,
2291
+ "right": 112,
2292
+ "bottom": 0,
2293
+ "left": 112
2294
+ },
2295
+ "pageNumber": {
2296
+ "style": "01/02",
2297
+ "color": "muted"
2298
+ },
2299
+ "audience": "People and coding-agent users discovering Konpeki",
2300
+ "question": "What should a first-time user expect?",
2301
+ "intendedViewingSize": "presentation",
2302
+ "components": [
2303
+ {
2304
+ "id": "today-title",
2305
+ "kind": "text-block",
2306
+ "preferredRect": {
2307
+ "x": 112,
2308
+ "y": 88,
2309
+ "width": 1696,
2310
+ "height": 107
2311
+ },
2312
+ "slotIds": [
2313
+ "today-title-content"
2314
+ ],
2315
+ "intent": "An editable workflow, with clear boundaries",
2316
+ "content": "An editable workflow, with clear boundaries",
2317
+ "textStyle": {
2318
+ "size": 62,
2319
+ "weight": 600,
2320
+ "lineHeight": 1.4,
2321
+ "color": "ink",
2322
+ "font": "heading"
2323
+ },
2324
+ "appearance": {
2325
+ "role": "title",
2326
+ "alignment": "start",
2327
+ "border": "none",
2328
+ "layout": "single",
2329
+ "orientation": "horizontal",
2330
+ "purpose": "narrative",
2331
+ "treatment": "plain",
2332
+ "logicalOrder": "none",
2333
+ "titleStyle": "plain",
2334
+ "rule": "none"
2335
+ }
2336
+ },
2337
+ {
2338
+ "id": "today-subtitle",
2339
+ "kind": "text-block",
2340
+ "preferredRect": {
2341
+ "x": 112,
2342
+ "y": 184,
2343
+ "width": 1696,
2344
+ "height": 65
2345
+ },
2346
+ "slotIds": [
2347
+ "today-subtitle-content"
2348
+ ],
2349
+ "intent": "Use the canvas for drafting, revision and presentation today.",
2350
+ "content": "Use the canvas for drafting, revision and presentation today.",
2351
+ "textStyle": {
2352
+ "size": 32,
2353
+ "weight": 400,
2354
+ "lineHeight": 1.4,
2355
+ "color": "muted",
2356
+ "font": "body"
2357
+ },
2358
+ "appearance": {
2359
+ "role": "body",
2360
+ "alignment": "start",
2361
+ "border": "none",
2362
+ "layout": "single",
2363
+ "orientation": "horizontal",
2364
+ "purpose": "narrative",
2365
+ "treatment": "plain",
2366
+ "logicalOrder": "none",
2367
+ "titleStyle": "plain",
2368
+ "rule": "none"
2369
+ }
2370
+ },
2371
+ {
2372
+ "id": "available-heading",
2373
+ "kind": "text-block",
2374
+ "preferredRect": {
2375
+ "x": 112,
2376
+ "y": 350,
2377
+ "width": 790,
2378
+ "height": 79
2379
+ },
2380
+ "slotIds": [
2381
+ "available-heading-content"
2382
+ ],
2383
+ "intent": "Available now",
2384
+ "content": "Available now",
2385
+ "textStyle": {
2386
+ "size": 42,
2387
+ "weight": 500,
2388
+ "lineHeight": 1.4,
2389
+ "color": "accent",
2390
+ "font": "body"
2391
+ },
2392
+ "appearance": {
2393
+ "role": "body",
2394
+ "alignment": "start",
2395
+ "border": "none",
2396
+ "layout": "single",
2397
+ "orientation": "horizontal",
2398
+ "purpose": "narrative",
2399
+ "treatment": "plain",
2400
+ "logicalOrder": "none",
2401
+ "titleStyle": "plain",
2402
+ "rule": "none"
2403
+ }
2404
+ },
2405
+ {
2406
+ "id": "available-1",
2407
+ "kind": "text-block",
2408
+ "preferredRect": {
2409
+ "x": 112,
2410
+ "y": 451,
2411
+ "width": 790,
2412
+ "height": 113
2413
+ },
2414
+ "slotIds": [
2415
+ "available-1-content"
2416
+ ],
2417
+ "intent": "Arrange slides and semantic components. Open and download composition JSON.",
2418
+ "content": "Arrange slides and semantic components.\nOpen and download composition JSON.",
2419
+ "textStyle": {
2420
+ "size": 33,
2421
+ "weight": 400,
2422
+ "lineHeight": 1.4,
2423
+ "color": "ink",
2424
+ "font": "body"
2425
+ },
2426
+ "appearance": {
2427
+ "role": "body",
2428
+ "alignment": "start",
2429
+ "border": "none",
2430
+ "layout": "single",
2431
+ "orientation": "horizontal",
2432
+ "purpose": "narrative",
2433
+ "treatment": "plain",
2434
+ "logicalOrder": "none",
2435
+ "titleStyle": "plain",
2436
+ "rule": "none"
2437
+ }
2438
+ },
2439
+ {
2440
+ "id": "available-2",
2441
+ "kind": "text-block",
2442
+ "preferredRect": {
2443
+ "x": 112,
2444
+ "y": 605,
2445
+ "width": 790,
2446
+ "height": 113
2447
+ },
2448
+ "slotIds": [
2449
+ "available-2-content"
2450
+ ],
2451
+ "intent": "Revise vector text, shapes and paths. Present with the same canvas renderer.",
2452
+ "content": "Revise vector text, shapes and paths.\nPresent with the same canvas renderer.",
2453
+ "textStyle": {
2454
+ "size": 33,
2455
+ "weight": 400,
2456
+ "lineHeight": 1.4,
2457
+ "color": "ink",
2458
+ "font": "body"
2459
+ },
2460
+ "appearance": {
2461
+ "role": "body",
2462
+ "alignment": "start",
2463
+ "border": "none",
2464
+ "layout": "single",
2465
+ "orientation": "horizontal",
2466
+ "purpose": "narrative",
2467
+ "treatment": "plain",
2468
+ "logicalOrder": "none",
2469
+ "titleStyle": "plain",
2470
+ "rule": "none"
2471
+ }
2472
+ },
2473
+ {
2474
+ "id": "available-3",
2475
+ "kind": "text-block",
2476
+ "preferredRect": {
2477
+ "x": 112,
2478
+ "y": 790,
2479
+ "width": 790,
2480
+ "height": 110
2481
+ },
2482
+ "slotIds": [
2483
+ "available-3-content"
2484
+ ],
2485
+ "intent": "Browser-local drafts. No Konpeki account or backend required.",
2486
+ "content": "Browser-local drafts.\nNo Konpeki account or backend required.",
2487
+ "textStyle": {
2488
+ "size": 32,
2489
+ "weight": 400,
2490
+ "lineHeight": 1.4,
2491
+ "color": "ink",
2492
+ "font": "body"
2493
+ },
2494
+ "appearance": {
2495
+ "role": "body",
2496
+ "alignment": "start",
2497
+ "border": "none",
2498
+ "layout": "single",
2499
+ "orientation": "horizontal",
2500
+ "purpose": "narrative",
2501
+ "treatment": "plain",
2502
+ "logicalOrder": "none",
2503
+ "titleStyle": "plain",
2504
+ "rule": "none"
2505
+ }
2506
+ },
2507
+ {
2508
+ "id": "limits-heading",
2509
+ "kind": "text-block",
2510
+ "preferredRect": {
2511
+ "x": 1020,
2512
+ "y": 350,
2513
+ "width": 788,
2514
+ "height": 79
2515
+ },
2516
+ "slotIds": [
2517
+ "limits-heading-content"
2518
+ ],
2519
+ "intent": "Know the boundaries",
2520
+ "content": "Know the boundaries",
2521
+ "textStyle": {
2522
+ "size": 42,
2523
+ "weight": 500,
2524
+ "lineHeight": 1.4,
2525
+ "color": "ink",
2526
+ "font": "body"
2527
+ },
2528
+ "appearance": {
2529
+ "role": "body",
2530
+ "alignment": "start",
2531
+ "border": "none",
2532
+ "layout": "single",
2533
+ "orientation": "horizontal",
2534
+ "purpose": "narrative",
2535
+ "treatment": "plain",
2536
+ "logicalOrder": "none",
2537
+ "titleStyle": "plain",
2538
+ "rule": "none"
2539
+ }
2540
+ },
2541
+ {
2542
+ "id": "limits-1",
2543
+ "kind": "text-block",
2544
+ "preferredRect": {
2545
+ "x": 1020,
2546
+ "y": 451,
2547
+ "width": 788,
2548
+ "height": 113
2549
+ },
2550
+ "slotIds": [
2551
+ "limits-1-content"
2552
+ ],
2553
+ "intent": "Standard previews are placeholders. They do not load data or image files.",
2554
+ "content": "Standard previews are placeholders.\nThey do not load data or image files.",
2555
+ "textStyle": {
2556
+ "size": 33,
2557
+ "weight": 400,
2558
+ "lineHeight": 1.4,
2559
+ "color": "ink",
2560
+ "font": "body"
2561
+ },
2562
+ "appearance": {
2563
+ "role": "body",
2564
+ "alignment": "start",
2565
+ "border": "none",
2566
+ "layout": "single",
2567
+ "orientation": "horizontal",
2568
+ "purpose": "narrative",
2569
+ "treatment": "plain",
2570
+ "logicalOrder": "none",
2571
+ "titleStyle": "plain",
2572
+ "rule": "none"
2573
+ }
2574
+ },
2575
+ {
2576
+ "id": "limits-2",
2577
+ "kind": "text-block",
2578
+ "preferredRect": {
2579
+ "x": 1020,
2580
+ "y": 605,
2581
+ "width": 788,
2582
+ "height": 113
2583
+ },
2584
+ "slotIds": [
2585
+ "limits-2-content"
2586
+ ],
2587
+ "intent": "Your coding agent supplies the output. Review its facts, layout and caveats.",
2588
+ "content": "Your coding agent supplies the output.\nReview its facts, layout and caveats.",
2589
+ "textStyle": {
2590
+ "size": 33,
2591
+ "weight": 400,
2592
+ "lineHeight": 1.4,
2593
+ "color": "ink",
2594
+ "font": "body"
2595
+ },
2596
+ "appearance": {
2597
+ "role": "body",
2598
+ "alignment": "start",
2599
+ "border": "none",
2600
+ "layout": "single",
2601
+ "orientation": "horizontal",
2602
+ "purpose": "narrative",
2603
+ "treatment": "plain",
2604
+ "logicalOrder": "none",
2605
+ "titleStyle": "plain",
2606
+ "rule": "none"
2607
+ }
2608
+ },
2609
+ {
2610
+ "id": "limits-3",
2611
+ "kind": "text-block",
2612
+ "preferredRect": {
2613
+ "x": 1020,
2614
+ "y": 790,
2615
+ "width": 788,
2616
+ "height": 110
2617
+ },
2618
+ "slotIds": [
2619
+ "limits-3-content"
2620
+ ],
2621
+ "intent": "Desktop-first editing; storage is local. No PDF/PPTX fidelity claim.",
2622
+ "content": "Desktop-first editing; storage is local.\nNo PDF/PPTX fidelity claim.",
2623
+ "textStyle": {
2624
+ "size": 32,
2625
+ "weight": 400,
2626
+ "lineHeight": 1.4,
2627
+ "color": "ink",
2628
+ "font": "body"
2629
+ },
2630
+ "appearance": {
2631
+ "role": "body",
2632
+ "alignment": "start",
2633
+ "border": "none",
2634
+ "layout": "single",
2635
+ "orientation": "horizontal",
2636
+ "purpose": "narrative",
2637
+ "treatment": "plain",
2638
+ "logicalOrder": "none",
2639
+ "titleStyle": "plain",
2640
+ "rule": "none"
2641
+ }
2642
+ }
2643
+ ],
2644
+ "contentSlots": [
2645
+ {
2646
+ "id": "today-title-content",
2647
+ "label": "today-title",
2648
+ "role": "body",
2649
+ "required": true,
2650
+ "instruction": "An editable workflow, with clear boundaries"
2651
+ },
2652
+ {
2653
+ "id": "today-subtitle-content",
2654
+ "label": "today-subtitle",
2655
+ "role": "body",
2656
+ "required": true,
2657
+ "instruction": "Use the canvas for drafting, revision and presentation today."
2658
+ },
2659
+ {
2660
+ "id": "available-heading-content",
2661
+ "label": "available-heading",
2662
+ "role": "body",
2663
+ "required": true,
2664
+ "instruction": "Available now"
2665
+ },
2666
+ {
2667
+ "id": "available-1-content",
2668
+ "label": "available-1",
2669
+ "role": "body",
2670
+ "required": true,
2671
+ "instruction": "Arrange slides and semantic components. Open and download composition JSON."
2672
+ },
2673
+ {
2674
+ "id": "available-2-content",
2675
+ "label": "available-2",
2676
+ "role": "body",
2677
+ "required": true,
2678
+ "instruction": "Revise vector text, shapes and paths. Present with the same canvas renderer."
2679
+ },
2680
+ {
2681
+ "id": "available-3-content",
2682
+ "label": "available-3",
2683
+ "role": "body",
2684
+ "required": true,
2685
+ "instruction": "Browser-local drafts. No Konpeki account or backend required."
2686
+ },
2687
+ {
2688
+ "id": "limits-heading-content",
2689
+ "label": "limits-heading",
2690
+ "role": "body",
2691
+ "required": true,
2692
+ "instruction": "Know the boundaries"
2693
+ },
2694
+ {
2695
+ "id": "limits-1-content",
2696
+ "label": "limits-1",
2697
+ "role": "body",
2698
+ "required": true,
2699
+ "instruction": "Standard previews are placeholders. They do not load data or image files."
2700
+ },
2701
+ {
2702
+ "id": "limits-2-content",
2703
+ "label": "limits-2",
2704
+ "role": "body",
2705
+ "required": true,
2706
+ "instruction": "Your coding agent supplies the output. Review its facts, layout and caveats."
2707
+ },
2708
+ {
2709
+ "id": "limits-3-content",
2710
+ "label": "limits-3",
2711
+ "role": "body",
2712
+ "required": true,
2713
+ "instruction": "Desktop-first editing; storage is local. No PDF/PPTX fidelity claim."
2714
+ }
2715
+ ],
2716
+ "groups": [],
2717
+ "readingOrder": [
2718
+ {
2719
+ "kind": "component",
2720
+ "id": "today-title"
2721
+ },
2722
+ {
2723
+ "kind": "component",
2724
+ "id": "today-subtitle"
2725
+ },
2726
+ {
2727
+ "kind": "component",
2728
+ "id": "available-heading"
2729
+ },
2730
+ {
2731
+ "kind": "component",
2732
+ "id": "available-1"
2733
+ },
2734
+ {
2735
+ "kind": "component",
2736
+ "id": "available-2"
2737
+ },
2738
+ {
2739
+ "kind": "component",
2740
+ "id": "available-3"
2741
+ },
2742
+ {
2743
+ "kind": "component",
2744
+ "id": "limits-heading"
2745
+ },
2746
+ {
2747
+ "kind": "component",
2748
+ "id": "limits-1"
2749
+ },
2750
+ {
2751
+ "kind": "component",
2752
+ "id": "limits-2"
2753
+ },
2754
+ {
2755
+ "kind": "component",
2756
+ "id": "limits-3"
2757
+ }
2758
+ ],
2759
+ "paintOrder": [
2760
+ "today-title",
2761
+ "today-subtitle",
2762
+ "available-heading",
2763
+ "available-1",
2764
+ "available-2",
2765
+ "available-3",
2766
+ "limits-heading",
2767
+ "limits-1",
2768
+ "limits-2",
2769
+ "limits-3"
2770
+ ],
2771
+ "relationships": []
2772
+ },
2773
+ {
2774
+ "id": "start",
2775
+ "name": "Try a real brief",
2776
+ "canvas": {
2777
+ "width": 1920,
2778
+ "height": 1080
2779
+ },
2780
+ "innerPadding": {
2781
+ "top": 72,
2782
+ "right": 112,
2783
+ "bottom": 0,
2784
+ "left": 112
2785
+ },
2786
+ "pageNumber": {
2787
+ "style": "01/02",
2788
+ "color": "muted"
2789
+ },
2790
+ "audience": "People and coding-agent users discovering Konpeki",
2791
+ "question": "How do I start?",
2792
+ "intendedViewingSize": "presentation",
2793
+ "components": [
2794
+ {
2795
+ "id": "start-title",
2796
+ "kind": "text-block",
2797
+ "preferredRect": {
2798
+ "x": 112,
2799
+ "y": 88,
2800
+ "width": 1696,
2801
+ "height": 107
2802
+ },
2803
+ "slotIds": [
2804
+ "start-title-content"
2805
+ ],
2806
+ "intent": "Bring a brief. Build an editable deck.",
2807
+ "content": "Bring a brief. Build an editable deck.",
2808
+ "textStyle": {
2809
+ "size": 62,
2810
+ "weight": 600,
2811
+ "lineHeight": 1.4,
2812
+ "color": "ink",
2813
+ "font": "heading"
2814
+ },
2815
+ "appearance": {
2816
+ "role": "title",
2817
+ "alignment": "start",
2818
+ "border": "none",
2819
+ "layout": "single",
2820
+ "orientation": "horizontal",
2821
+ "purpose": "narrative",
2822
+ "treatment": "plain",
2823
+ "logicalOrder": "none",
2824
+ "titleStyle": "plain",
2825
+ "rule": "none"
2826
+ }
2827
+ },
2828
+ {
2829
+ "id": "start-subtitle",
2830
+ "kind": "text-block",
2831
+ "preferredRect": {
2832
+ "x": 112,
2833
+ "y": 184,
2834
+ "width": 1696,
2835
+ "height": 65
2836
+ },
2837
+ "slotIds": [
2838
+ "start-subtitle-content"
2839
+ ],
2840
+ "intent": "Start with one real explanation you need to give.",
2841
+ "content": "Start with one real explanation you need to give.",
2842
+ "textStyle": {
2843
+ "size": 32,
2844
+ "weight": 400,
2845
+ "lineHeight": 1.4,
2846
+ "color": "muted",
2847
+ "font": "body"
2848
+ },
2849
+ "appearance": {
2850
+ "role": "body",
2851
+ "alignment": "start",
2852
+ "border": "none",
2853
+ "layout": "single",
2854
+ "orientation": "horizontal",
2855
+ "purpose": "narrative",
2856
+ "treatment": "plain",
2857
+ "logicalOrder": "none",
2858
+ "titleStyle": "plain",
2859
+ "rule": "none"
2860
+ }
2861
+ },
2862
+ {
2863
+ "id": "setup-heading",
2864
+ "kind": "text-block",
2865
+ "preferredRect": {
2866
+ "x": 112,
2867
+ "y": 350,
2868
+ "width": 710,
2869
+ "height": 76
2870
+ },
2871
+ "slotIds": [
2872
+ "setup-heading-content"
2873
+ ],
2874
+ "intent": "Open the project",
2875
+ "content": "Open the project",
2876
+ "textStyle": {
2877
+ "size": 40,
2878
+ "weight": 500,
2879
+ "lineHeight": 1.4,
2880
+ "color": "ink",
2881
+ "font": "body"
2882
+ },
2883
+ "appearance": {
2884
+ "role": "body",
2885
+ "alignment": "start",
2886
+ "border": "none",
2887
+ "layout": "single",
2888
+ "orientation": "horizontal",
2889
+ "purpose": "narrative",
2890
+ "treatment": "plain",
2891
+ "logicalOrder": "none",
2892
+ "titleStyle": "plain",
2893
+ "rule": "none"
2894
+ }
2895
+ },
2896
+ {
2897
+ "id": "repository",
2898
+ "kind": "text-block",
2899
+ "preferredRect": {
2900
+ "x": 112,
2901
+ "y": 435,
2902
+ "width": 850,
2903
+ "height": 74
2904
+ },
2905
+ "slotIds": [
2906
+ "repository-content"
2907
+ ],
2908
+ "intent": "github.com/vcfgdev/konpeki",
2909
+ "content": "github.com/vcfgdev/konpeki",
2910
+ "textStyle": {
2911
+ "size": 38,
2912
+ "weight": 500,
2913
+ "lineHeight": 1.4,
2914
+ "color": "accent",
2915
+ "font": "body"
2916
+ },
2917
+ "appearance": {
2918
+ "role": "body",
2919
+ "alignment": "start",
2920
+ "border": "none",
2921
+ "layout": "single",
2922
+ "orientation": "horizontal",
2923
+ "purpose": "narrative",
2924
+ "treatment": "plain",
2925
+ "logicalOrder": "none",
2926
+ "titleStyle": "plain",
2927
+ "rule": "none"
2928
+ }
2929
+ },
2930
+ {
2931
+ "id": "commands",
2932
+ "kind": "text-block",
2933
+ "preferredRect": {
2934
+ "x": 112,
2935
+ "y": 543,
2936
+ "width": 840,
2937
+ "height": 116
2938
+ },
2939
+ "slotIds": [
2940
+ "commands-content"
2941
+ ],
2942
+ "intent": "pnpm install --frozen-lockfile pnpm dev",
2943
+ "content": "pnpm install --frozen-lockfile\npnpm dev",
2944
+ "textStyle": {
2945
+ "size": 34,
2946
+ "weight": 400,
2947
+ "lineHeight": 1.4,
2948
+ "color": "ink",
2949
+ "font": "body"
2950
+ },
2951
+ "appearance": {
2952
+ "role": "body",
2953
+ "alignment": "start",
2954
+ "border": "none",
2955
+ "layout": "single",
2956
+ "orientation": "horizontal",
2957
+ "purpose": "narrative",
2958
+ "treatment": "plain",
2959
+ "logicalOrder": "none",
2960
+ "titleStyle": "plain",
2961
+ "rule": "none"
2962
+ }
2963
+ },
2964
+ {
2965
+ "id": "requirements",
2966
+ "kind": "text-block",
2967
+ "preferredRect": {
2968
+ "x": 112,
2969
+ "y": 696,
2970
+ "width": 780,
2971
+ "height": 116
2972
+ },
2973
+ "slotIds": [
2974
+ "requirements-content"
2975
+ ],
2976
+ "intent": "Node.js 24+ · pnpm A coding agent · a browser",
2977
+ "content": "Node.js 24+ · pnpm\nA coding agent · a browser",
2978
+ "textStyle": {
2979
+ "size": 34,
2980
+ "weight": 400,
2981
+ "lineHeight": 1.4,
2982
+ "color": "ink",
2983
+ "font": "body"
2984
+ },
2985
+ "appearance": {
2986
+ "role": "body",
2987
+ "alignment": "start",
2988
+ "border": "none",
2989
+ "layout": "single",
2990
+ "orientation": "horizontal",
2991
+ "purpose": "narrative",
2992
+ "treatment": "plain",
2993
+ "logicalOrder": "none",
2994
+ "titleStyle": "plain",
2995
+ "rule": "none"
2996
+ }
2997
+ },
2998
+ {
2999
+ "id": "brief-heading",
3000
+ "kind": "text-block",
3001
+ "preferredRect": {
3002
+ "x": 1020,
3003
+ "y": 350,
3004
+ "width": 788,
3005
+ "height": 76
3006
+ },
3007
+ "slotIds": [
3008
+ "brief-heading-content"
3009
+ ],
3010
+ "intent": "Give your agent a concrete brief",
3011
+ "content": "Give your agent a concrete brief",
3012
+ "textStyle": {
3013
+ "size": 40,
3014
+ "weight": 500,
3015
+ "lineHeight": 1.4,
3016
+ "color": "ink",
3017
+ "font": "body"
3018
+ },
3019
+ "appearance": {
3020
+ "role": "body",
3021
+ "alignment": "start",
3022
+ "border": "none",
3023
+ "layout": "single",
3024
+ "orientation": "horizontal",
3025
+ "purpose": "narrative",
3026
+ "treatment": "plain",
3027
+ "logicalOrder": "none",
3028
+ "titleStyle": "plain",
3029
+ "rule": "none"
3030
+ }
3031
+ },
3032
+ {
3033
+ "id": "brief",
3034
+ "kind": "text-block",
3035
+ "preferredRect": {
3036
+ "x": 1020,
3037
+ "y": 450,
3038
+ "width": 788,
3039
+ "height": 194
3040
+ },
3041
+ "slotIds": [
3042
+ "brief-content"
3043
+ ],
3044
+ "intent": "“Explain this system to a new engineer. Show the request flow and failure path. Preserve the source facts and caveats. Return an editable composition JSON.”",
3045
+ "content": "“Explain this system to a new engineer.\nShow the request flow and failure path.\nPreserve the source facts and caveats.\nReturn an editable composition JSON.”",
3046
+ "textStyle": {
3047
+ "size": 31,
3048
+ "weight": 400,
3049
+ "lineHeight": 1.4,
3050
+ "color": "ink",
3051
+ "font": "body"
3052
+ },
3053
+ "appearance": {
3054
+ "role": "body",
3055
+ "alignment": "start",
3056
+ "border": "none",
3057
+ "layout": "single",
3058
+ "orientation": "horizontal",
3059
+ "purpose": "narrative",
3060
+ "treatment": "plain",
3061
+ "logicalOrder": "none",
3062
+ "titleStyle": "plain",
3063
+ "rule": "none"
3064
+ }
3065
+ },
3066
+ {
3067
+ "id": "next-step",
3068
+ "kind": "text-block",
3069
+ "preferredRect": {
3070
+ "x": 1020,
3071
+ "y": 708,
3072
+ "width": 788,
3073
+ "height": 116
3074
+ },
3075
+ "slotIds": [
3076
+ "next-step-content"
3077
+ ],
3078
+ "intent": "Open the result. Make one revision. Then present it.",
3079
+ "content": "Open the result. Make one revision.\nThen present it.",
3080
+ "textStyle": {
3081
+ "size": 34,
3082
+ "weight": 500,
3083
+ "lineHeight": 1.4,
3084
+ "color": "accent",
3085
+ "font": "body"
3086
+ },
3087
+ "appearance": {
3088
+ "role": "body",
3089
+ "alignment": "start",
3090
+ "border": "none",
3091
+ "layout": "single",
3092
+ "orientation": "horizontal",
3093
+ "purpose": "narrative",
3094
+ "treatment": "plain",
3095
+ "logicalOrder": "none",
3096
+ "titleStyle": "plain",
3097
+ "rule": "none"
3098
+ }
3099
+ },
3100
+ {
3101
+ "id": "closing",
3102
+ "kind": "text-block",
3103
+ "preferredRect": {
3104
+ "x": 112,
3105
+ "y": 906,
3106
+ "width": 1696,
3107
+ "height": 62
3108
+ },
3109
+ "slotIds": [
3110
+ "closing-content"
3111
+ ],
3112
+ "intent": "This presentation is itself an editable Konpeki composition.",
3113
+ "content": "This presentation is itself an editable Konpeki composition.",
3114
+ "textStyle": {
3115
+ "size": 30,
3116
+ "weight": 400,
3117
+ "lineHeight": 1.4,
3118
+ "color": "muted",
3119
+ "font": "body"
3120
+ },
3121
+ "appearance": {
3122
+ "role": "body",
3123
+ "alignment": "start",
3124
+ "border": "none",
3125
+ "layout": "single",
3126
+ "orientation": "horizontal",
3127
+ "purpose": "narrative",
3128
+ "treatment": "plain",
3129
+ "logicalOrder": "none",
3130
+ "titleStyle": "plain",
3131
+ "rule": "none"
3132
+ }
3133
+ }
3134
+ ],
3135
+ "contentSlots": [
3136
+ {
3137
+ "id": "start-title-content",
3138
+ "label": "start-title",
3139
+ "role": "body",
3140
+ "required": true,
3141
+ "instruction": "Bring a brief. Build an editable deck."
3142
+ },
3143
+ {
3144
+ "id": "start-subtitle-content",
3145
+ "label": "start-subtitle",
3146
+ "role": "body",
3147
+ "required": true,
3148
+ "instruction": "Start with one real explanation you need to give."
3149
+ },
3150
+ {
3151
+ "id": "setup-heading-content",
3152
+ "label": "setup-heading",
3153
+ "role": "body",
3154
+ "required": true,
3155
+ "instruction": "Open the project"
3156
+ },
3157
+ {
3158
+ "id": "repository-content",
3159
+ "label": "repository",
3160
+ "role": "body",
3161
+ "required": true,
3162
+ "instruction": "github.com/vcfgdev/konpeki"
3163
+ },
3164
+ {
3165
+ "id": "commands-content",
3166
+ "label": "commands",
3167
+ "role": "body",
3168
+ "required": true,
3169
+ "instruction": "pnpm install --frozen-lockfile pnpm dev"
3170
+ },
3171
+ {
3172
+ "id": "requirements-content",
3173
+ "label": "requirements",
3174
+ "role": "body",
3175
+ "required": true,
3176
+ "instruction": "Node.js 24+ · pnpm A coding agent · a browser"
3177
+ },
3178
+ {
3179
+ "id": "brief-heading-content",
3180
+ "label": "brief-heading",
3181
+ "role": "body",
3182
+ "required": true,
3183
+ "instruction": "Give your agent a concrete brief"
3184
+ },
3185
+ {
3186
+ "id": "brief-content",
3187
+ "label": "brief",
3188
+ "role": "body",
3189
+ "required": true,
3190
+ "instruction": "“Explain this system to a new engineer. Show the request flow and failure path. Preserve the source facts and caveats. Return an editable composition JSON.”"
3191
+ },
3192
+ {
3193
+ "id": "next-step-content",
3194
+ "label": "next-step",
3195
+ "role": "body",
3196
+ "required": true,
3197
+ "instruction": "Open the result. Make one revision. Then present it."
3198
+ },
3199
+ {
3200
+ "id": "closing-content",
3201
+ "label": "closing",
3202
+ "role": "body",
3203
+ "required": true,
3204
+ "instruction": "This presentation is itself an editable Konpeki composition."
3205
+ }
3206
+ ],
3207
+ "groups": [],
3208
+ "readingOrder": [
3209
+ {
3210
+ "kind": "component",
3211
+ "id": "start-title"
3212
+ },
3213
+ {
3214
+ "kind": "component",
3215
+ "id": "start-subtitle"
3216
+ },
3217
+ {
3218
+ "kind": "component",
3219
+ "id": "setup-heading"
3220
+ },
3221
+ {
3222
+ "kind": "component",
3223
+ "id": "repository"
3224
+ },
3225
+ {
3226
+ "kind": "component",
3227
+ "id": "commands"
3228
+ },
3229
+ {
3230
+ "kind": "component",
3231
+ "id": "requirements"
3232
+ },
3233
+ {
3234
+ "kind": "component",
3235
+ "id": "brief-heading"
3236
+ },
3237
+ {
3238
+ "kind": "component",
3239
+ "id": "brief"
3240
+ },
3241
+ {
3242
+ "kind": "component",
3243
+ "id": "next-step"
3244
+ },
3245
+ {
3246
+ "kind": "component",
3247
+ "id": "closing"
3248
+ }
3249
+ ],
3250
+ "paintOrder": [
3251
+ "start-title",
3252
+ "start-subtitle",
3253
+ "setup-heading",
3254
+ "repository",
3255
+ "commands",
3256
+ "requirements",
3257
+ "brief-heading",
3258
+ "brief",
3259
+ "next-step",
3260
+ "closing"
3261
+ ],
3262
+ "relationships": []
3263
+ }
3264
+ ]
3265
+ }