konpeki 0.3.0 → 0.3.1
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.
- package/README.md +56 -39
- package/SETUP.md +35 -19
- package/docs/development.md +11 -3
- package/package.json +3 -1
- package/plugin.json +1 -1
- package/skills/konpeki/scripts/ensure-runtime.mjs +1 -1
- package/slides/README.md +35 -132
- package/slides/drawing-references.md +32 -0
- package/slides/github-cover/PROMPT.md +21 -0
- package/slides/github-cover/README.md +21 -0
- package/slides/github-cover/author.ts +67 -0
- package/slides/github-cover/composition.json +595 -0
- package/slides/introducing-konpeki/PROMPT.md +20 -30
- package/slides/introducing-konpeki/README.md +28 -60
- package/slides/introducing-konpeki/SOURCE.md +13 -20
- package/src/app/App.tsx +63 -38
- package/src/components/Canvas.tsx +8 -2
- package/src/components/InspectorPanel.tsx +11 -27
- package/src/components/RevisionNotes.tsx +6 -7
- package/src/components/RightPanel.tsx +42 -10
- package/src/components/VectorOverflowWarning.tsx +35 -8
- package/src/components/WorkspaceChrome.tsx +57 -29
- package/src/components/ui.tsx +95 -1
- package/src/lib/use-file-session.ts +60 -38
- package/src/styles/base.css +7 -0
- package/src/styles/chrome.css +103 -12
- package/src/styles/feedback.css +96 -61
- package/src/styles/left-panel.css +27 -6
- package/src/styles/right-panel.css +86 -3
- package/src/styles/shell.css +43 -11
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import {execFileSync} from 'node:child_process';
|
|
2
|
+
import {writeFileSync} from 'node:fs';
|
|
3
|
+
import {fileURLToPath} from 'node:url';
|
|
4
|
+
import {assertComposition} from '../../composition/validate.ts';
|
|
5
|
+
import {compositionSchema, type CompositionComponent, type CompositionDocument, type VectorElement} from '../../composition/types.ts';
|
|
6
|
+
|
|
7
|
+
// Reproduce the existing mark's alpha silhouette as editable vector geometry.
|
|
8
|
+
const mask=execFileSync('magick',[fileURLToPath(new URL('../../src/assets/konpeki-mark.png',import.meta.url)),'-alpha','extract','-threshold','50%','-depth','8','gray:-']);
|
|
9
|
+
let outline='';
|
|
10
|
+
for(let y=0;y<128;y++)for(let x=0;x<128;x++){
|
|
11
|
+
if(mask[y*128+x]<128)continue;
|
|
12
|
+
const start=x;
|
|
13
|
+
while(x+1<128&&mask[y*128+x+1]>=128)x++;
|
|
14
|
+
outline+=`M${start} ${y}h${x-start+1}v1H${start}Z`;
|
|
15
|
+
}
|
|
16
|
+
const ink='#202630',blue='#007fb5',lightGray='#b2bdc2';
|
|
17
|
+
const text=(id:string,content:string,x:number,y:number,width:number,height:number,size:number,weight:400|600=600):CompositionComponent=>({
|
|
18
|
+
id,kind:'text-block',content,slotIds:[`${id}-content`],preferredRect:{x,y,width,height},
|
|
19
|
+
textStyle:{size,weight,lineHeight:1.18,color:'ink',font:'heading'},
|
|
20
|
+
appearance:{role:id==='brand'?'title':'body',alignment:'start',border:'none',rule:'none'},
|
|
21
|
+
});
|
|
22
|
+
const elements:VectorElement[]=[
|
|
23
|
+
{id:'cover-frame',kind:'rect',attributes:{x:10,y:8,width:260,height:140,rx:8,fill:'#ffffff',stroke:blue,'stroke-width':2.5}},
|
|
24
|
+
{id:'cover-mark',kind:'rect',attributes:{x:28,y:28,width:42,height:42,rx:4,fill:blue}},
|
|
25
|
+
{id:'cover-title',kind:'rect',attributes:{x:86,y:29,width:144,height:13,rx:3,fill:lightGray}},
|
|
26
|
+
{id:'cover-copy-1',kind:'rect',attributes:{x:86,y:53,width:112,height:7,rx:3,fill:lightGray}},
|
|
27
|
+
{id:'cover-copy-2',kind:'rect',attributes:{x:28,y:102,width:164,height:7,rx:3,fill:lightGray}},
|
|
28
|
+
{id:'cover-accent',kind:'rect',attributes:{x:211,y:96,width:39,height:28,rx:4,fill:'#eaf6fb'}},
|
|
29
|
+
{id:'square-frame',kind:'rect',attributes:{x:292,y:8,width:140,height:140,rx:8,fill:'#ffffff',stroke:blue,'stroke-width':2.5}},
|
|
30
|
+
{id:'square-title',kind:'rect',attributes:{x:311,y:28,width:82,height:10,rx:3,fill:lightGray}},
|
|
31
|
+
{id:'square-bar-1',kind:'rect',attributes:{x:314,y:93,width:18,height:31,rx:3,fill:blue}},
|
|
32
|
+
{id:'square-bar-2',kind:'rect',attributes:{x:342,y:72,width:18,height:52,rx:3,fill:'#5cb9df'}},
|
|
33
|
+
{id:'square-bar-3',kind:'rect',attributes:{x:370,y:52,width:18,height:72,rx:3,fill:'#9adbed'}},
|
|
34
|
+
{id:'square-baseline',kind:'path',attributes:{d:'M307 126H410',fill:'none',stroke:lightGray,'stroke-width':2}},
|
|
35
|
+
{id:'portrait-frame',kind:'rect',attributes:{x:10,y:172,width:145,height:230,rx:8,fill:'#ffffff',stroke:blue,'stroke-width':2.5}},
|
|
36
|
+
{id:'portrait-title',kind:'rect',attributes:{x:28,y:193,width:94,height:11,rx:3,fill:lightGray}},
|
|
37
|
+
{id:'portrait-visual',kind:'rect',attributes:{x:28,y:224,width:109,height:81,rx:5,fill:'#eaf6fb'}},
|
|
38
|
+
{id:'portrait-rule',kind:'path',attributes:{d:'M45 285L76 247 96 270 122 236',fill:'none',stroke:blue,'stroke-width':4}},
|
|
39
|
+
{id:'portrait-copy-1',kind:'rect',attributes:{x:28,y:326,width:92,height:7,rx:3,fill:lightGray}},
|
|
40
|
+
{id:'portrait-copy-2',kind:'rect',attributes:{x:28,y:344,width:108,height:7,rx:3,fill:lightGray}},
|
|
41
|
+
{id:'portrait-copy-3',kind:'rect',attributes:{x:28,y:362,width:74,height:7,rx:3,fill:lightGray}},
|
|
42
|
+
{id:'slide-frame',kind:'rect',attributes:{x:180,y:172,width:252,height:144,rx:8,fill:'#ffffff',stroke:blue,'stroke-width':2.5}},
|
|
43
|
+
{id:'slide-title',kind:'rect',attributes:{x:199,y:190,width:115,height:11,rx:3,fill:lightGray}},
|
|
44
|
+
{id:'diagram-path',kind:'path',attributes:{d:'M305 251V270H231V278M305 270H379V278',fill:'none',stroke:lightGray,'stroke-width':3}},
|
|
45
|
+
{id:'diagram-parent',kind:'rect',attributes:{x:284,y:215,width:42,height:36,rx:7,fill:blue}},
|
|
46
|
+
{id:'diagram-child-1',kind:'rect',attributes:{x:210,y:278,width:42,height:25,rx:6,fill:'#eaf6fb',stroke:blue,'stroke-width':2}},
|
|
47
|
+
{id:'diagram-child-2',kind:'rect',attributes:{x:358,y:278,width:42,height:25,rx:6,fill:'#eaf6fb',stroke:blue,'stroke-width':2}},
|
|
48
|
+
{id:'table-frame',kind:'rect',attributes:{x:180,y:338,width:252,height:64,rx:8,fill:'#ffffff',stroke:blue,'stroke-width':2.5}},
|
|
49
|
+
{id:'table-header',kind:'rect',attributes:{x:181,y:339,width:250,height:20,rx:7,fill:'#eaf6fb'}},
|
|
50
|
+
{id:'table-grid',kind:'path',attributes:{d:'M250 339V401M330 339V401M181 359H431M181 380H431',fill:'none',stroke:lightGray,'stroke-width':2}},
|
|
51
|
+
{id:'table-emphasis',kind:'rect',attributes:{x:196,y:365,width:38,height:8,rx:3,fill:blue}},
|
|
52
|
+
];
|
|
53
|
+
const components:CompositionComponent[]=[
|
|
54
|
+
text('brand','Konpeki',150,120,480,110,84),
|
|
55
|
+
{id:'brand-mark',kind:'image',slotIds:['brand-mark-content'],preferredRect:{x:64,y:143,width:66,height:66},customVisual:{format:'vector',viewBox:{x:0,y:0,width:128,height:128},description:'Konpeki blue brush mark',elements:[{id:'mark-silhouette',kind:'path',attributes:{d:outline,fill:blue}}]}},
|
|
56
|
+
text('promise','Create clear visuals',64,302,680,90,62),
|
|
57
|
+
text('audience','with your coding agent.',64,400,660,76,44,400),
|
|
58
|
+
{id:'visual-family',kind:'image',slotIds:['visual-family-content'],preferredRect:{x:772,y:106,width:444,height:412},customVisual:{format:'vector',viewBox:{x:0,y:0,width:444,height:412},description:'Aligned white canvases using Konpeki text, image, bar chart, line chart, diagram and table components.',elements}},
|
|
59
|
+
];
|
|
60
|
+
const document:CompositionDocument={schema:compositionSchema,title:'Konpeki GitHub cover',authoringMode:'default',theme:{id:'plex',mode:'paper'},slides:[{
|
|
61
|
+
id:'github-cover',name:'GitHub repository cover',canvas:{width:1280,height:640},innerPadding:{top:64,right:64,bottom:64,left:64},pageNumber:{style:'none',color:'muted'},
|
|
62
|
+
audience:'Developers discovering Konpeki on GitHub',question:'What can I create with Konpeki and my coding agent?',intendedViewingSize:'social',components,
|
|
63
|
+
contentSlots:components.map(c=>({id:c.slotIds[0],label:c.id,role:'body',required:true,instruction:c.kind==='text-block'?c.content??'':c.customVisual?.description??''})),
|
|
64
|
+
groups:[],relationships:[],readingOrder:components.map(c=>({kind:'component',id:c.id})),paintOrder:components.map(c=>c.id),
|
|
65
|
+
}]};
|
|
66
|
+
assertComposition(document);
|
|
67
|
+
writeFileSync(new URL('composition.json',import.meta.url),JSON.stringify(document,null,2)+'\n');
|
|
@@ -0,0 +1,595 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "konpeki-composition/v1",
|
|
3
|
+
"title": "Konpeki GitHub cover",
|
|
4
|
+
"authoringMode": "default",
|
|
5
|
+
"theme": {
|
|
6
|
+
"id": "plex",
|
|
7
|
+
"mode": "paper"
|
|
8
|
+
},
|
|
9
|
+
"slides": [
|
|
10
|
+
{
|
|
11
|
+
"id": "github-cover",
|
|
12
|
+
"name": "GitHub repository cover",
|
|
13
|
+
"canvas": {
|
|
14
|
+
"width": 1280,
|
|
15
|
+
"height": 640
|
|
16
|
+
},
|
|
17
|
+
"innerPadding": {
|
|
18
|
+
"top": 64,
|
|
19
|
+
"right": 64,
|
|
20
|
+
"bottom": 64,
|
|
21
|
+
"left": 64
|
|
22
|
+
},
|
|
23
|
+
"pageNumber": {
|
|
24
|
+
"style": "none",
|
|
25
|
+
"color": "muted"
|
|
26
|
+
},
|
|
27
|
+
"audience": "Developers discovering Konpeki on GitHub",
|
|
28
|
+
"question": "What can I create with Konpeki and my coding agent?",
|
|
29
|
+
"intendedViewingSize": "social",
|
|
30
|
+
"components": [
|
|
31
|
+
{
|
|
32
|
+
"id": "brand",
|
|
33
|
+
"kind": "text-block",
|
|
34
|
+
"content": "Konpeki",
|
|
35
|
+
"slotIds": [
|
|
36
|
+
"brand-content"
|
|
37
|
+
],
|
|
38
|
+
"preferredRect": {
|
|
39
|
+
"x": 150,
|
|
40
|
+
"y": 120,
|
|
41
|
+
"width": 480,
|
|
42
|
+
"height": 110
|
|
43
|
+
},
|
|
44
|
+
"textStyle": {
|
|
45
|
+
"size": 84,
|
|
46
|
+
"weight": 600,
|
|
47
|
+
"lineHeight": 1.18,
|
|
48
|
+
"color": "ink",
|
|
49
|
+
"font": "heading"
|
|
50
|
+
},
|
|
51
|
+
"appearance": {
|
|
52
|
+
"role": "title",
|
|
53
|
+
"alignment": "start",
|
|
54
|
+
"border": "none",
|
|
55
|
+
"rule": "none"
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"id": "brand-mark",
|
|
60
|
+
"kind": "image",
|
|
61
|
+
"slotIds": [
|
|
62
|
+
"brand-mark-content"
|
|
63
|
+
],
|
|
64
|
+
"preferredRect": {
|
|
65
|
+
"x": 64,
|
|
66
|
+
"y": 143,
|
|
67
|
+
"width": 66,
|
|
68
|
+
"height": 66
|
|
69
|
+
},
|
|
70
|
+
"customVisual": {
|
|
71
|
+
"format": "vector",
|
|
72
|
+
"viewBox": {
|
|
73
|
+
"x": 0,
|
|
74
|
+
"y": 0,
|
|
75
|
+
"width": 128,
|
|
76
|
+
"height": 128
|
|
77
|
+
},
|
|
78
|
+
"description": "Konpeki blue brush mark",
|
|
79
|
+
"elements": [
|
|
80
|
+
{
|
|
81
|
+
"id": "mark-silhouette",
|
|
82
|
+
"kind": "path",
|
|
83
|
+
"attributes": {
|
|
84
|
+
"d": "M55 0h5v1H55ZM52 1h9v1H52ZM108 1h4v1H108ZM25 2h2v1H25ZM50 2h13v1H50ZM105 2h8v1H105ZM24 3h5v1H24ZM47 3h16v1H47ZM102 3h11v1H102ZM22 4h8v1H22ZM45 4h19v1H45ZM100 4h13v1H100ZM21 5h10v1H21ZM43 5h22v1H43ZM78 5h4v1H78ZM97 5h17v1H97ZM20 6h12v1H20ZM41 6h24v1H41ZM76 6h8v1H76ZM94 6h21v1H94ZM19 7h13v1H19ZM38 7h27v1H38ZM73 7h12v1H73ZM92 7h23v1H92ZM18 8h15v1H18ZM35 8h31v1H35ZM71 8h15v1H71ZM90 8h25v1H90ZM17 9h49v1H17ZM69 9h18v1H69ZM88 9h27v1H88ZM16 10h99v1H16ZM15 11h101v1H15ZM14 12h104v1H14ZM13 13h107v1H13ZM12 14h109v1H12ZM10 15h112v1H10ZM9 16h114v1H9ZM8 17h116v1H8ZM6 18h119v1H6ZM5 19h120v1H5ZM4 20h121v1H4ZM3 21h122v1H3ZM3 22h122v1H3ZM2 23h122v1H2ZM1 24h123v1H1ZM0 25h122v1H0ZM0 26h120v1H0ZM1 27h118v1H1ZM2 28h116v1H2ZM3 29h113v1H3ZM3 30h113v1H3ZM4 31h111v1H4ZM5 32h111v1H5ZM6 33h111v1H6ZM7 34h109v1H7ZM8 35h108v1H8ZM9 36h107v1H9ZM9 37h106v1H9ZM9 38h105v1H9ZM8 39h105v1H8ZM8 40h104v1H8ZM9 41h104v1H9ZM9 42h105v1H9ZM10 43h104v1H10ZM11 44h104v1H11ZM13 45h103v1H13ZM14 46h103v1H14ZM14 47h103v1H14ZM13 48h103v1H13ZM12 49h104v1H12ZM11 50h105v1H11ZM10 51h106v1H10ZM9 52h106v1H9ZM8 53h107v1H8ZM7 54h107v1H7ZM6 55h110v1H6ZM5 56h112v1H5ZM4 57h114v1H4ZM4 58h113v1H4ZM4 59h113v1H4ZM4 60h114v1H4ZM4 61h114v1H4ZM4 62h115v1H4ZM6 63h114v1H6ZM7 64h114v1H7ZM8 65h113v1H8ZM9 66h113v1H9ZM13 67h109v1H13ZM13 68h108v1H13ZM12 69h110v1H12ZM12 70h111v1H12ZM11 71h113v1H11ZM10 72h115v1H10ZM9 73h116v1H9ZM8 74h117v1H8ZM8 75h116v1H8ZM7 76h117v1H7ZM7 77h119v1H7ZM6 78h118v1H6ZM6 79h118v1H6ZM4 80h119v1H4ZM3 81h120v1H3ZM2 82h121v1H2ZM1 83h122v1H1ZM0 84h125v1H0ZM0 85h1v1H0ZM3 85h123v1H3ZM2 86h124v1H2ZM3 87h122v1H3ZM5 88h1v1H5ZM10 88h115v1H10ZM10 89h115v1H10ZM9 90h114v1H9ZM8 91h114v1H8ZM8 92h114v1H8ZM7 93h114v1H7ZM6 94h113v1H6ZM5 95h4v1H5ZM11 95h107v1H11ZM6 96h3v1H6ZM11 96h106v1H11ZM125 96h3v1H125ZM7 97h2v1H7ZM11 97h105v1H11ZM123 97h4v1H123ZM8 98h1v1H8ZM11 98h105v1H11ZM120 98h5v1H120ZM10 99h106v1H10ZM117 99h7v1H117ZM10 100h114v1H10ZM9 101h114v1H9ZM8 102h113v1H8ZM7 103h113v1H7ZM7 104h2v1H7ZM10 104h109v1H10ZM10 105h108v1H10ZM9 106h109v1H9ZM9 107h107v1H9ZM10 108h105v1H10ZM10 109h103v1H10ZM10 110h101v1H10ZM9 111h101v1H9ZM10 112h17v1H10ZM28 112h2v1H28ZM32 112h77v1H32ZM11 113h15v1H11ZM31 113h77v1H31ZM12 114h10v1H12ZM24 114h1v1H24ZM31 114h76v1H31ZM14 115h7v1H14ZM31 115h28v1H31ZM60 115h3v1H60ZM67 115h38v1H67ZM15 116h4v1H15ZM31 116h31v1H31ZM68 116h35v1H68ZM18 117h1v1H18ZM34 117h26v1H34ZM69 117h33v1H69ZM33 118h24v1H33ZM69 118h31v1H69ZM32 119h23v1H32ZM68 119h31v1H68ZM31 120h22v1H31ZM68 120h6v1H68ZM77 120h5v1H77ZM83 120h2v1H83ZM86 120h11v1H86ZM31 121h20v1H31ZM68 121h4v1H68ZM78 121h3v1H78ZM86 121h9v1H86ZM30 122h2v1H30ZM35 122h14v1H35ZM85 122h2v1H85ZM92 122h1v1H92ZM30 123h1v1H30ZM33 123h3v1H33ZM39 123h9v1H39ZM32 124h1v1H32ZM41 124h7v1H41ZM35 125h1v1H35ZM41 125h3v1H41ZM42 126h1v1H42ZM42 127h1v1H42Z",
|
|
85
|
+
"fill": "#007fb5"
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
]
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"id": "promise",
|
|
93
|
+
"kind": "text-block",
|
|
94
|
+
"content": "Create clear visuals",
|
|
95
|
+
"slotIds": [
|
|
96
|
+
"promise-content"
|
|
97
|
+
],
|
|
98
|
+
"preferredRect": {
|
|
99
|
+
"x": 64,
|
|
100
|
+
"y": 302,
|
|
101
|
+
"width": 680,
|
|
102
|
+
"height": 90
|
|
103
|
+
},
|
|
104
|
+
"textStyle": {
|
|
105
|
+
"size": 62,
|
|
106
|
+
"weight": 600,
|
|
107
|
+
"lineHeight": 1.18,
|
|
108
|
+
"color": "ink",
|
|
109
|
+
"font": "heading"
|
|
110
|
+
},
|
|
111
|
+
"appearance": {
|
|
112
|
+
"role": "body",
|
|
113
|
+
"alignment": "start",
|
|
114
|
+
"border": "none",
|
|
115
|
+
"rule": "none"
|
|
116
|
+
}
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"id": "audience",
|
|
120
|
+
"kind": "text-block",
|
|
121
|
+
"content": "with your coding agent.",
|
|
122
|
+
"slotIds": [
|
|
123
|
+
"audience-content"
|
|
124
|
+
],
|
|
125
|
+
"preferredRect": {
|
|
126
|
+
"x": 64,
|
|
127
|
+
"y": 400,
|
|
128
|
+
"width": 660,
|
|
129
|
+
"height": 76
|
|
130
|
+
},
|
|
131
|
+
"textStyle": {
|
|
132
|
+
"size": 44,
|
|
133
|
+
"weight": 400,
|
|
134
|
+
"lineHeight": 1.18,
|
|
135
|
+
"color": "ink",
|
|
136
|
+
"font": "heading"
|
|
137
|
+
},
|
|
138
|
+
"appearance": {
|
|
139
|
+
"role": "body",
|
|
140
|
+
"alignment": "start",
|
|
141
|
+
"border": "none",
|
|
142
|
+
"rule": "none"
|
|
143
|
+
}
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
"id": "visual-family",
|
|
147
|
+
"kind": "image",
|
|
148
|
+
"slotIds": [
|
|
149
|
+
"visual-family-content"
|
|
150
|
+
],
|
|
151
|
+
"preferredRect": {
|
|
152
|
+
"x": 772,
|
|
153
|
+
"y": 106,
|
|
154
|
+
"width": 444,
|
|
155
|
+
"height": 412
|
|
156
|
+
},
|
|
157
|
+
"customVisual": {
|
|
158
|
+
"format": "vector",
|
|
159
|
+
"viewBox": {
|
|
160
|
+
"x": 0,
|
|
161
|
+
"y": 0,
|
|
162
|
+
"width": 444,
|
|
163
|
+
"height": 412
|
|
164
|
+
},
|
|
165
|
+
"description": "Aligned white canvases using Konpeki text, image, bar chart, line chart, diagram and table components.",
|
|
166
|
+
"elements": [
|
|
167
|
+
{
|
|
168
|
+
"id": "cover-frame",
|
|
169
|
+
"kind": "rect",
|
|
170
|
+
"attributes": {
|
|
171
|
+
"x": 10,
|
|
172
|
+
"y": 8,
|
|
173
|
+
"width": 260,
|
|
174
|
+
"height": 140,
|
|
175
|
+
"rx": 8,
|
|
176
|
+
"fill": "#ffffff",
|
|
177
|
+
"stroke": "#007fb5",
|
|
178
|
+
"stroke-width": 2.5
|
|
179
|
+
}
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
"id": "cover-mark",
|
|
183
|
+
"kind": "rect",
|
|
184
|
+
"attributes": {
|
|
185
|
+
"x": 28,
|
|
186
|
+
"y": 28,
|
|
187
|
+
"width": 42,
|
|
188
|
+
"height": 42,
|
|
189
|
+
"rx": 4,
|
|
190
|
+
"fill": "#007fb5"
|
|
191
|
+
}
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
"id": "cover-title",
|
|
195
|
+
"kind": "rect",
|
|
196
|
+
"attributes": {
|
|
197
|
+
"x": 86,
|
|
198
|
+
"y": 29,
|
|
199
|
+
"width": 144,
|
|
200
|
+
"height": 13,
|
|
201
|
+
"rx": 3,
|
|
202
|
+
"fill": "#b2bdc2"
|
|
203
|
+
}
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
"id": "cover-copy-1",
|
|
207
|
+
"kind": "rect",
|
|
208
|
+
"attributes": {
|
|
209
|
+
"x": 86,
|
|
210
|
+
"y": 53,
|
|
211
|
+
"width": 112,
|
|
212
|
+
"height": 7,
|
|
213
|
+
"rx": 3,
|
|
214
|
+
"fill": "#b2bdc2"
|
|
215
|
+
}
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
"id": "cover-copy-2",
|
|
219
|
+
"kind": "rect",
|
|
220
|
+
"attributes": {
|
|
221
|
+
"x": 28,
|
|
222
|
+
"y": 102,
|
|
223
|
+
"width": 164,
|
|
224
|
+
"height": 7,
|
|
225
|
+
"rx": 3,
|
|
226
|
+
"fill": "#b2bdc2"
|
|
227
|
+
}
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
"id": "cover-accent",
|
|
231
|
+
"kind": "rect",
|
|
232
|
+
"attributes": {
|
|
233
|
+
"x": 211,
|
|
234
|
+
"y": 96,
|
|
235
|
+
"width": 39,
|
|
236
|
+
"height": 28,
|
|
237
|
+
"rx": 4,
|
|
238
|
+
"fill": "#eaf6fb"
|
|
239
|
+
}
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
"id": "square-frame",
|
|
243
|
+
"kind": "rect",
|
|
244
|
+
"attributes": {
|
|
245
|
+
"x": 292,
|
|
246
|
+
"y": 8,
|
|
247
|
+
"width": 140,
|
|
248
|
+
"height": 140,
|
|
249
|
+
"rx": 8,
|
|
250
|
+
"fill": "#ffffff",
|
|
251
|
+
"stroke": "#007fb5",
|
|
252
|
+
"stroke-width": 2.5
|
|
253
|
+
}
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
"id": "square-title",
|
|
257
|
+
"kind": "rect",
|
|
258
|
+
"attributes": {
|
|
259
|
+
"x": 311,
|
|
260
|
+
"y": 28,
|
|
261
|
+
"width": 82,
|
|
262
|
+
"height": 10,
|
|
263
|
+
"rx": 3,
|
|
264
|
+
"fill": "#b2bdc2"
|
|
265
|
+
}
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
"id": "square-bar-1",
|
|
269
|
+
"kind": "rect",
|
|
270
|
+
"attributes": {
|
|
271
|
+
"x": 314,
|
|
272
|
+
"y": 93,
|
|
273
|
+
"width": 18,
|
|
274
|
+
"height": 31,
|
|
275
|
+
"rx": 3,
|
|
276
|
+
"fill": "#007fb5"
|
|
277
|
+
}
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
"id": "square-bar-2",
|
|
281
|
+
"kind": "rect",
|
|
282
|
+
"attributes": {
|
|
283
|
+
"x": 342,
|
|
284
|
+
"y": 72,
|
|
285
|
+
"width": 18,
|
|
286
|
+
"height": 52,
|
|
287
|
+
"rx": 3,
|
|
288
|
+
"fill": "#5cb9df"
|
|
289
|
+
}
|
|
290
|
+
},
|
|
291
|
+
{
|
|
292
|
+
"id": "square-bar-3",
|
|
293
|
+
"kind": "rect",
|
|
294
|
+
"attributes": {
|
|
295
|
+
"x": 370,
|
|
296
|
+
"y": 52,
|
|
297
|
+
"width": 18,
|
|
298
|
+
"height": 72,
|
|
299
|
+
"rx": 3,
|
|
300
|
+
"fill": "#9adbed"
|
|
301
|
+
}
|
|
302
|
+
},
|
|
303
|
+
{
|
|
304
|
+
"id": "square-baseline",
|
|
305
|
+
"kind": "path",
|
|
306
|
+
"attributes": {
|
|
307
|
+
"d": "M307 126H410",
|
|
308
|
+
"fill": "none",
|
|
309
|
+
"stroke": "#b2bdc2",
|
|
310
|
+
"stroke-width": 2
|
|
311
|
+
}
|
|
312
|
+
},
|
|
313
|
+
{
|
|
314
|
+
"id": "portrait-frame",
|
|
315
|
+
"kind": "rect",
|
|
316
|
+
"attributes": {
|
|
317
|
+
"x": 10,
|
|
318
|
+
"y": 172,
|
|
319
|
+
"width": 145,
|
|
320
|
+
"height": 230,
|
|
321
|
+
"rx": 8,
|
|
322
|
+
"fill": "#ffffff",
|
|
323
|
+
"stroke": "#007fb5",
|
|
324
|
+
"stroke-width": 2.5
|
|
325
|
+
}
|
|
326
|
+
},
|
|
327
|
+
{
|
|
328
|
+
"id": "portrait-title",
|
|
329
|
+
"kind": "rect",
|
|
330
|
+
"attributes": {
|
|
331
|
+
"x": 28,
|
|
332
|
+
"y": 193,
|
|
333
|
+
"width": 94,
|
|
334
|
+
"height": 11,
|
|
335
|
+
"rx": 3,
|
|
336
|
+
"fill": "#b2bdc2"
|
|
337
|
+
}
|
|
338
|
+
},
|
|
339
|
+
{
|
|
340
|
+
"id": "portrait-visual",
|
|
341
|
+
"kind": "rect",
|
|
342
|
+
"attributes": {
|
|
343
|
+
"x": 28,
|
|
344
|
+
"y": 224,
|
|
345
|
+
"width": 109,
|
|
346
|
+
"height": 81,
|
|
347
|
+
"rx": 5,
|
|
348
|
+
"fill": "#eaf6fb"
|
|
349
|
+
}
|
|
350
|
+
},
|
|
351
|
+
{
|
|
352
|
+
"id": "portrait-rule",
|
|
353
|
+
"kind": "path",
|
|
354
|
+
"attributes": {
|
|
355
|
+
"d": "M45 285L76 247 96 270 122 236",
|
|
356
|
+
"fill": "none",
|
|
357
|
+
"stroke": "#007fb5",
|
|
358
|
+
"stroke-width": 4
|
|
359
|
+
}
|
|
360
|
+
},
|
|
361
|
+
{
|
|
362
|
+
"id": "portrait-copy-1",
|
|
363
|
+
"kind": "rect",
|
|
364
|
+
"attributes": {
|
|
365
|
+
"x": 28,
|
|
366
|
+
"y": 326,
|
|
367
|
+
"width": 92,
|
|
368
|
+
"height": 7,
|
|
369
|
+
"rx": 3,
|
|
370
|
+
"fill": "#b2bdc2"
|
|
371
|
+
}
|
|
372
|
+
},
|
|
373
|
+
{
|
|
374
|
+
"id": "portrait-copy-2",
|
|
375
|
+
"kind": "rect",
|
|
376
|
+
"attributes": {
|
|
377
|
+
"x": 28,
|
|
378
|
+
"y": 344,
|
|
379
|
+
"width": 108,
|
|
380
|
+
"height": 7,
|
|
381
|
+
"rx": 3,
|
|
382
|
+
"fill": "#b2bdc2"
|
|
383
|
+
}
|
|
384
|
+
},
|
|
385
|
+
{
|
|
386
|
+
"id": "portrait-copy-3",
|
|
387
|
+
"kind": "rect",
|
|
388
|
+
"attributes": {
|
|
389
|
+
"x": 28,
|
|
390
|
+
"y": 362,
|
|
391
|
+
"width": 74,
|
|
392
|
+
"height": 7,
|
|
393
|
+
"rx": 3,
|
|
394
|
+
"fill": "#b2bdc2"
|
|
395
|
+
}
|
|
396
|
+
},
|
|
397
|
+
{
|
|
398
|
+
"id": "slide-frame",
|
|
399
|
+
"kind": "rect",
|
|
400
|
+
"attributes": {
|
|
401
|
+
"x": 180,
|
|
402
|
+
"y": 172,
|
|
403
|
+
"width": 252,
|
|
404
|
+
"height": 144,
|
|
405
|
+
"rx": 8,
|
|
406
|
+
"fill": "#ffffff",
|
|
407
|
+
"stroke": "#007fb5",
|
|
408
|
+
"stroke-width": 2.5
|
|
409
|
+
}
|
|
410
|
+
},
|
|
411
|
+
{
|
|
412
|
+
"id": "slide-title",
|
|
413
|
+
"kind": "rect",
|
|
414
|
+
"attributes": {
|
|
415
|
+
"x": 199,
|
|
416
|
+
"y": 190,
|
|
417
|
+
"width": 115,
|
|
418
|
+
"height": 11,
|
|
419
|
+
"rx": 3,
|
|
420
|
+
"fill": "#b2bdc2"
|
|
421
|
+
}
|
|
422
|
+
},
|
|
423
|
+
{
|
|
424
|
+
"id": "diagram-path",
|
|
425
|
+
"kind": "path",
|
|
426
|
+
"attributes": {
|
|
427
|
+
"d": "M305 251V270H231V278M305 270H379V278",
|
|
428
|
+
"fill": "none",
|
|
429
|
+
"stroke": "#b2bdc2",
|
|
430
|
+
"stroke-width": 3
|
|
431
|
+
}
|
|
432
|
+
},
|
|
433
|
+
{
|
|
434
|
+
"id": "diagram-parent",
|
|
435
|
+
"kind": "rect",
|
|
436
|
+
"attributes": {
|
|
437
|
+
"x": 284,
|
|
438
|
+
"y": 215,
|
|
439
|
+
"width": 42,
|
|
440
|
+
"height": 36,
|
|
441
|
+
"rx": 7,
|
|
442
|
+
"fill": "#007fb5"
|
|
443
|
+
}
|
|
444
|
+
},
|
|
445
|
+
{
|
|
446
|
+
"id": "diagram-child-1",
|
|
447
|
+
"kind": "rect",
|
|
448
|
+
"attributes": {
|
|
449
|
+
"x": 210,
|
|
450
|
+
"y": 278,
|
|
451
|
+
"width": 42,
|
|
452
|
+
"height": 25,
|
|
453
|
+
"rx": 6,
|
|
454
|
+
"fill": "#eaf6fb",
|
|
455
|
+
"stroke": "#007fb5",
|
|
456
|
+
"stroke-width": 2
|
|
457
|
+
}
|
|
458
|
+
},
|
|
459
|
+
{
|
|
460
|
+
"id": "diagram-child-2",
|
|
461
|
+
"kind": "rect",
|
|
462
|
+
"attributes": {
|
|
463
|
+
"x": 358,
|
|
464
|
+
"y": 278,
|
|
465
|
+
"width": 42,
|
|
466
|
+
"height": 25,
|
|
467
|
+
"rx": 6,
|
|
468
|
+
"fill": "#eaf6fb",
|
|
469
|
+
"stroke": "#007fb5",
|
|
470
|
+
"stroke-width": 2
|
|
471
|
+
}
|
|
472
|
+
},
|
|
473
|
+
{
|
|
474
|
+
"id": "table-frame",
|
|
475
|
+
"kind": "rect",
|
|
476
|
+
"attributes": {
|
|
477
|
+
"x": 180,
|
|
478
|
+
"y": 338,
|
|
479
|
+
"width": 252,
|
|
480
|
+
"height": 64,
|
|
481
|
+
"rx": 8,
|
|
482
|
+
"fill": "#ffffff",
|
|
483
|
+
"stroke": "#007fb5",
|
|
484
|
+
"stroke-width": 2.5
|
|
485
|
+
}
|
|
486
|
+
},
|
|
487
|
+
{
|
|
488
|
+
"id": "table-header",
|
|
489
|
+
"kind": "rect",
|
|
490
|
+
"attributes": {
|
|
491
|
+
"x": 181,
|
|
492
|
+
"y": 339,
|
|
493
|
+
"width": 250,
|
|
494
|
+
"height": 20,
|
|
495
|
+
"rx": 7,
|
|
496
|
+
"fill": "#eaf6fb"
|
|
497
|
+
}
|
|
498
|
+
},
|
|
499
|
+
{
|
|
500
|
+
"id": "table-grid",
|
|
501
|
+
"kind": "path",
|
|
502
|
+
"attributes": {
|
|
503
|
+
"d": "M250 339V401M330 339V401M181 359H431M181 380H431",
|
|
504
|
+
"fill": "none",
|
|
505
|
+
"stroke": "#b2bdc2",
|
|
506
|
+
"stroke-width": 2
|
|
507
|
+
}
|
|
508
|
+
},
|
|
509
|
+
{
|
|
510
|
+
"id": "table-emphasis",
|
|
511
|
+
"kind": "rect",
|
|
512
|
+
"attributes": {
|
|
513
|
+
"x": 196,
|
|
514
|
+
"y": 365,
|
|
515
|
+
"width": 38,
|
|
516
|
+
"height": 8,
|
|
517
|
+
"rx": 3,
|
|
518
|
+
"fill": "#007fb5"
|
|
519
|
+
}
|
|
520
|
+
}
|
|
521
|
+
]
|
|
522
|
+
}
|
|
523
|
+
}
|
|
524
|
+
],
|
|
525
|
+
"contentSlots": [
|
|
526
|
+
{
|
|
527
|
+
"id": "brand-content",
|
|
528
|
+
"label": "brand",
|
|
529
|
+
"role": "body",
|
|
530
|
+
"required": true,
|
|
531
|
+
"instruction": "Konpeki"
|
|
532
|
+
},
|
|
533
|
+
{
|
|
534
|
+
"id": "brand-mark-content",
|
|
535
|
+
"label": "brand-mark",
|
|
536
|
+
"role": "body",
|
|
537
|
+
"required": true,
|
|
538
|
+
"instruction": "Konpeki blue brush mark"
|
|
539
|
+
},
|
|
540
|
+
{
|
|
541
|
+
"id": "promise-content",
|
|
542
|
+
"label": "promise",
|
|
543
|
+
"role": "body",
|
|
544
|
+
"required": true,
|
|
545
|
+
"instruction": "Create clear visuals"
|
|
546
|
+
},
|
|
547
|
+
{
|
|
548
|
+
"id": "audience-content",
|
|
549
|
+
"label": "audience",
|
|
550
|
+
"role": "body",
|
|
551
|
+
"required": true,
|
|
552
|
+
"instruction": "with your coding agent."
|
|
553
|
+
},
|
|
554
|
+
{
|
|
555
|
+
"id": "visual-family-content",
|
|
556
|
+
"label": "visual-family",
|
|
557
|
+
"role": "body",
|
|
558
|
+
"required": true,
|
|
559
|
+
"instruction": "Aligned white canvases using Konpeki text, image, bar chart, line chart, diagram and table components."
|
|
560
|
+
}
|
|
561
|
+
],
|
|
562
|
+
"groups": [],
|
|
563
|
+
"relationships": [],
|
|
564
|
+
"readingOrder": [
|
|
565
|
+
{
|
|
566
|
+
"kind": "component",
|
|
567
|
+
"id": "brand"
|
|
568
|
+
},
|
|
569
|
+
{
|
|
570
|
+
"kind": "component",
|
|
571
|
+
"id": "brand-mark"
|
|
572
|
+
},
|
|
573
|
+
{
|
|
574
|
+
"kind": "component",
|
|
575
|
+
"id": "promise"
|
|
576
|
+
},
|
|
577
|
+
{
|
|
578
|
+
"kind": "component",
|
|
579
|
+
"id": "audience"
|
|
580
|
+
},
|
|
581
|
+
{
|
|
582
|
+
"kind": "component",
|
|
583
|
+
"id": "visual-family"
|
|
584
|
+
}
|
|
585
|
+
],
|
|
586
|
+
"paintOrder": [
|
|
587
|
+
"brand",
|
|
588
|
+
"brand-mark",
|
|
589
|
+
"promise",
|
|
590
|
+
"audience",
|
|
591
|
+
"visual-family"
|
|
592
|
+
]
|
|
593
|
+
}
|
|
594
|
+
]
|
|
595
|
+
}
|