@a2uicatalog/mcp 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.
@@ -0,0 +1,4612 @@
1
+ {
2
+ "catalogId": "a2ui-atoms-v1",
3
+ "atomCount": 474,
4
+ "fullSpec": "https://a2uicatalog.ai/spec.json",
5
+ "atoms": [
6
+ {
7
+ "type": "intro",
8
+ "compact": "series link or transparency note at article top",
9
+ "surfaces": [
10
+ "web",
11
+ "google-meet-stage",
12
+ "google-chat",
13
+ "email",
14
+ "pdf",
15
+ "google-apps-script-web",
16
+ "mcp-apps"
17
+ ]
18
+ },
19
+ {
20
+ "type": "body",
21
+ "compact": "prose paragraph block",
22
+ "surfaces": [
23
+ "web",
24
+ "google-meet-stage",
25
+ "google-chat",
26
+ "email",
27
+ "pdf",
28
+ "google-apps-script-web",
29
+ "mcp-apps"
30
+ ]
31
+ },
32
+ {
33
+ "type": "heading",
34
+ "compact": "H2 section title",
35
+ "surfaces": [
36
+ "web",
37
+ "google-meet-stage",
38
+ "google-chat",
39
+ "email",
40
+ "pdf",
41
+ "google-apps-script-web",
42
+ "mcp-apps"
43
+ ]
44
+ },
45
+ {
46
+ "type": "subheading",
47
+ "compact": "H3 subsection title",
48
+ "surfaces": [
49
+ "web",
50
+ "google-meet-stage",
51
+ "google-chat",
52
+ "email",
53
+ "pdf",
54
+ "google-apps-script-web",
55
+ "mcp-apps"
56
+ ]
57
+ },
58
+ {
59
+ "type": "quote",
60
+ "compact": "pull quote or blockquote with attribution",
61
+ "surfaces": [
62
+ "web",
63
+ "google-meet-stage",
64
+ "email",
65
+ "pdf",
66
+ "google-apps-script-web",
67
+ "mcp-apps"
68
+ ]
69
+ },
70
+ {
71
+ "type": "code",
72
+ "compact": "syntax-highlighted fenced code block",
73
+ "surfaces": [
74
+ "web",
75
+ "google-meet-stage",
76
+ "pdf",
77
+ "google-apps-script-web",
78
+ "mcp-apps"
79
+ ]
80
+ },
81
+ {
82
+ "type": "pipeline",
83
+ "compact": "left-to-right step flow diagram",
84
+ "surfaces": [
85
+ "web",
86
+ "google-meet-stage",
87
+ "pdf",
88
+ "google-apps-script-web",
89
+ "mcp-apps"
90
+ ]
91
+ },
92
+ {
93
+ "type": "bullet_list",
94
+ "compact": "unordered list with optional bold label per item",
95
+ "surfaces": [
96
+ "web",
97
+ "google-meet-stage",
98
+ "google-chat",
99
+ "email",
100
+ "pdf",
101
+ "google-apps-script-web",
102
+ "mcp-apps"
103
+ ]
104
+ },
105
+ {
106
+ "type": "divider",
107
+ "compact": "horizontal visual section break",
108
+ "surfaces": [
109
+ "web",
110
+ "google-meet-stage",
111
+ "email",
112
+ "pdf",
113
+ "google-apps-script-web",
114
+ "mcp-apps"
115
+ ]
116
+ },
117
+ {
118
+ "type": "youtube",
119
+ "compact": "responsive 16:9 YouTube embed",
120
+ "surfaces": [
121
+ "web",
122
+ "google-meet-stage",
123
+ "mcp-apps"
124
+ ]
125
+ },
126
+ {
127
+ "type": "image",
128
+ "compact": "single image with optional caption",
129
+ "surfaces": [
130
+ "web",
131
+ "google-meet-stage",
132
+ "email",
133
+ "pdf",
134
+ "google-apps-script-web",
135
+ "mcp-apps"
136
+ ]
137
+ },
138
+ {
139
+ "type": "image_pair",
140
+ "compact": "two images side by side with captions",
141
+ "surfaces": [
142
+ "web",
143
+ "google-meet-stage",
144
+ "pdf",
145
+ "google-apps-script-web",
146
+ "mcp-apps"
147
+ ]
148
+ },
149
+ {
150
+ "type": "diagram",
151
+ "compact": "D2 or SVG architecture diagram",
152
+ "surfaces": [
153
+ "web",
154
+ "google-meet-stage",
155
+ "pdf",
156
+ "google-apps-script-web",
157
+ "mcp-apps"
158
+ ]
159
+ },
160
+ {
161
+ "type": "github_repo_card",
162
+ "compact": "live GitHub repo card with stars forks and language",
163
+ "surfaces": [
164
+ "web",
165
+ "google-apps-script-web",
166
+ "mcp-apps"
167
+ ]
168
+ },
169
+ {
170
+ "type": "repo_links",
171
+ "compact": "styled GitHub repo link list",
172
+ "surfaces": [
173
+ "web",
174
+ "google-meet-stage",
175
+ "email",
176
+ "pdf",
177
+ "google-apps-script-web",
178
+ "mcp-apps"
179
+ ]
180
+ },
181
+ {
182
+ "type": "closing",
183
+ "compact": "article closing paragraph with hashtags",
184
+ "surfaces": [
185
+ "web",
186
+ "google-meet-stage",
187
+ "google-chat",
188
+ "email",
189
+ "pdf",
190
+ "google-apps-script-web",
191
+ "mcp-apps"
192
+ ]
193
+ },
194
+ {
195
+ "type": "callout",
196
+ "compact": "coloured tip info warning or danger highlight box",
197
+ "surfaces": [
198
+ "web",
199
+ "google-meet-stage",
200
+ "pdf",
201
+ "google-apps-script-web",
202
+ "mcp-apps"
203
+ ]
204
+ },
205
+ {
206
+ "type": "steps",
207
+ "compact": "numbered step-by-step instruction sequence",
208
+ "surfaces": [
209
+ "web",
210
+ "google-meet-stage",
211
+ "pdf",
212
+ "google-apps-script-web",
213
+ "mcp-apps"
214
+ ]
215
+ },
216
+ {
217
+ "type": "table",
218
+ "compact": "data table with header row on mobile",
219
+ "surfaces": [
220
+ "web",
221
+ "google-meet-stage",
222
+ "email",
223
+ "pdf",
224
+ "google-apps-script-web",
225
+ "mcp-apps"
226
+ ]
227
+ },
228
+ {
229
+ "type": "tabs",
230
+ "compact": "tabbed content panels",
231
+ "surfaces": [
232
+ "web",
233
+ "google-meet-stage",
234
+ "google-apps-script-web",
235
+ "mcp-apps"
236
+ ]
237
+ },
238
+ {
239
+ "type": "key_value",
240
+ "compact": "label and value pairs in a compact grid",
241
+ "surfaces": [
242
+ "web",
243
+ "google-meet-stage",
244
+ "pdf",
245
+ "google-apps-script-web",
246
+ "mcp-apps"
247
+ ]
248
+ },
249
+ {
250
+ "type": "before_after",
251
+ "compact": "side-by-side code or content before and after comparison approach",
252
+ "surfaces": [
253
+ "web",
254
+ "google-meet-stage",
255
+ "google-apps-script-web",
256
+ "mcp-apps"
257
+ ]
258
+ },
259
+ {
260
+ "type": "api_reference",
261
+ "compact": "API endpoint method parameters and response docs returns, example",
262
+ "surfaces": [
263
+ "web",
264
+ "google-meet-stage",
265
+ "pdf",
266
+ "google-apps-script-web",
267
+ "mcp-apps"
268
+ ]
269
+ },
270
+ {
271
+ "type": "gallery",
272
+ "compact": "scrollable image gallery grid",
273
+ "surfaces": [
274
+ "web",
275
+ "google-apps-script-web",
276
+ "mcp-apps"
277
+ ]
278
+ },
279
+ {
280
+ "type": "video_pair",
281
+ "compact": "two videos side by side",
282
+ "surfaces": [
283
+ "web",
284
+ "google-meet-stage",
285
+ "google-apps-script-web",
286
+ "mcp-apps"
287
+ ]
288
+ },
289
+ {
290
+ "type": "carousel",
291
+ "compact": "horizontally scrollable card carousel",
292
+ "surfaces": [
293
+ "web",
294
+ "google-meet-stage",
295
+ "google-apps-script-web",
296
+ "mcp-apps"
297
+ ]
298
+ },
299
+ {
300
+ "type": "timeline",
301
+ "compact": "chronological event timeline",
302
+ "surfaces": [
303
+ "web",
304
+ "google-meet-stage",
305
+ "pdf",
306
+ "google-apps-script-web",
307
+ "mcp-apps"
308
+ ]
309
+ },
310
+ {
311
+ "type": "annotated_code",
312
+ "compact": "code block with numbered callout bubbles on specific lines explanation list below",
313
+ "surfaces": [
314
+ "web",
315
+ "google-meet-stage",
316
+ "google-apps-script-web",
317
+ "mcp-apps"
318
+ ]
319
+ },
320
+ {
321
+ "type": "stat_card",
322
+ "compact": "single KPI value with label delta and accent colour indicator",
323
+ "surfaces": [
324
+ "web",
325
+ "google-meet-stage",
326
+ "google-apps-script-web",
327
+ "mcp-apps"
328
+ ]
329
+ },
330
+ {
331
+ "type": "progress_bar",
332
+ "compact": "labelled horizontal progress bar with percentage",
333
+ "surfaces": [
334
+ "web",
335
+ "google-meet-stage",
336
+ "google-apps-script-web",
337
+ "mcp-apps"
338
+ ]
339
+ },
340
+ {
341
+ "type": "badge_group",
342
+ "compact": "row of coloured label badges",
343
+ "surfaces": [
344
+ "web",
345
+ "google-meet-stage",
346
+ "google-apps-script-web",
347
+ "mcp-apps"
348
+ ]
349
+ },
350
+ {
351
+ "type": "sparkline",
352
+ "compact": "inline SVG trend line chart general trends.",
353
+ "surfaces": [
354
+ "web",
355
+ "google-meet-stage",
356
+ "google-apps-script-web",
357
+ "mcp-apps"
358
+ ]
359
+ },
360
+ {
361
+ "type": "heatmap",
362
+ "compact": "grid heatmap coloured by intensity value are represented as colors in a matrix.",
363
+ "surfaces": [
364
+ "web",
365
+ "google-meet-stage",
366
+ "google-apps-script-web",
367
+ "mcp-apps"
368
+ ]
369
+ },
370
+ {
371
+ "type": "punch_card",
372
+ "compact": "7x24 grid of glowing activity bubbles representing hourly commits",
373
+ "surfaces": [
374
+ "web",
375
+ "google-meet-stage",
376
+ "google-apps-script-web",
377
+ "mcp-apps"
378
+ ]
379
+ },
380
+ {
381
+ "type": "sankey_flow",
382
+ "compact": "curved dual-column gradient flow diagram for financial or pipeline streams",
383
+ "surfaces": [
384
+ "web",
385
+ "google-meet-stage",
386
+ "google-apps-script-web",
387
+ "mcp-apps"
388
+ ]
389
+ },
390
+ {
391
+ "type": "cohort_retention",
392
+ "compact": "triangular cohort retention grid with continuous color-scale rendering",
393
+ "surfaces": [
394
+ "web",
395
+ "google-meet-stage",
396
+ "google-apps-script-web",
397
+ "mcp-apps"
398
+ ]
399
+ },
400
+ {
401
+ "type": "donut_stat",
402
+ "compact": "CSS ring chart with centre value and percentage its proportion or progress.",
403
+ "surfaces": [
404
+ "web",
405
+ "google-meet-stage",
406
+ "google-apps-script-web",
407
+ "mcp-apps"
408
+ ]
409
+ },
410
+ {
411
+ "type": "metric_delta",
412
+ "compact": "big number metric with directional change indicator or percentage",
413
+ "surfaces": [
414
+ "web",
415
+ "google-meet-stage",
416
+ "google-chat",
417
+ "email",
418
+ "pdf",
419
+ "google-apps-script-web",
420
+ "mcp-apps"
421
+ ]
422
+ },
423
+ {
424
+ "type": "task_list",
425
+ "compact": "glassmorphic structured checklist with priority and assignee badges",
426
+ "surfaces": [
427
+ "web",
428
+ "google-meet-stage",
429
+ "google-apps-script-web",
430
+ "mcp-apps"
431
+ ]
432
+ },
433
+ {
434
+ "type": "sentiment_summary",
435
+ "compact": "meeting sentiment analyzer with index arc and timeline chart",
436
+ "surfaces": [
437
+ "web",
438
+ "google-meet-stage",
439
+ "google-apps-script-web",
440
+ "mcp-apps"
441
+ ]
442
+ },
443
+ {
444
+ "type": "trend_indicator",
445
+ "compact": "compact inline value with mini trend bar the direction of a",
446
+ "surfaces": [
447
+ "web",
448
+ "google-meet-stage",
449
+ "google-chat",
450
+ "email",
451
+ "pdf",
452
+ "google-apps-script-web",
453
+ "mcp-apps"
454
+ ]
455
+ },
456
+ {
457
+ "type": "breadcrumb",
458
+ "compact": "navigation breadcrumb trail structure.",
459
+ "surfaces": [
460
+ "web",
461
+ "google-meet-stage",
462
+ "google-apps-script-web",
463
+ "mcp-apps"
464
+ ]
465
+ },
466
+ {
467
+ "type": "pagination",
468
+ "compact": "page number controls",
469
+ "surfaces": [
470
+ "web",
471
+ "google-meet-stage",
472
+ "google-apps-script-web",
473
+ "mcp-apps"
474
+ ]
475
+ },
476
+ {
477
+ "type": "stepper",
478
+ "compact": "CSS animated vertical step sequence with checkmark draw and active pulse",
479
+ "surfaces": [
480
+ "web",
481
+ "google-meet-stage",
482
+ "google-apps-script-side-panel",
483
+ "google-apps-script-web",
484
+ "mcp-apps"
485
+ ]
486
+ },
487
+ {
488
+ "type": "tab_bar",
489
+ "compact": "horizontal tab navigation bar typically leading to different sections or pages.",
490
+ "surfaces": [
491
+ "web",
492
+ "google-meet-stage",
493
+ "google-apps-script-web",
494
+ "mcp-apps"
495
+ ]
496
+ },
497
+ {
498
+ "type": "anchor_list",
499
+ "compact": "in-page anchor navigation links document or to external URLs.",
500
+ "surfaces": [
501
+ "web",
502
+ "google-meet-stage",
503
+ "email",
504
+ "pdf",
505
+ "google-apps-script-web",
506
+ "mcp-apps"
507
+ ]
508
+ },
509
+ {
510
+ "type": "faq_accordion",
511
+ "compact": "collapsible FAQ question and answer list the question is clicked.",
512
+ "surfaces": [
513
+ "web",
514
+ "google-meet-stage",
515
+ "pdf",
516
+ "google-apps-script-web",
517
+ "mcp-apps"
518
+ ]
519
+ },
520
+ {
521
+ "type": "glossary_term",
522
+ "compact": "definition term with explanation more details.",
523
+ "surfaces": [
524
+ "web",
525
+ "google-meet-stage",
526
+ "google-chat",
527
+ "email",
528
+ "pdf",
529
+ "google-apps-script-web",
530
+ "mcp-apps"
531
+ ]
532
+ },
533
+ {
534
+ "type": "footnote",
535
+ "compact": "numbered footnote reference at the bottom of a section or page.",
536
+ "surfaces": [
537
+ "web",
538
+ "google-meet-stage",
539
+ "google-chat",
540
+ "email",
541
+ "pdf",
542
+ "google-apps-script-web",
543
+ "mcp-apps"
544
+ ]
545
+ },
546
+ {
547
+ "type": "blockquote_with_avatar",
548
+ "compact": "testimonial quote with avatar and attribution",
549
+ "surfaces": [
550
+ "web",
551
+ "google-meet-stage",
552
+ "pdf",
553
+ "google-apps-script-web",
554
+ "mcp-apps"
555
+ ]
556
+ },
557
+ {
558
+ "type": "pull_stat",
559
+ "compact": "large display number pulled from prose for emphasis descriptive label.",
560
+ "surfaces": [
561
+ "web",
562
+ "google-meet-stage",
563
+ "google-chat",
564
+ "email",
565
+ "pdf",
566
+ "google-apps-script-web",
567
+ "mcp-apps"
568
+ ]
569
+ },
570
+ {
571
+ "type": "accordion_item",
572
+ "compact": "single collapsible section with toggle by clicking its header, using only CSS.",
573
+ "surfaces": [
574
+ "web",
575
+ "google-meet-stage",
576
+ "google-apps-script-web",
577
+ "mcp-apps"
578
+ ]
579
+ },
580
+ {
581
+ "type": "tooltip",
582
+ "compact": "hover tooltip on a trigger element over a specified trigger element, using only CSS.",
583
+ "surfaces": [
584
+ "web",
585
+ "google-meet-stage",
586
+ "google-apps-script-web",
587
+ "mcp-apps"
588
+ ]
589
+ },
590
+ {
591
+ "type": "hover_card",
592
+ "compact": "rich hover card revealed on mouse over specified trigger element, using only CSS.",
593
+ "surfaces": [
594
+ "web",
595
+ "google-meet-stage",
596
+ "google-apps-script-web",
597
+ "mcp-apps"
598
+ ]
599
+ },
600
+ {
601
+ "type": "collapsible_panel",
602
+ "compact": "expandable content panel with header toggle visible and hidden states by clicking a control, using only CSS.",
603
+ "surfaces": [
604
+ "web",
605
+ "google-meet-stage",
606
+ "google-apps-script-web",
607
+ "mcp-apps"
608
+ ]
609
+ },
610
+ {
611
+ "type": "css_modal",
612
+ "compact": "pure-CSS modal dialog triggered by checkbox controlled purely by CSS without JavaScript.",
613
+ "surfaces": [
614
+ "web",
615
+ "google-meet-stage",
616
+ "google-apps-script-web",
617
+ "mcp-apps"
618
+ ]
619
+ },
620
+ {
621
+ "type": "audio_player",
622
+ "compact": "inline audio player with controls",
623
+ "surfaces": [
624
+ "web",
625
+ "google-meet-stage",
626
+ "google-apps-script-web",
627
+ "mcp-apps"
628
+ ]
629
+ },
630
+ {
631
+ "type": "audio_link",
632
+ "compact": "styled link to an audio file",
633
+ "surfaces": [
634
+ "web",
635
+ "google-meet-stage",
636
+ "google-chat",
637
+ "email",
638
+ "pdf",
639
+ "google-apps-script-web",
640
+ "mcp-apps"
641
+ ]
642
+ },
643
+ {
644
+ "type": "pdf_preview",
645
+ "compact": "embedded PDF preview panel PDF.",
646
+ "surfaces": [
647
+ "web",
648
+ "google-meet-stage",
649
+ "google-apps-script-web",
650
+ "mcp-apps"
651
+ ]
652
+ },
653
+ {
654
+ "type": "document_link",
655
+ "compact": "styled link to a downloadable document a document icon.",
656
+ "surfaces": [
657
+ "web",
658
+ "google-meet-stage",
659
+ "google-chat",
660
+ "email",
661
+ "pdf",
662
+ "google-apps-script-web",
663
+ "mcp-apps"
664
+ ]
665
+ },
666
+ {
667
+ "type": "video_thumbnail",
668
+ "compact": "clickable video thumbnail with play button and a link to the video source.",
669
+ "surfaces": [
670
+ "web",
671
+ "google-meet-stage",
672
+ "google-apps-script-web",
673
+ "mcp-apps"
674
+ ]
675
+ },
676
+ {
677
+ "type": "video_card",
678
+ "compact": "video with title description and metadata to the video source.",
679
+ "surfaces": [
680
+ "web",
681
+ "google-meet-stage",
682
+ "google-apps-script-web",
683
+ "mcp-apps"
684
+ ]
685
+ },
686
+ {
687
+ "type": "code_diff",
688
+ "compact": "server-side unified diff view with green additions and red removals",
689
+ "surfaces": [
690
+ "web",
691
+ "google-meet-stage",
692
+ "google-apps-script-side-panel",
693
+ "google-apps-script-web",
694
+ "mcp-apps"
695
+ ]
696
+ },
697
+ {
698
+ "type": "code_snippet_pair",
699
+ "compact": "two code blocks side by side without diff highlighting diff highlighting.",
700
+ "surfaces": [
701
+ "web",
702
+ "google-meet-stage",
703
+ "google-apps-script-web",
704
+ "mcp-apps"
705
+ ]
706
+ },
707
+ {
708
+ "type": "framed_screenshot",
709
+ "compact": "device-framed screenshot with optional caption browser, phone).",
710
+ "surfaces": [
711
+ "web",
712
+ "google-meet-stage",
713
+ "google-apps-script-web",
714
+ "mcp-apps"
715
+ ]
716
+ },
717
+ {
718
+ "type": "image_with_caption",
719
+ "compact": "image with styled caption below",
720
+ "surfaces": [
721
+ "web",
722
+ "google-meet-stage",
723
+ "google-chat",
724
+ "email",
725
+ "pdf",
726
+ "google-apps-script-web",
727
+ "mcp-apps"
728
+ ]
729
+ },
730
+ {
731
+ "type": "alert_banner",
732
+ "compact": "full-width status alert strip optional action.",
733
+ "surfaces": [
734
+ "web",
735
+ "google-meet-stage",
736
+ "google-apps-script-web",
737
+ "mcp-apps"
738
+ ]
739
+ },
740
+ {
741
+ "type": "toast_notification",
742
+ "compact": "CSS slide-in/out fixed-position notification toast",
743
+ "surfaces": [
744
+ "web",
745
+ "google-apps-script-side-panel",
746
+ "google-apps-script-web",
747
+ "mcp-apps"
748
+ ]
749
+ },
750
+ {
751
+ "type": "loading_skeleton",
752
+ "compact": "animated placeholder skeleton while content loads indicating active data fetching.",
753
+ "surfaces": [
754
+ "web",
755
+ "google-meet-stage",
756
+ "google-apps-script-web",
757
+ "mcp-apps"
758
+ ]
759
+ },
760
+ {
761
+ "type": "empty_state",
762
+ "compact": "zero-data empty state with icon and call to action image, message, and an optional call to action.",
763
+ "surfaces": [
764
+ "web",
765
+ "google-meet-stage",
766
+ "google-apps-script-web",
767
+ "mcp-apps"
768
+ ]
769
+ },
770
+ {
771
+ "type": "spinner",
772
+ "compact": "loading spinner indicator operation is in progress.",
773
+ "surfaces": [
774
+ "web",
775
+ "google-meet-stage",
776
+ "google-apps-script-web",
777
+ "mcp-apps"
778
+ ]
779
+ },
780
+ {
781
+ "type": "status_pill",
782
+ "compact": "coloured status pill badge an item.",
783
+ "surfaces": [
784
+ "web",
785
+ "google-meet-stage",
786
+ "google-apps-script-web",
787
+ "mcp-apps"
788
+ ]
789
+ },
790
+ {
791
+ "type": "inline_feedback_message",
792
+ "compact": "inline success error or warning message for validation feedback or hints.",
793
+ "surfaces": [
794
+ "web",
795
+ "google-meet-stage",
796
+ "google-apps-script-web",
797
+ "mcp-apps"
798
+ ]
799
+ },
800
+ {
801
+ "type": "rating_stars",
802
+ "compact": "star rating display stars, or displaying a static rating.",
803
+ "surfaces": [
804
+ "web",
805
+ "google-meet-stage",
806
+ "google-apps-script-web",
807
+ "mcp-apps"
808
+ ]
809
+ },
810
+ {
811
+ "type": "progress_circle",
812
+ "compact": "CSS stroke-dashoffset animated SVG progress arc with centre percentage",
813
+ "surfaces": [
814
+ "web",
815
+ "google-meet-stage",
816
+ "google-apps-script-side-panel",
817
+ "google-apps-script-web",
818
+ "mcp-apps"
819
+ ]
820
+ },
821
+ {
822
+ "type": "action_required_card",
823
+ "compact": "prominent card prompting a required user action user attention,",
824
+ "surfaces": [
825
+ "web",
826
+ "google-meet-stage",
827
+ "google-chat",
828
+ "google-apps-script-web",
829
+ "mcp-apps"
830
+ ]
831
+ },
832
+ {
833
+ "type": "feature_matrix",
834
+ "compact": "features versus plans comparison matrix",
835
+ "surfaces": [
836
+ "web",
837
+ "google-meet-stage",
838
+ "pdf",
839
+ "google-apps-script-web",
840
+ "mcp-apps"
841
+ ]
842
+ },
843
+ {
844
+ "type": "pricing_tier_card",
845
+ "compact": "single pricing plan card with features list an optional call to action.",
846
+ "surfaces": [
847
+ "web",
848
+ "google-meet-stage",
849
+ "google-chat",
850
+ "email",
851
+ "pdf",
852
+ "google-apps-script-web",
853
+ "mcp-apps"
854
+ ]
855
+ },
856
+ {
857
+ "type": "pricing_tier_group",
858
+ "compact": "side-by-side pricing plan comparison different subscription plans.",
859
+ "surfaces": [
860
+ "web",
861
+ "google-meet-stage",
862
+ "pdf",
863
+ "google-apps-script-web",
864
+ "mcp-apps"
865
+ ]
866
+ },
867
+ {
868
+ "type": "pros_cons_list",
869
+ "compact": "two-column pros and cons comparison a single subject.",
870
+ "surfaces": [
871
+ "web",
872
+ "google-meet-stage",
873
+ "google-chat",
874
+ "email",
875
+ "pdf",
876
+ "google-apps-script-web",
877
+ "mcp-apps"
878
+ ]
879
+ },
880
+ {
881
+ "type": "side_by_side_spec",
882
+ "compact": "two items compared spec by spec and values side-by-side.",
883
+ "surfaces": [
884
+ "web",
885
+ "google-meet-stage",
886
+ "pdf",
887
+ "google-apps-script-web",
888
+ "mcp-apps"
889
+ ]
890
+ },
891
+ {
892
+ "type": "product_spec_table",
893
+ "compact": "product specifications in a clean table a single product.",
894
+ "surfaces": [
895
+ "web",
896
+ "google-meet-stage",
897
+ "pdf",
898
+ "google-apps-script-web",
899
+ "mcp-apps"
900
+ ]
901
+ },
902
+ {
903
+ "type": "comparison_grid",
904
+ "compact": "multi-item attribute comparison grid often using icons or checkmarks to indicate presence.",
905
+ "surfaces": [
906
+ "web",
907
+ "google-meet-stage",
908
+ "pdf",
909
+ "google-apps-script-web",
910
+ "mcp-apps"
911
+ ]
912
+ },
913
+ {
914
+ "type": "versus_block",
915
+ "compact": "head-to-head two-option versus card \"VS\" separator.",
916
+ "surfaces": [
917
+ "web",
918
+ "google-meet-stage",
919
+ "google-apps-script-web",
920
+ "mcp-apps"
921
+ ]
922
+ },
923
+ {
924
+ "type": "rating_comparison",
925
+ "compact": "multiple items rated across dimensions scores.",
926
+ "surfaces": [
927
+ "web",
928
+ "google-meet-stage",
929
+ "google-chat",
930
+ "email",
931
+ "pdf",
932
+ "google-apps-script-web",
933
+ "mcp-apps"
934
+ ]
935
+ },
936
+ {
937
+ "type": "capability_checklist",
938
+ "compact": "feature capability tick list per tier capability using checkmarks",
939
+ "surfaces": [
940
+ "web",
941
+ "google-meet-stage",
942
+ "pdf",
943
+ "google-apps-script-web",
944
+ "mcp-apps"
945
+ ]
946
+ },
947
+ {
948
+ "type": "toggle_switch",
949
+ "compact": "CSS toggle switch input",
950
+ "surfaces": [
951
+ "web",
952
+ "google-meet-stage",
953
+ "google-apps-script-web",
954
+ "mcp-apps"
955
+ ]
956
+ },
957
+ {
958
+ "type": "expandable_text",
959
+ "compact": "truncated text with read more expand toggle more content.",
960
+ "surfaces": [
961
+ "web",
962
+ "google-meet-stage",
963
+ "google-apps-script-web",
964
+ "mcp-apps"
965
+ ]
966
+ },
967
+ {
968
+ "type": "flip_card",
969
+ "compact": "card that flips on hover to reveal back content",
970
+ "surfaces": [
971
+ "web",
972
+ "google-meet-stage",
973
+ "google-apps-script-web",
974
+ "mcp-apps"
975
+ ]
976
+ },
977
+ {
978
+ "type": "image_hotspots",
979
+ "compact": "image with clickable annotated hotspot overlays hover.",
980
+ "surfaces": [
981
+ "web",
982
+ "google-meet-stage",
983
+ "google-apps-script-web",
984
+ "mcp-apps"
985
+ ]
986
+ },
987
+ {
988
+ "type": "css_dropdown_menu",
989
+ "compact": "pure-CSS dropdown navigation menu",
990
+ "surfaces": [
991
+ "web",
992
+ "google-meet-stage",
993
+ "google-apps-script-web",
994
+ "mcp-apps"
995
+ ]
996
+ },
997
+ {
998
+ "type": "star_rating_input",
999
+ "compact": "interactive star rating input",
1000
+ "surfaces": [
1001
+ "web",
1002
+ "google-meet-stage",
1003
+ "google-apps-script-web",
1004
+ "mcp-apps"
1005
+ ]
1006
+ },
1007
+ {
1008
+ "type": "segmented_control",
1009
+ "compact": "mutually exclusive option selector strip as a single control.",
1010
+ "surfaces": [
1011
+ "web",
1012
+ "google-meet-stage",
1013
+ "google-apps-script-web",
1014
+ "mcp-apps"
1015
+ ]
1016
+ },
1017
+ {
1018
+ "type": "zoomable_image",
1019
+ "compact": "image with click-to-zoom lightbox",
1020
+ "surfaces": [
1021
+ "web",
1022
+ "google-meet-stage",
1023
+ "google-apps-script-web",
1024
+ "mcp-apps"
1025
+ ]
1026
+ },
1027
+ {
1028
+ "type": "custom_checkbox_group",
1029
+ "compact": "styled checkbox group input",
1030
+ "surfaces": [
1031
+ "web",
1032
+ "google-meet-stage",
1033
+ "google-apps-script-web",
1034
+ "mcp-apps"
1035
+ ]
1036
+ },
1037
+ {
1038
+ "type": "css_slide_panel",
1039
+ "compact": "CSS-only slide-in panel drawer activation.",
1040
+ "surfaces": [
1041
+ "web",
1042
+ "google-meet-stage",
1043
+ "google-apps-script-web",
1044
+ "mcp-apps"
1045
+ ]
1046
+ },
1047
+ {
1048
+ "type": "testimonial_card",
1049
+ "compact": "customer testimonial with photo name and quote an optional avatar.",
1050
+ "surfaces": [
1051
+ "web",
1052
+ "google-meet-stage",
1053
+ "pdf",
1054
+ "google-apps-script-web",
1055
+ "mcp-apps"
1056
+ ]
1057
+ },
1058
+ {
1059
+ "type": "star_rating_display",
1060
+ "compact": "read-only star rating with score and count total review count.",
1061
+ "surfaces": [
1062
+ "web",
1063
+ "google-meet-stage",
1064
+ "pdf",
1065
+ "google-apps-script-web",
1066
+ "mcp-apps"
1067
+ ]
1068
+ },
1069
+ {
1070
+ "type": "avatar_group",
1071
+ "compact": "stacked user avatar group with overflow count or community.",
1072
+ "surfaces": [
1073
+ "web",
1074
+ "google-meet-stage",
1075
+ "pdf",
1076
+ "google-apps-script-web",
1077
+ "mcp-apps"
1078
+ ]
1079
+ },
1080
+ {
1081
+ "type": "contributor_list",
1082
+ "compact": "list of contributors with avatar and role community, with their",
1083
+ "surfaces": [
1084
+ "web",
1085
+ "google-meet-stage",
1086
+ "pdf",
1087
+ "google-apps-script-web",
1088
+ "mcp-apps"
1089
+ ]
1090
+ },
1091
+ {
1092
+ "type": "customer_logo_grid",
1093
+ "compact": "grid of customer or partner logos",
1094
+ "surfaces": [
1095
+ "web",
1096
+ "google-meet-stage",
1097
+ "pdf",
1098
+ "google-apps-script-web",
1099
+ "mcp-apps"
1100
+ ]
1101
+ },
1102
+ {
1103
+ "type": "social_proof_banner",
1104
+ "compact": "social proof strip with stats and logos achievement.",
1105
+ "surfaces": [
1106
+ "web",
1107
+ "google-meet-stage",
1108
+ "pdf",
1109
+ "google-apps-script-web",
1110
+ "mcp-apps"
1111
+ ]
1112
+ },
1113
+ {
1114
+ "type": "media_mention_card",
1115
+ "compact": "press or media mention with logo and quote",
1116
+ "surfaces": [
1117
+ "web",
1118
+ "google-meet-stage",
1119
+ "pdf",
1120
+ "google-apps-script-web",
1121
+ "mcp-apps"
1122
+ ]
1123
+ },
1124
+ {
1125
+ "type": "expert_endorsement",
1126
+ "compact": "expert quote with credentials and photo name, and credentials.",
1127
+ "surfaces": [
1128
+ "web",
1129
+ "google-meet-stage",
1130
+ "pdf",
1131
+ "google-apps-script-web",
1132
+ "mcp-apps"
1133
+ ]
1134
+ },
1135
+ {
1136
+ "type": "review_callout",
1137
+ "compact": "highlighted customer review excerpt by a star rating.",
1138
+ "surfaces": [
1139
+ "web",
1140
+ "google-meet-stage",
1141
+ "pdf",
1142
+ "google-apps-script-web",
1143
+ "mcp-apps"
1144
+ ]
1145
+ },
1146
+ {
1147
+ "type": "social_feed_embed",
1148
+ "compact": "embedded social media post or feed or Instagram post.",
1149
+ "surfaces": [
1150
+ "web",
1151
+ "google-meet-stage",
1152
+ "mcp-apps"
1153
+ ]
1154
+ },
1155
+ {
1156
+ "type": "terminal_block",
1157
+ "compact": "display terminal commands and code output in a simulated console window",
1158
+ "surfaces": [
1159
+ "web",
1160
+ "google-apps-script-web",
1161
+ "mcp-apps"
1162
+ ]
1163
+ },
1164
+ {
1165
+ "type": "file_tree",
1166
+ "compact": "present hierarchical directory structures and files for software project navigation",
1167
+ "surfaces": [
1168
+ "web",
1169
+ "google-apps-script-web",
1170
+ "mcp-apps"
1171
+ ]
1172
+ },
1173
+ {
1174
+ "type": "tabbed_code",
1175
+ "compact": "organize multiple programming language snippets inside an interactive tab container",
1176
+ "surfaces": [
1177
+ "web",
1178
+ "google-apps-script-web",
1179
+ "mcp-apps"
1180
+ ]
1181
+ },
1182
+ {
1183
+ "type": "http_request_block",
1184
+ "compact": "document REST API endpoints with HTTP methods, headers, and payloads",
1185
+ "surfaces": [
1186
+ "web",
1187
+ "google-apps-script-web",
1188
+ "mcp-apps"
1189
+ ]
1190
+ },
1191
+ {
1192
+ "type": "env_var_list",
1193
+ "compact": "list configuration environment variables with descriptions and default values",
1194
+ "surfaces": [
1195
+ "web",
1196
+ "google-apps-script-web",
1197
+ "mcp-apps"
1198
+ ]
1199
+ },
1200
+ {
1201
+ "type": "prerequisite_checklist",
1202
+ "compact": "highlight prerequisite knowledge and system requirements before",
1203
+ "surfaces": [
1204
+ "web",
1205
+ "google-apps-script-web",
1206
+ "mcp-apps"
1207
+ ]
1208
+ },
1209
+ {
1210
+ "type": "keyboard_shortcut",
1211
+ "compact": "display visual keyboard key combinations for application shortcuts and hotkeys",
1212
+ "surfaces": [
1213
+ "web",
1214
+ "google-apps-script-web",
1215
+ "mcp-apps"
1216
+ ]
1217
+ },
1218
+ {
1219
+ "type": "api_param_table",
1220
+ "compact": "reference table detailing API parameters, data types, and default values",
1221
+ "surfaces": [
1222
+ "web",
1223
+ "google-apps-script-web",
1224
+ "mcp-apps"
1225
+ ]
1226
+ },
1227
+ {
1228
+ "type": "version_badge",
1229
+ "compact": "software release or dependency version number tag",
1230
+ "surfaces": [
1231
+ "web",
1232
+ "google-apps-script-web",
1233
+ "mcp-apps"
1234
+ ]
1235
+ },
1236
+ {
1237
+ "type": "deprecation_notice",
1238
+ "compact": "warning banner for deprecated features or unsupported APIs",
1239
+ "surfaces": [
1240
+ "web",
1241
+ "google-apps-script-web",
1242
+ "mcp-apps"
1243
+ ]
1244
+ },
1245
+ {
1246
+ "type": "experimental_banner",
1247
+ "compact": "highlight experimental or unstable feature notice callout",
1248
+ "surfaces": [
1249
+ "web",
1250
+ "google-apps-script-web",
1251
+ "mcp-apps"
1252
+ ]
1253
+ },
1254
+ {
1255
+ "type": "cli_command",
1256
+ "compact": "copyable single-line terminal command execution string",
1257
+ "surfaces": [
1258
+ "web",
1259
+ "google-apps-script-web",
1260
+ "mcp-apps"
1261
+ ]
1262
+ },
1263
+ {
1264
+ "type": "copy_code_button",
1265
+ "compact": "button to copy specified text or code to clipboard",
1266
+ "surfaces": [
1267
+ "web",
1268
+ "google-apps-script-web",
1269
+ "mcp-apps"
1270
+ ]
1271
+ },
1272
+ {
1273
+ "type": "log_output",
1274
+ "compact": "scrollable monospace server or compiler log output block",
1275
+ "surfaces": [
1276
+ "web",
1277
+ "google-apps-script-web",
1278
+ "mcp-apps"
1279
+ ]
1280
+ },
1281
+ {
1282
+ "type": "json_tree_viewer",
1283
+ "compact": "expandable visual explorer for nested JSON data",
1284
+ "surfaces": [
1285
+ "web",
1286
+ "google-apps-script-web",
1287
+ "mcp-apps"
1288
+ ]
1289
+ },
1290
+ {
1291
+ "type": "key_takeaways",
1292
+ "compact": "highlighted summary of main conclusions and critical takeaways",
1293
+ "surfaces": [
1294
+ "web",
1295
+ "google-apps-script-web",
1296
+ "mcp-apps"
1297
+ ]
1298
+ },
1299
+ {
1300
+ "type": "summary_box",
1301
+ "compact": "condensed introductory panel with article overview",
1302
+ "surfaces": [
1303
+ "web",
1304
+ "google-apps-script-web",
1305
+ "mcp-apps"
1306
+ ]
1307
+ },
1308
+ {
1309
+ "type": "learning_objectives",
1310
+ "compact": "checklist of educational goals and competencies gained post-reading",
1311
+ "surfaces": [
1312
+ "web",
1313
+ "google-apps-script-web",
1314
+ "mcp-apps"
1315
+ ]
1316
+ },
1317
+ {
1318
+ "type": "changelog_entry",
1319
+ "compact": "timeline entry documenting product modifications per release",
1320
+ "surfaces": [
1321
+ "web",
1322
+ "google-apps-script-web",
1323
+ "mcp-apps"
1324
+ ]
1325
+ },
1326
+ {
1327
+ "type": "release_notes",
1328
+ "compact": "grouped product release documentation by change category",
1329
+ "surfaces": [
1330
+ "web",
1331
+ "google-apps-script-web",
1332
+ "mcp-apps"
1333
+ ]
1334
+ },
1335
+ {
1336
+ "type": "further_reading",
1337
+ "compact": "curated references for extending topic research",
1338
+ "surfaces": [
1339
+ "web",
1340
+ "google-apps-script-web",
1341
+ "mcp-apps"
1342
+ ]
1343
+ },
1344
+ {
1345
+ "type": "resources_list",
1346
+ "compact": "downloadable project assets and attached resource links",
1347
+ "surfaces": [
1348
+ "web",
1349
+ "google-apps-script-web",
1350
+ "mcp-apps"
1351
+ ]
1352
+ },
1353
+ {
1354
+ "type": "sidebar_note",
1355
+ "compact": "off-axis container for peripheral notes or caveats",
1356
+ "surfaces": [
1357
+ "web",
1358
+ "google-apps-script-web",
1359
+ "mcp-apps"
1360
+ ]
1361
+ },
1362
+ {
1363
+ "type": "difficulty_badge",
1364
+ "compact": "label technical complexity level of blog content",
1365
+ "surfaces": [
1366
+ "web",
1367
+ "google-apps-script-web",
1368
+ "mcp-apps"
1369
+ ]
1370
+ },
1371
+ {
1372
+ "type": "caution_block",
1373
+ "compact": "highlight dangerous pitfalls or critical destructive actions",
1374
+ "surfaces": [
1375
+ "web",
1376
+ "google-apps-script-web",
1377
+ "mcp-apps"
1378
+ ]
1379
+ },
1380
+ {
1381
+ "type": "checklist_interactive",
1382
+ "compact": "interactive task tracking checklist for article milestones",
1383
+ "surfaces": [
1384
+ "web",
1385
+ "google-apps-script-web",
1386
+ "mcp-apps"
1387
+ ]
1388
+ },
1389
+ {
1390
+ "type": "glossary_inline",
1391
+ "compact": "inline hover tooltips for complex technical term definitions",
1392
+ "surfaces": [
1393
+ "web",
1394
+ "google-apps-script-web",
1395
+ "mcp-apps"
1396
+ ]
1397
+ },
1398
+ {
1399
+ "type": "time_estimate",
1400
+ "compact": "estimated reading duration badge for article content",
1401
+ "surfaces": [
1402
+ "web",
1403
+ "google-apps-script-web",
1404
+ "mcp-apps"
1405
+ ]
1406
+ },
1407
+ {
1408
+ "type": "progress_checkpoint",
1409
+ "compact": "milestone progress indicator across multi-step tutorial",
1410
+ "surfaces": [
1411
+ "web",
1412
+ "google-apps-script-web",
1413
+ "mcp-apps"
1414
+ ]
1415
+ },
1416
+ {
1417
+ "type": "social_share_bar",
1418
+ "compact": "social media buttons for sharing article to external networks",
1419
+ "surfaces": [
1420
+ "web",
1421
+ "google-apps-script-web",
1422
+ "mcp-apps"
1423
+ ]
1424
+ },
1425
+ {
1426
+ "type": "newsletter_cta",
1427
+ "compact": "email subscription form for recurring reader updates",
1428
+ "surfaces": [
1429
+ "web",
1430
+ "google-apps-script-web",
1431
+ "mcp-apps"
1432
+ ]
1433
+ },
1434
+ {
1435
+ "type": "author_bio_card",
1436
+ "compact": "profile block displaying content creator biographical details",
1437
+ "surfaces": [
1438
+ "web",
1439
+ "google-apps-script-web",
1440
+ "mcp-apps"
1441
+ ]
1442
+ },
1443
+ {
1444
+ "type": "related_posts_grid",
1445
+ "compact": "grid of recommended alternative post reading cards",
1446
+ "surfaces": [
1447
+ "web",
1448
+ "google-apps-script-web",
1449
+ "mcp-apps"
1450
+ ]
1451
+ },
1452
+ {
1453
+ "type": "series_overview_card",
1454
+ "compact": "navigation index for multi-part article series parts",
1455
+ "surfaces": [
1456
+ "web",
1457
+ "google-apps-script-web",
1458
+ "mcp-apps"
1459
+ ]
1460
+ },
1461
+ {
1462
+ "type": "reaction_group",
1463
+ "compact": "emoji reaction counters collecting reader sentiment feedback",
1464
+ "surfaces": [
1465
+ "web",
1466
+ "google-apps-script-web",
1467
+ "mcp-apps"
1468
+ ]
1469
+ },
1470
+ {
1471
+ "type": "linkedin_post_image",
1472
+ "compact": "LinkedIn post image preview — conviction_card, stat_card, or carousel_slide mode",
1473
+ "surfaces": [
1474
+ "web",
1475
+ "google-apps-script-web",
1476
+ "mcp-apps"
1477
+ ]
1478
+ },
1479
+ {
1480
+ "type": "share_quote",
1481
+ "compact": "prominent blockquote optimised for social media sharing",
1482
+ "surfaces": [
1483
+ "web",
1484
+ "google-apps-script-web",
1485
+ "mcp-apps"
1486
+ ]
1487
+ },
1488
+ {
1489
+ "type": "follow_cta",
1490
+ "compact": "call to action driving social media community expansion",
1491
+ "surfaces": [
1492
+ "web",
1493
+ "google-apps-script-web",
1494
+ "mcp-apps"
1495
+ ]
1496
+ },
1497
+ {
1498
+ "type": "follow_button",
1499
+ "compact": "direct profile subscription button for social platforms",
1500
+ "surfaces": [
1501
+ "web",
1502
+ "google-apps-script-web",
1503
+ "mcp-apps"
1504
+ ]
1505
+ },
1506
+ {
1507
+ "type": "reading_progress_bar",
1508
+ "compact": "track and display article reading progress completion status",
1509
+ "surfaces": [
1510
+ "web",
1511
+ "google-apps-script-web",
1512
+ "mcp-apps"
1513
+ ]
1514
+ },
1515
+ {
1516
+ "type": "table_of_contents",
1517
+ "compact": "navigate article sections using structured heading directory links",
1518
+ "surfaces": [
1519
+ "web",
1520
+ "google-apps-script-web",
1521
+ "mcp-apps"
1522
+ ]
1523
+ },
1524
+ {
1525
+ "type": "article_hero",
1526
+ "compact": "display prominent introductory headline and banner media",
1527
+ "surfaces": [
1528
+ "web",
1529
+ "google-apps-script-web",
1530
+ "mcp-apps"
1531
+ ]
1532
+ },
1533
+ {
1534
+ "type": "scroll_to_top",
1535
+ "compact": "quickly return viewport to top of page document",
1536
+ "surfaces": [
1537
+ "web",
1538
+ "google-apps-script-web",
1539
+ "mcp-apps"
1540
+ ]
1541
+ },
1542
+ {
1543
+ "type": "article_series_nav",
1544
+ "compact": "navigate interconnected parts inside multi-part blog series",
1545
+ "surfaces": [
1546
+ "web",
1547
+ "google-apps-script-web",
1548
+ "mcp-apps"
1549
+ ]
1550
+ },
1551
+ {
1552
+ "type": "embed_codepen",
1553
+ "compact": "embed interactive CodePen workspace development environments",
1554
+ "surfaces": [
1555
+ "web",
1556
+ "mcp-apps"
1557
+ ]
1558
+ },
1559
+ {
1560
+ "type": "embed_stackblitz",
1561
+ "compact": "embed dynamic StackBlitz live IDE code sandboxes",
1562
+ "surfaces": [
1563
+ "web",
1564
+ "mcp-apps"
1565
+ ]
1566
+ },
1567
+ {
1568
+ "type": "embed_gist",
1569
+ "compact": "embed version-controlled GitHub Gist source code snippets",
1570
+ "surfaces": [
1571
+ "web",
1572
+ "mcp-apps"
1573
+ ]
1574
+ },
1575
+ {
1576
+ "type": "embed_tweet",
1577
+ "compact": "embed live public Twitter status updates and media",
1578
+ "surfaces": [
1579
+ "web",
1580
+ "mcp-apps"
1581
+ ]
1582
+ },
1583
+ {
1584
+ "type": "embed_google_slides",
1585
+ "compact": "embed interactive Google Slides presentation slide decks",
1586
+ "surfaces": [
1587
+ "web",
1588
+ "mcp-apps"
1589
+ ]
1590
+ },
1591
+ {
1592
+ "type": "lottie_animation",
1593
+ "compact": "render lightweight high-performance vector Lottie animations",
1594
+ "surfaces": [
1595
+ "web",
1596
+ "mcp-apps"
1597
+ ]
1598
+ },
1599
+ {
1600
+ "type": "figma_embed",
1601
+ "compact": "embed collaborative live Figma design file prototype previews",
1602
+ "surfaces": [
1603
+ "web",
1604
+ "mcp-apps"
1605
+ ]
1606
+ },
1607
+ {
1608
+ "type": "color_swatch_grid",
1609
+ "compact": "grid of named color swatches with hex values",
1610
+ "surfaces": [
1611
+ "web",
1612
+ "google-meet-stage",
1613
+ "google-apps-script-web",
1614
+ "mcp-apps"
1615
+ ]
1616
+ },
1617
+ {
1618
+ "type": "live_demo_embed",
1619
+ "compact": "embed interactive live demo sandbox iframe",
1620
+ "surfaces": [
1621
+ "web",
1622
+ "mcp-apps"
1623
+ ]
1624
+ },
1625
+ {
1626
+ "type": "benchmark_comparison",
1627
+ "compact": "side-by-side performance benchmark comparison bars",
1628
+ "surfaces": [
1629
+ "web",
1630
+ "google-meet-stage",
1631
+ "google-apps-script-web",
1632
+ "mcp-apps"
1633
+ ]
1634
+ },
1635
+ {
1636
+ "type": "chartjs_bar",
1637
+ "compact": "interactive Chart.js bar chart with datasets",
1638
+ "surfaces": [
1639
+ "web",
1640
+ "google-apps-script-web",
1641
+ "mcp-apps"
1642
+ ]
1643
+ },
1644
+ {
1645
+ "type": "chartjs_line",
1646
+ "compact": "interactive Chart.js line chart for trend data",
1647
+ "surfaces": [
1648
+ "web",
1649
+ "google-apps-script-web",
1650
+ "mcp-apps"
1651
+ ]
1652
+ },
1653
+ {
1654
+ "type": "data_table_sortable",
1655
+ "compact": "sortable data table with column headers",
1656
+ "surfaces": [
1657
+ "web",
1658
+ "google-apps-script-web",
1659
+ "mcp-apps"
1660
+ ],
1661
+ "aliases": [
1662
+ "data_table"
1663
+ ]
1664
+ },
1665
+ {
1666
+ "type": "metric_comparison_card",
1667
+ "compact": "metric card comparing current vs previous period",
1668
+ "surfaces": [
1669
+ "web",
1670
+ "google-meet-stage",
1671
+ "google-apps-script-web",
1672
+ "mcp-apps"
1673
+ ]
1674
+ },
1675
+ {
1676
+ "type": "mini_sparkline_set",
1677
+ "compact": "compact grid of multiple labeled sparklines",
1678
+ "surfaces": [
1679
+ "web",
1680
+ "google-meet-stage",
1681
+ "google-apps-script-web",
1682
+ "mcp-apps"
1683
+ ]
1684
+ },
1685
+ {
1686
+ "type": "status_dashboard",
1687
+ "compact": "grid of service status indicators with color states",
1688
+ "surfaces": [
1689
+ "web",
1690
+ "google-meet-stage",
1691
+ "google-apps-script-web",
1692
+ "mcp-apps"
1693
+ ]
1694
+ },
1695
+ {
1696
+ "type": "uptime_timeline",
1697
+ "compact": "30-day uptime timeline with per-day status blocks",
1698
+ "surfaces": [
1699
+ "web",
1700
+ "google-meet-stage",
1701
+ "google-apps-script-web",
1702
+ "mcp-apps"
1703
+ ]
1704
+ },
1705
+ {
1706
+ "type": "command_palette",
1707
+ "compact": "keyboard-driven command palette with shortcut hints",
1708
+ "surfaces": [
1709
+ "web",
1710
+ "google-apps-script-web",
1711
+ "mcp-apps"
1712
+ ]
1713
+ },
1714
+ {
1715
+ "type": "search_result_card",
1716
+ "compact": "single search result card with title snippet URL",
1717
+ "surfaces": [
1718
+ "web",
1719
+ "google-meet-stage",
1720
+ "google-apps-script-web",
1721
+ "mcp-apps"
1722
+ ]
1723
+ },
1724
+ {
1725
+ "type": "post_metadata_bar",
1726
+ "compact": "article metadata bar with author date read time",
1727
+ "surfaces": [
1728
+ "web",
1729
+ "google-apps-script-web",
1730
+ "mcp-apps"
1731
+ ]
1732
+ },
1733
+ {
1734
+ "type": "footnote_group",
1735
+ "compact": "numbered footnote list at section or article end",
1736
+ "surfaces": [
1737
+ "web",
1738
+ "email",
1739
+ "google-apps-script-web",
1740
+ "mcp-apps"
1741
+ ]
1742
+ },
1743
+ {
1744
+ "type": "notification_badge",
1745
+ "compact": "unread count badge overlaid on icon element",
1746
+ "surfaces": [
1747
+ "web",
1748
+ "google-apps-script-web",
1749
+ "mcp-apps"
1750
+ ]
1751
+ },
1752
+ {
1753
+ "type": "expandable_list",
1754
+ "compact": "nested expandable tree list with collapsible children",
1755
+ "surfaces": [
1756
+ "web",
1757
+ "google-apps-script-web",
1758
+ "mcp-apps"
1759
+ ]
1760
+ },
1761
+ {
1762
+ "type": "poll_block",
1763
+ "compact": "poll with question options and vote count bars",
1764
+ "surfaces": [
1765
+ "web",
1766
+ "google-apps-script-web",
1767
+ "mcp-apps"
1768
+ ]
1769
+ },
1770
+ {
1771
+ "type": "abbr_tooltip",
1772
+ "compact": "inline abbreviation with hover tooltip full form",
1773
+ "surfaces": [
1774
+ "web",
1775
+ "google-apps-script-web",
1776
+ "mcp-apps"
1777
+ ]
1778
+ },
1779
+ {
1780
+ "type": "copy_to_clipboard",
1781
+ "compact": "copy-to-clipboard button with inline code and feedback",
1782
+ "surfaces": [
1783
+ "web",
1784
+ "google-meet-stage",
1785
+ "google-apps-script-web",
1786
+ "mcp-apps"
1787
+ ]
1788
+ },
1789
+ {
1790
+ "type": "conversion_funnel",
1791
+ "compact": "pipeline conversion funnel with step tapering and leak markers",
1792
+ "surfaces": [
1793
+ "web",
1794
+ "google-meet-stage",
1795
+ "google-apps-script-web",
1796
+ "mcp-apps"
1797
+ ]
1798
+ },
1799
+ {
1800
+ "type": "gauge_sla",
1801
+ "compact": "radial SLA gauge with glowing pointer and large metric value",
1802
+ "surfaces": [
1803
+ "web",
1804
+ "google-meet-stage",
1805
+ "google-apps-script-web",
1806
+ "mcp-apps"
1807
+ ]
1808
+ },
1809
+ {
1810
+ "type": "stacked_area",
1811
+ "compact": "stacked area chart with overlapping glowing translucent gradients",
1812
+ "surfaces": [
1813
+ "web",
1814
+ "google-meet-stage",
1815
+ "google-apps-script-web",
1816
+ "mcp-apps"
1817
+ ]
1818
+ },
1819
+ {
1820
+ "type": "scatter_trend",
1821
+ "compact": "coordinate scatter plot with regression trend line",
1822
+ "surfaces": [
1823
+ "web",
1824
+ "google-meet-stage",
1825
+ "google-apps-script-web",
1826
+ "mcp-apps"
1827
+ ]
1828
+ },
1829
+ {
1830
+ "type": "call_mood_board",
1831
+ "compact": "visual summary board of call sentiments moods and active themes",
1832
+ "surfaces": [
1833
+ "web",
1834
+ "google-meet-stage",
1835
+ "google-apps-script-web",
1836
+ "mcp-apps"
1837
+ ]
1838
+ },
1839
+ {
1840
+ "type": "github_activity_grid",
1841
+ "compact": "SVG GitHub-style contribution grid and activity tracker",
1842
+ "surfaces": [
1843
+ "web",
1844
+ "google-meet-stage",
1845
+ "google-apps-script-web",
1846
+ "mcp-apps"
1847
+ ]
1848
+ },
1849
+ {
1850
+ "type": "form",
1851
+ "compact": "labelled form with fields and submit button",
1852
+ "surfaces": [
1853
+ "web",
1854
+ "google-meet-stage",
1855
+ "google-apps-script-web",
1856
+ "mcp-apps"
1857
+ ]
1858
+ },
1859
+ {
1860
+ "type": "form_input",
1861
+ "compact": "single labelled input field",
1862
+ "surfaces": [
1863
+ "web",
1864
+ "google-meet-stage",
1865
+ "google-apps-script-web",
1866
+ "mcp-apps"
1867
+ ],
1868
+ "aliases": [
1869
+ "text_input"
1870
+ ]
1871
+ },
1872
+ {
1873
+ "type": "form_select",
1874
+ "compact": "labelled dropdown select with options",
1875
+ "surfaces": [
1876
+ "web",
1877
+ "google-meet-stage",
1878
+ "google-apps-script-web",
1879
+ "mcp-apps"
1880
+ ]
1881
+ },
1882
+ {
1883
+ "type": "form_radio_group",
1884
+ "compact": "radio button group for single-option selection",
1885
+ "surfaces": [
1886
+ "web",
1887
+ "google-meet-stage",
1888
+ "google-apps-script-web",
1889
+ "mcp-apps"
1890
+ ]
1891
+ },
1892
+ {
1893
+ "type": "form_checkbox_group",
1894
+ "compact": "checkbox group for multi-option selection",
1895
+ "surfaces": [
1896
+ "web",
1897
+ "google-meet-stage",
1898
+ "google-apps-script-web",
1899
+ "mcp-apps"
1900
+ ]
1901
+ },
1902
+ {
1903
+ "type": "form_switch_group",
1904
+ "compact": "group of labelled toggle switches",
1905
+ "surfaces": [
1906
+ "web",
1907
+ "google-meet-stage",
1908
+ "google-apps-script-web",
1909
+ "mcp-apps"
1910
+ ]
1911
+ },
1912
+ {
1913
+ "type": "form_slider",
1914
+ "compact": "numeric range slider input",
1915
+ "surfaces": [
1916
+ "web",
1917
+ "google-meet-stage",
1918
+ "google-apps-script-web",
1919
+ "mcp-apps"
1920
+ ]
1921
+ },
1922
+ {
1923
+ "type": "form_date_picker",
1924
+ "compact": "date or date-range picker input",
1925
+ "surfaces": [
1926
+ "web",
1927
+ "google-meet-stage",
1928
+ "google-apps-script-web",
1929
+ "mcp-apps"
1930
+ ]
1931
+ },
1932
+ {
1933
+ "type": "modal",
1934
+ "compact": "modal dialog overlay with title and content",
1935
+ "surfaces": [
1936
+ "web",
1937
+ "google-meet-stage",
1938
+ "google-apps-script-web",
1939
+ "mcp-apps"
1940
+ ]
1941
+ },
1942
+ {
1943
+ "type": "follow_up_chips",
1944
+ "compact": "clickable follow-up suggestion chips",
1945
+ "surfaces": [
1946
+ "web",
1947
+ "google-meet-stage",
1948
+ "google-apps-script-web",
1949
+ "mcp-apps"
1950
+ ]
1951
+ },
1952
+ {
1953
+ "type": "choicebox_group",
1954
+ "compact": "card-style option selector with icon, title, description per card",
1955
+ "surfaces": [
1956
+ "web",
1957
+ "google-meet-stage",
1958
+ "google-apps-script-web",
1959
+ "mcp-apps"
1960
+ ]
1961
+ },
1962
+ {
1963
+ "type": "feedback_prompt",
1964
+ "compact": "thumbs or star rating feedback collection widget",
1965
+ "surfaces": [
1966
+ "web",
1967
+ "google-meet-stage",
1968
+ "google-apps-script-web",
1969
+ "mcp-apps"
1970
+ ]
1971
+ },
1972
+ {
1973
+ "type": "entity_list",
1974
+ "compact": "named resource rows with avatar, status badge, and meta",
1975
+ "surfaces": [
1976
+ "web",
1977
+ "google-meet-stage",
1978
+ "google-chat",
1979
+ "email",
1980
+ "pdf",
1981
+ "google-apps-script-web",
1982
+ "mcp-apps"
1983
+ ]
1984
+ },
1985
+ {
1986
+ "type": "prompt_template",
1987
+ "compact": "LLM prompt with highlighted {variable} slots and copy button",
1988
+ "surfaces": [
1989
+ "web",
1990
+ "google-meet-stage",
1991
+ "pdf",
1992
+ "google-apps-script-web",
1993
+ "mcp-apps"
1994
+ ]
1995
+ },
1996
+ {
1997
+ "type": "model_card",
1998
+ "compact": "AI model spec card with context window, pricing, and capability badges",
1999
+ "surfaces": [
2000
+ "web",
2001
+ "google-meet-stage",
2002
+ "google-chat",
2003
+ "email",
2004
+ "pdf",
2005
+ "google-apps-script-web",
2006
+ "mcp-apps"
2007
+ ]
2008
+ },
2009
+ {
2010
+ "type": "conversation_snippet",
2011
+ "compact": "user prompt and AI response as chat bubbles",
2012
+ "surfaces": [
2013
+ "web",
2014
+ "google-meet-stage",
2015
+ "google-chat",
2016
+ "email",
2017
+ "pdf",
2018
+ "google-apps-script-web",
2019
+ "mcp-apps"
2020
+ ]
2021
+ },
2022
+ {
2023
+ "type": "shortcut_legend",
2024
+ "compact": "keyboard shortcut cheat-sheet grid with key combos and labels",
2025
+ "surfaces": [
2026
+ "web",
2027
+ "google-meet-stage",
2028
+ "google-chat",
2029
+ "email",
2030
+ "pdf",
2031
+ "google-apps-script-web",
2032
+ "mcp-apps"
2033
+ ]
2034
+ },
2035
+ {
2036
+ "type": "rating_summary_bar",
2037
+ "compact": "star rating histogram with percentage bars per star level",
2038
+ "surfaces": [
2039
+ "web",
2040
+ "google-meet-stage",
2041
+ "google-chat",
2042
+ "email",
2043
+ "pdf",
2044
+ "google-apps-script-web",
2045
+ "mcp-apps"
2046
+ ]
2047
+ },
2048
+ {
2049
+ "type": "roadmap_card",
2050
+ "compact": "quarter-based product roadmap with status-tagged milestones",
2051
+ "surfaces": [
2052
+ "web",
2053
+ "google-meet-stage",
2054
+ "google-chat",
2055
+ "email",
2056
+ "pdf",
2057
+ "google-apps-script-web",
2058
+ "mcp-apps"
2059
+ ]
2060
+ },
2061
+ {
2062
+ "type": "notification_stack",
2063
+ "compact": "persistent notification inbox list with unread indicators",
2064
+ "surfaces": [
2065
+ "web",
2066
+ "google-meet-stage",
2067
+ "google-chat",
2068
+ "email",
2069
+ "pdf",
2070
+ "google-apps-script-web",
2071
+ "mcp-apps"
2072
+ ]
2073
+ },
2074
+ {
2075
+ "type": "inline_alert",
2076
+ "compact": "inline icon-plus-text alert embedded in content flow",
2077
+ "surfaces": [
2078
+ "web",
2079
+ "google-meet-stage",
2080
+ "google-apps-script-web",
2081
+ "mcp-apps"
2082
+ ]
2083
+ },
2084
+ {
2085
+ "type": "tag_block",
2086
+ "compact": "horizontal wrap of neutral content chip labels",
2087
+ "surfaces": [
2088
+ "web",
2089
+ "google-meet-stage",
2090
+ "email",
2091
+ "pdf",
2092
+ "google-apps-script-web",
2093
+ "mcp-apps"
2094
+ ]
2095
+ },
2096
+ {
2097
+ "type": "variant_selector",
2098
+ "compact": "CSS radio card group for variant or option picking",
2099
+ "surfaces": [
2100
+ "web",
2101
+ "google-meet-stage",
2102
+ "google-apps-script-web",
2103
+ "mcp-apps"
2104
+ ]
2105
+ },
2106
+ {
2107
+ "type": "markdown_block",
2108
+ "compact": "GFM markdown string rendered to HTML inline",
2109
+ "surfaces": [
2110
+ "web",
2111
+ "google-meet-stage",
2112
+ "email",
2113
+ "pdf",
2114
+ "google-apps-script-web",
2115
+ "mcp-apps"
2116
+ ]
2117
+ },
2118
+ {
2119
+ "type": "chartjs_pie",
2120
+ "compact": "multi-slice pie or donut SVG chart with legend",
2121
+ "surfaces": [
2122
+ "web",
2123
+ "google-meet-stage",
2124
+ "pdf",
2125
+ "google-apps-script-web",
2126
+ "mcp-apps"
2127
+ ]
2128
+ },
2129
+ {
2130
+ "type": "text_callout",
2131
+ "compact": "lightweight tinted inline tip or note block no icon",
2132
+ "surfaces": [
2133
+ "web",
2134
+ "google-meet-stage",
2135
+ "google-chat",
2136
+ "email",
2137
+ "pdf",
2138
+ "google-apps-script-web",
2139
+ "mcp-apps"
2140
+ ]
2141
+ },
2142
+ {
2143
+ "type": "source_citation",
2144
+ "compact": "numbered RAG source card with title excerpt and URL",
2145
+ "surfaces": [
2146
+ "web",
2147
+ "google-meet-stage",
2148
+ "email",
2149
+ "pdf",
2150
+ "google-apps-script-web",
2151
+ "mcp-apps"
2152
+ ]
2153
+ },
2154
+ {
2155
+ "type": "llm_comparison_table",
2156
+ "compact": "side-by-side multi-model output comparison table",
2157
+ "surfaces": [
2158
+ "web",
2159
+ "google-meet-stage",
2160
+ "pdf",
2161
+ "google-apps-script-web",
2162
+ "mcp-apps"
2163
+ ]
2164
+ },
2165
+ {
2166
+ "type": "confidence_bar",
2167
+ "compact": "labelled probability bar with colour-coded confidence fill",
2168
+ "surfaces": [
2169
+ "web",
2170
+ "google-meet-stage",
2171
+ "email",
2172
+ "pdf",
2173
+ "google-apps-script-web",
2174
+ "mcp-apps"
2175
+ ]
2176
+ },
2177
+ {
2178
+ "type": "token_budget_meter",
2179
+ "compact": "context window token usage meter with capacity warning colours",
2180
+ "surfaces": [
2181
+ "web",
2182
+ "google-meet-stage",
2183
+ "pdf",
2184
+ "google-apps-script-web",
2185
+ "mcp-apps"
2186
+ ]
2187
+ },
2188
+ {
2189
+ "type": "product_thumbnail",
2190
+ "compact": "product card with image, price, status badge, and tags",
2191
+ "surfaces": [
2192
+ "web",
2193
+ "google-meet-stage",
2194
+ "email",
2195
+ "pdf",
2196
+ "google-apps-script-web",
2197
+ "mcp-apps"
2198
+ ]
2199
+ },
2200
+ {
2201
+ "type": "order_status_card",
2202
+ "compact": "e-commerce order card with status badge and line item list",
2203
+ "surfaces": [
2204
+ "web",
2205
+ "google-meet-stage",
2206
+ "email",
2207
+ "pdf",
2208
+ "google-apps-script-web",
2209
+ "mcp-apps"
2210
+ ]
2211
+ },
2212
+ {
2213
+ "type": "inventory_table",
2214
+ "compact": "inventory table with SKU, stock levels, and low-stock row highlight",
2215
+ "surfaces": [
2216
+ "web",
2217
+ "google-meet-stage",
2218
+ "email",
2219
+ "pdf",
2220
+ "google-apps-script-web",
2221
+ "mcp-apps"
2222
+ ]
2223
+ },
2224
+ {
2225
+ "type": "jira_ticket",
2226
+ "compact": "Jira issue card with type icon, status lozenge, priority, and assignee",
2227
+ "surfaces": [
2228
+ "web",
2229
+ "google-meet-stage",
2230
+ "email",
2231
+ "pdf",
2232
+ "google-apps-script-web",
2233
+ "mcp-apps"
2234
+ ]
2235
+ },
2236
+ {
2237
+ "type": "sprint_board",
2238
+ "compact": "kanban sprint board with named columns and compact issue cards",
2239
+ "surfaces": [
2240
+ "web",
2241
+ "google-meet-stage",
2242
+ "pdf",
2243
+ "google-apps-script-web",
2244
+ "mcp-apps"
2245
+ ]
2246
+ },
2247
+ {
2248
+ "type": "lozenge",
2249
+ "compact": "Atlassian-semantic status pill with defined appearance variants",
2250
+ "surfaces": [
2251
+ "web",
2252
+ "google-meet-stage",
2253
+ "email",
2254
+ "pdf",
2255
+ "google-apps-script-web",
2256
+ "mcp-apps"
2257
+ ]
2258
+ },
2259
+ {
2260
+ "type": "data_grid",
2261
+ "compact": "enterprise data grid with typed columns, row selection, and",
2262
+ "surfaces": [
2263
+ "web",
2264
+ "google-meet-stage",
2265
+ "pdf",
2266
+ "google-apps-script-web",
2267
+ "mcp-apps"
2268
+ ]
2269
+ },
2270
+ {
2271
+ "type": "tree_view",
2272
+ "compact": "recursive hierarchical tree with expand/collapse per node",
2273
+ "surfaces": [
2274
+ "web",
2275
+ "google-meet-stage",
2276
+ "email",
2277
+ "pdf",
2278
+ "google-apps-script-web",
2279
+ "mcp-apps"
2280
+ ]
2281
+ },
2282
+ {
2283
+ "type": "heatmap_calendar",
2284
+ "compact": "calendar month heatmap with date-value density colouring",
2285
+ "surfaces": [
2286
+ "web",
2287
+ "google-meet-stage",
2288
+ "pdf",
2289
+ "google-apps-script-web",
2290
+ "mcp-apps"
2291
+ ]
2292
+ },
2293
+ {
2294
+ "type": "combobox",
2295
+ "compact": "searchable filterable dropdown — shadcn/Headless UI pattern",
2296
+ "surfaces": [
2297
+ "web",
2298
+ "google-meet-stage",
2299
+ "google-apps-script-web",
2300
+ "mcp-apps"
2301
+ ]
2302
+ },
2303
+ {
2304
+ "type": "feature_grid",
2305
+ "compact": "icon + title + description feature grid — Tailwind UI pattern",
2306
+ "surfaces": [
2307
+ "web",
2308
+ "pdf",
2309
+ "google-apps-script-web",
2310
+ "mcp-apps"
2311
+ ]
2312
+ },
2313
+ {
2314
+ "type": "navigation_menu",
2315
+ "compact": "multi-level horizontal nav with submenu panels — Radix pattern",
2316
+ "surfaces": [
2317
+ "web",
2318
+ "google-apps-script-web",
2319
+ "mcp-apps"
2320
+ ]
2321
+ },
2322
+ {
2323
+ "type": "multi_select_input",
2324
+ "compact": "chip-style multi-value select input — shadcn pattern",
2325
+ "surfaces": [
2326
+ "web",
2327
+ "google-meet-stage",
2328
+ "google-apps-script-web",
2329
+ "mcp-apps"
2330
+ ]
2331
+ },
2332
+ {
2333
+ "type": "otp_input",
2334
+ "compact": "N-box one-time password digit input — shadcn OTP pattern",
2335
+ "surfaces": [
2336
+ "web",
2337
+ "google-apps-script-web",
2338
+ "mcp-apps"
2339
+ ]
2340
+ },
2341
+ {
2342
+ "type": "skill_bars",
2343
+ "compact": "labeled horizontal progress bars list — percent fill, per-bar color",
2344
+ "surfaces": [
2345
+ "web",
2346
+ "google-apps-script-web",
2347
+ "pdf",
2348
+ "mcp-apps"
2349
+ ]
2350
+ },
2351
+ {
2352
+ "type": "icon_stat_row",
2353
+ "compact": "icon + big number + label stat strip — more visual than metric_row",
2354
+ "surfaces": [
2355
+ "web",
2356
+ "google-apps-script-web",
2357
+ "pdf",
2358
+ "mcp-apps"
2359
+ ]
2360
+ },
2361
+ {
2362
+ "type": "color_section",
2363
+ "compact": "colored background wrapper — tint/solid/dark, renders child atom blocks",
2364
+ "surfaces": [
2365
+ "web",
2366
+ "google-apps-script-web",
2367
+ "mcp-apps"
2368
+ ]
2369
+ },
2370
+ {
2371
+ "type": "tag_cloud",
2372
+ "compact": "weighted tag cloud — variable size by weight, wrap layout",
2373
+ "surfaces": [
2374
+ "web",
2375
+ "google-apps-script-web",
2376
+ "pdf",
2377
+ "mcp-apps"
2378
+ ]
2379
+ },
2380
+ {
2381
+ "type": "step_progress",
2382
+ "compact": "horizontal step progress — numbered circles, connecting lines, current step highlighted",
2383
+ "surfaces": [
2384
+ "web",
2385
+ "google-apps-script-web",
2386
+ "pdf",
2387
+ "mcp-apps"
2388
+ ]
2389
+ },
2390
+ {
2391
+ "type": "split_pane",
2392
+ "compact": "two-panel split — distinct bg per side, each side renders atom blocks",
2393
+ "surfaces": [
2394
+ "web",
2395
+ "google-apps-script-web",
2396
+ "mcp-apps"
2397
+ ]
2398
+ },
2399
+ {
2400
+ "type": "gradient_hero",
2401
+ "compact": "light gradient hero — badge, large title, subtitle, CTA button",
2402
+ "surfaces": [
2403
+ "web",
2404
+ "google-apps-script-web",
2405
+ "pdf",
2406
+ "mcp-apps"
2407
+ ]
2408
+ },
2409
+ {
2410
+ "type": "icon_list",
2411
+ "compact": "icon-circle list — emoji/icon per item, label + text, color per item",
2412
+ "surfaces": [
2413
+ "web",
2414
+ "google-apps-script-web",
2415
+ "pdf",
2416
+ "mcp-apps"
2417
+ ]
2418
+ },
2419
+ {
2420
+ "type": "highlight_box",
2421
+ "compact": "highlight box — gradient/solid/outline style, icon, title, text",
2422
+ "surfaces": [
2423
+ "web",
2424
+ "google-apps-script-web",
2425
+ "pdf",
2426
+ "mcp-apps"
2427
+ ]
2428
+ },
2429
+ {
2430
+ "type": "two_tone_card",
2431
+ "compact": "split card — colored header with icon/title, white body renders atom blocks",
2432
+ "surfaces": [
2433
+ "web",
2434
+ "google-apps-script-web",
2435
+ "mcp-apps"
2436
+ ]
2437
+ },
2438
+ {
2439
+ "type": "metric_row",
2440
+ "compact": "horizontal metric strip — value, label, prefix/suffix, trend up/down",
2441
+ "surfaces": [
2442
+ "web",
2443
+ "google-apps-script-web",
2444
+ "pdf",
2445
+ "mcp-apps"
2446
+ ]
2447
+ },
2448
+ {
2449
+ "type": "numbered_list",
2450
+ "compact": "decorative numbered list — large background numbers, circular badges, or bordered stage cards",
2451
+ "surfaces": [
2452
+ "web",
2453
+ "google-apps-script-web",
2454
+ "pdf",
2455
+ "mcp-apps"
2456
+ ]
2457
+ },
2458
+ {
2459
+ "type": "page_header",
2460
+ "compact": "app-style page header — title, subtitle, icon, accent, tag badge",
2461
+ "surfaces": [
2462
+ "web",
2463
+ "google-apps-script-web",
2464
+ "pdf",
2465
+ "mcp-apps"
2466
+ ]
2467
+ },
2468
+ {
2469
+ "type": "back_button",
2470
+ "compact": "back navigation — url, nav_slug, or history.back(); ghost/outline/text style",
2471
+ "surfaces": [
2472
+ "web",
2473
+ "google-apps-script-web",
2474
+ "mcp-apps"
2475
+ ]
2476
+ },
2477
+ {
2478
+ "type": "section_break",
2479
+ "compact": "section divider — optional centered label, solid/dashed/dots style",
2480
+ "surfaces": [
2481
+ "web",
2482
+ "google-apps-script-web",
2483
+ "pdf",
2484
+ "mcp-apps"
2485
+ ]
2486
+ },
2487
+ {
2488
+ "type": "chip_group",
2489
+ "compact": "chip/tag row — label, color, url, active state; wrap or scroll layout",
2490
+ "surfaces": [
2491
+ "web",
2492
+ "google-apps-script-web",
2493
+ "mcp-apps"
2494
+ ]
2495
+ },
2496
+ {
2497
+ "type": "columns",
2498
+ "compact": "multi-column layout — 2–6 cols, each column holds atom blocks",
2499
+ "surfaces": [
2500
+ "web",
2501
+ "google-apps-script-web",
2502
+ "pdf",
2503
+ "mcp-apps"
2504
+ ]
2505
+ },
2506
+ {
2507
+ "type": "person_card",
2508
+ "compact": "person card — name, role, photo, bio, tags, email, linkedin",
2509
+ "surfaces": [
2510
+ "web",
2511
+ "google-apps-script-web",
2512
+ "pdf",
2513
+ "mcp-apps"
2514
+ ]
2515
+ },
2516
+ {
2517
+ "type": "agenda_block",
2518
+ "compact": "time-slotted agenda — slots with time, title, speaker, location, type",
2519
+ "surfaces": [
2520
+ "web",
2521
+ "google-apps-script-web",
2522
+ "mcp-apps"
2523
+ ]
2524
+ },
2525
+ {
2526
+ "type": "risk_flag",
2527
+ "compact": "risk list — critical/high/medium/low with title, description, mitigation",
2528
+ "surfaces": [
2529
+ "web",
2530
+ "google-apps-script-web",
2531
+ "pdf",
2532
+ "mcp-apps"
2533
+ ]
2534
+ },
2535
+ {
2536
+ "type": "action_items",
2537
+ "compact": "action items table — action, owner, due date, status",
2538
+ "surfaces": [
2539
+ "web",
2540
+ "google-apps-script-web",
2541
+ "pdf",
2542
+ "mcp-apps"
2543
+ ]
2544
+ },
2545
+ {
2546
+ "type": "bento_grid",
2547
+ "compact": "asymmetric bento-box feature tile grid — MagicUI/shadcn pattern",
2548
+ "surfaces": [
2549
+ "web",
2550
+ "pdf",
2551
+ "google-apps-script-web",
2552
+ "mcp-apps"
2553
+ ]
2554
+ },
2555
+ {
2556
+ "type": "cta_section",
2557
+ "compact": "full-width CTA banner with headline and buttons — Tailwind UI pattern",
2558
+ "surfaces": [
2559
+ "web",
2560
+ "email",
2561
+ "pdf",
2562
+ "google-apps-script-web",
2563
+ "mcp-apps"
2564
+ ]
2565
+ },
2566
+ {
2567
+ "type": "animated_counter",
2568
+ "compact": "CSS-only animated counter that counts up to target values",
2569
+ "surfaces": [
2570
+ "web",
2571
+ "google-apps-script-web",
2572
+ "mcp-apps"
2573
+ ]
2574
+ },
2575
+ {
2576
+ "type": "media_stream_card",
2577
+ "compact": "Auto-detecting YouTube/Loom/Slides/Vimeo embed with skeleton",
2578
+ "surfaces": [
2579
+ "web",
2580
+ "google-meet-stage",
2581
+ "google-apps-script-web",
2582
+ "mcp-apps"
2583
+ ]
2584
+ },
2585
+ {
2586
+ "type": "live_aggregator",
2587
+ "compact": "Real-time comparative bars for votes, counts, or percentages",
2588
+ "surfaces": [
2589
+ "web",
2590
+ "google-meet-stage",
2591
+ "google-apps-script-web",
2592
+ "mcp-apps"
2593
+ ]
2594
+ },
2595
+ {
2596
+ "type": "vote_button_group",
2597
+ "compact": "Multi-option vote buttons in pill, neon, or default style",
2598
+ "surfaces": [
2599
+ "web",
2600
+ "google-meet-stage",
2601
+ "google-apps-script-web",
2602
+ "mcp-apps"
2603
+ ]
2604
+ },
2605
+ {
2606
+ "type": "effect_overlay",
2607
+ "compact": "CSS confetti/trophy/pulse celebration overlay triggered by name",
2608
+ "surfaces": [
2609
+ "web",
2610
+ "google-meet-stage",
2611
+ "google-apps-script-web",
2612
+ "mcp-apps"
2613
+ ]
2614
+ },
2615
+ {
2616
+ "type": "skeleton_stage_card",
2617
+ "compact": "Dark shimmer skeleton loader in card/list/media/chat variants",
2618
+ "surfaces": [
2619
+ "web",
2620
+ "google-meet-stage",
2621
+ "google-apps-script-web",
2622
+ "mcp-apps"
2623
+ ]
2624
+ },
2625
+ {
2626
+ "type": "marquee_strip",
2627
+ "compact": "infinite CSS-animated horizontal marquee of text or logo items",
2628
+ "surfaces": [
2629
+ "web",
2630
+ "google-meet-stage",
2631
+ "google-apps-script-web",
2632
+ "mcp-apps"
2633
+ ]
2634
+ },
2635
+ {
2636
+ "type": "typewriter_text",
2637
+ "compact": "CSS typewriter animation that reveals text character by character",
2638
+ "surfaces": [
2639
+ "web",
2640
+ "google-meet-stage",
2641
+ "google-apps-script-side-panel",
2642
+ "google-apps-script-web",
2643
+ "mcp-apps"
2644
+ ]
2645
+ },
2646
+ {
2647
+ "type": "animated_border_card",
2648
+ "compact": "card with CSS rotating gradient animated border",
2649
+ "surfaces": [
2650
+ "web",
2651
+ "google-meet-stage",
2652
+ "google-apps-script-web",
2653
+ "mcp-apps"
2654
+ ]
2655
+ },
2656
+ {
2657
+ "type": "aurora_background",
2658
+ "compact": "animated aurora borealis gradient blob background, CSS-only",
2659
+ "surfaces": [
2660
+ "web",
2661
+ "google-meet-stage",
2662
+ "google-apps-script-web",
2663
+ "mcp-apps"
2664
+ ]
2665
+ },
2666
+ {
2667
+ "type": "dot_grid_background",
2668
+ "compact": "CSS repeating dot or grid pattern panel background",
2669
+ "surfaces": [
2670
+ "web",
2671
+ "google-meet-stage",
2672
+ "pdf",
2673
+ "google-apps-script-web",
2674
+ "mcp-apps"
2675
+ ]
2676
+ },
2677
+ {
2678
+ "type": "shimmer_button",
2679
+ "compact": "button with CSS background-position shimmer sweep animation",
2680
+ "surfaces": [
2681
+ "web",
2682
+ "google-meet-stage",
2683
+ "google-apps-script-web",
2684
+ "mcp-apps"
2685
+ ]
2686
+ },
2687
+ {
2688
+ "type": "card_stack",
2689
+ "compact": "CSS-fanned stack of 2–4 cards with rotation and opacity tiers",
2690
+ "surfaces": [
2691
+ "web",
2692
+ "google-meet-stage",
2693
+ "google-apps-script-web",
2694
+ "mcp-apps"
2695
+ ]
2696
+ },
2697
+ {
2698
+ "type": "meteor_shower",
2699
+ "compact": "CSS-animated diagonal falling meteor streaks on a dark panel",
2700
+ "surfaces": [
2701
+ "web",
2702
+ "google-meet-stage",
2703
+ "google-apps-script-web",
2704
+ "mcp-apps"
2705
+ ]
2706
+ },
2707
+ {
2708
+ "type": "blur_fade_in",
2709
+ "compact": "CSS blur-to-focus fade-in container reveal",
2710
+ "surfaces": [
2711
+ "web",
2712
+ "google-meet-stage",
2713
+ "google-apps-script-web",
2714
+ "mcp-apps"
2715
+ ]
2716
+ },
2717
+ {
2718
+ "type": "glow_button",
2719
+ "compact": "CSS box-shadow state-signalling button with disabled/ready/fired glow",
2720
+ "surfaces": [
2721
+ "web",
2722
+ "google-meet-stage",
2723
+ "google-apps-script-side-panel",
2724
+ "google-apps-script-web",
2725
+ "mcp-apps"
2726
+ ]
2727
+ },
2728
+ {
2729
+ "type": "animated_beam",
2730
+ "compact": "CSS stroke-dashoffset animated SVG beam between two labelled nodes",
2731
+ "surfaces": [
2732
+ "web",
2733
+ "google-meet-stage",
2734
+ "google-apps-script-web",
2735
+ "mcp-apps"
2736
+ ]
2737
+ },
2738
+ {
2739
+ "type": "encrypted_reveal",
2740
+ "compact": "CSS steps() scramble-to-reveal text animation",
2741
+ "surfaces": [
2742
+ "web",
2743
+ "google-meet-stage",
2744
+ "google-apps-script-web",
2745
+ "mcp-apps"
2746
+ ]
2747
+ },
2748
+ {
2749
+ "type": "word_flip",
2750
+ "compact": "CSS steps() vertical word carousel in an overflow-hidden inline container",
2751
+ "surfaces": [
2752
+ "web",
2753
+ "google-meet-stage",
2754
+ "google-apps-script-side-panel",
2755
+ "google-apps-script-web",
2756
+ "mcp-apps"
2757
+ ]
2758
+ },
2759
+ {
2760
+ "type": "sonar_pulse",
2761
+ "compact": "CSS concentric ring pulse animation for attention signalling",
2762
+ "surfaces": [
2763
+ "web",
2764
+ "google-meet-stage",
2765
+ "google-apps-script-side-panel",
2766
+ "google-apps-script-web",
2767
+ "mcp-apps"
2768
+ ]
2769
+ },
2770
+ {
2771
+ "type": "typewriter",
2772
+ "compact": "CSS character-by-character typewriter reveal with optional cursor",
2773
+ "surfaces": [
2774
+ "web",
2775
+ "google-meet-stage",
2776
+ "google-apps-script-web",
2777
+ "mcp-apps"
2778
+ ]
2779
+ },
2780
+ {
2781
+ "type": "number_odometer",
2782
+ "compact": "Slot-machine digit-column flip to target number",
2783
+ "surfaces": [
2784
+ "web",
2785
+ "google-meet-stage",
2786
+ "google-apps-script-web",
2787
+ "mcp-apps"
2788
+ ]
2789
+ },
2790
+ {
2791
+ "type": "typing_indicator",
2792
+ "compact": "Three-dot bouncing chat typing indicator bubble",
2793
+ "surfaces": [
2794
+ "web",
2795
+ "google-meet-stage",
2796
+ "google-apps-script-side-panel",
2797
+ "google-apps-script-web",
2798
+ "mcp-apps"
2799
+ ]
2800
+ },
2801
+ {
2802
+ "type": "countdown_timer",
2803
+ "compact": "Flip-clock countdown timer display (static tiles, data-driven ticking)",
2804
+ "surfaces": [
2805
+ "web",
2806
+ "google-meet-stage",
2807
+ "google-apps-script-web",
2808
+ "mcp-apps"
2809
+ ]
2810
+ },
2811
+ {
2812
+ "type": "gradient_text",
2813
+ "compact": "Animated gradient-fill heading text via CSS background-clip",
2814
+ "surfaces": [
2815
+ "web",
2816
+ "google-meet-stage",
2817
+ "google-apps-script-web",
2818
+ "mcp-apps"
2819
+ ]
2820
+ },
2821
+ {
2822
+ "type": "reveal_on_scroll",
2823
+ "compact": "IntersectionObserver scroll-triggered fade+slide reveal",
2824
+ "surfaces": [
2825
+ "web",
2826
+ "google-apps-script-web",
2827
+ "mcp-apps"
2828
+ ]
2829
+ },
2830
+ {
2831
+ "type": "word_scramble",
2832
+ "compact": "CSS steps() left-to-right character scramble-to-reveal",
2833
+ "surfaces": [
2834
+ "web",
2835
+ "google-meet-stage",
2836
+ "google-apps-script-web",
2837
+ "mcp-apps"
2838
+ ]
2839
+ },
2840
+ {
2841
+ "type": "svg_path_draw",
2842
+ "compact": "SVG stroke-dashoffset self-drawing path animation",
2843
+ "surfaces": [
2844
+ "web",
2845
+ "google-meet-stage",
2846
+ "google-apps-script-web",
2847
+ "mcp-apps"
2848
+ ]
2849
+ },
2850
+ {
2851
+ "type": "parallax_card",
2852
+ "compact": "3D CSS perspective tilt card with mousemove parallax depth",
2853
+ "surfaces": [
2854
+ "web",
2855
+ "google-apps-script-side-panel",
2856
+ "mcp-apps"
2857
+ ]
2858
+ },
2859
+ {
2860
+ "type": "quiz_question",
2861
+ "compact": "MCQ or true/false question with CSS-only correct/wrong feedback",
2862
+ "surfaces": [
2863
+ "web",
2864
+ "google-apps-script-web",
2865
+ "mcp-apps"
2866
+ ]
2867
+ },
2868
+ {
2869
+ "type": "fill_in_blank",
2870
+ "compact": "cloze-test sentence with inline inputs and correct/wrong highlight on submit",
2871
+ "surfaces": [
2872
+ "web",
2873
+ "google-apps-script-web",
2874
+ "mcp-apps"
2875
+ ]
2876
+ },
2877
+ {
2878
+ "type": "match_exercise",
2879
+ "compact": "click-to-pair matching exercise with green lock and red mismatch flash",
2880
+ "surfaces": [
2881
+ "web",
2882
+ "google-apps-script-web",
2883
+ "mcp-apps"
2884
+ ]
2885
+ },
2886
+ {
2887
+ "type": "hint_reveal",
2888
+ "compact": "show/hide hint disclosure using HTML details/summary — no JS",
2889
+ "surfaces": [
2890
+ "web",
2891
+ "google-meet-stage",
2892
+ "google-apps-script-web",
2893
+ "mcp-apps"
2894
+ ]
2895
+ },
2896
+ {
2897
+ "type": "achievement_badge",
2898
+ "compact": "unlockable achievement badge with locked/unlocked state and optional date",
2899
+ "surfaces": [
2900
+ "web",
2901
+ "google-meet-stage",
2902
+ "email",
2903
+ "pdf",
2904
+ "google-apps-script-web",
2905
+ "mcp-apps"
2906
+ ]
2907
+ },
2908
+ {
2909
+ "type": "score_summary",
2910
+ "compact": "end-of-exercise score card with correct/total, percentage, grade, and CTA",
2911
+ "surfaces": [
2912
+ "web",
2913
+ "google-meet-stage",
2914
+ "pdf",
2915
+ "google-apps-script-web",
2916
+ "mcp-apps"
2917
+ ]
2918
+ },
2919
+ {
2920
+ "type": "xp_bar",
2921
+ "compact": "animated XP/points progress bar with level label and level-up flash",
2922
+ "surfaces": [
2923
+ "web",
2924
+ "google-meet-stage",
2925
+ "google-apps-script-web",
2926
+ "mcp-apps"
2927
+ ]
2928
+ },
2929
+ {
2930
+ "type": "lesson_nav",
2931
+ "compact": "prev/next lesson navigation with module context and optional completion checkbox",
2932
+ "surfaces": [
2933
+ "web",
2934
+ "google-apps-script-web",
2935
+ "mcp-apps"
2936
+ ]
2937
+ },
2938
+ {
2939
+ "type": "course_progress_card",
2940
+ "compact": "course-level progress card with per-module bars and aggregate completion ring",
2941
+ "surfaces": [
2942
+ "web",
2943
+ "google-meet-stage",
2944
+ "pdf",
2945
+ "google-apps-script-web",
2946
+ "mcp-apps"
2947
+ ]
2948
+ },
2949
+ {
2950
+ "type": "highlighted_text",
2951
+ "compact": "highlighted text passage with optional hover margin annotation note",
2952
+ "surfaces": [
2953
+ "web",
2954
+ "google-meet-stage",
2955
+ "pdf",
2956
+ "google-apps-script-web",
2957
+ "mcp-apps"
2958
+ ]
2959
+ },
2960
+ {
2961
+ "type": "drive_file_list",
2962
+ "compact": "live list of Drive folder files",
2963
+ "surfaces": [
2964
+ "google-apps-script-web",
2965
+ "mcp-apps"
2966
+ ]
2967
+ },
2968
+ {
2969
+ "type": "sheet_preview",
2970
+ "compact": "live read-only Google Sheet range preview",
2971
+ "surfaces": [
2972
+ "google-apps-script-web",
2973
+ "mcp-apps"
2974
+ ]
2975
+ },
2976
+ {
2977
+ "type": "gmail_summary",
2978
+ "compact": "list of recent Gmail messages matching query",
2979
+ "surfaces": [
2980
+ "google-apps-script-web",
2981
+ "mcp-apps"
2982
+ ]
2983
+ },
2984
+ {
2985
+ "type": "calendar_upcoming",
2986
+ "compact": "list of upcoming calendar events",
2987
+ "surfaces": [
2988
+ "google-apps-script-web",
2989
+ "mcp-apps"
2990
+ ]
2991
+ },
2992
+ {
2993
+ "type": "user_greeting",
2994
+ "compact": "personalised greeting with active user email",
2995
+ "surfaces": [
2996
+ "google-apps-script-web",
2997
+ "mcp-apps"
2998
+ ]
2999
+ },
3000
+ {
3001
+ "type": "script_run_button",
3002
+ "compact": "button to trigger server-side Apps Script function",
3003
+ "surfaces": [
3004
+ "google-apps-script-web",
3005
+ "mcp-apps"
3006
+ ]
3007
+ },
3008
+ {
3009
+ "type": "calendar_today",
3010
+ "compact": "today's calendar events from the user's default calendar",
3011
+ "surfaces": [
3012
+ "google-apps-script-web",
3013
+ "mcp-apps"
3014
+ ]
3015
+ },
3016
+ {
3017
+ "type": "sheet_stats",
3018
+ "compact": "aggregate stats from a sheet range displayed as stat badges",
3019
+ "surfaces": [
3020
+ "google-apps-script-web",
3021
+ "mcp-apps"
3022
+ ]
3023
+ },
3024
+ {
3025
+ "type": "gmail_unread_count",
3026
+ "compact": "unread count badges for Gmail labels",
3027
+ "surfaces": [
3028
+ "google-apps-script-web",
3029
+ "google-meet-stage",
3030
+ "mcp-apps"
3031
+ ]
3032
+ },
3033
+ {
3034
+ "type": "user_profile_card",
3035
+ "compact": "user avatar, display name, email and domain — live on GAS, static fields elsewhere",
3036
+ "surfaces": [
3037
+ "google-apps-script-web",
3038
+ "google-meet-stage",
3039
+ "mcp-apps"
3040
+ ]
3041
+ },
3042
+ {
3043
+ "type": "drive_storage_usage",
3044
+ "compact": "Drive storage quota progress bar — live on GAS, or pass used_gb/total_gb for static",
3045
+ "surfaces": [
3046
+ "google-apps-script-web",
3047
+ "google-meet-stage",
3048
+ "mcp-apps"
3049
+ ]
3050
+ },
3051
+ {
3052
+ "type": "sheet_form_submit",
3053
+ "compact": "inline form that appends a row to a Google Sheet on submit",
3054
+ "surfaces": [
3055
+ "google-apps-script-web",
3056
+ "mcp-apps"
3057
+ ]
3058
+ },
3059
+ {
3060
+ "type": "tasks_today",
3061
+ "compact": "task checklist — live via Tasks API on GAS, items[] array on other surfaces",
3062
+ "surfaces": [
3063
+ "google-apps-script-web",
3064
+ "google-meet-stage",
3065
+ "mcp-apps"
3066
+ ]
3067
+ },
3068
+ {
3069
+ "type": "cursor_glow",
3070
+ "compact": "ambient glowing orb that lerp-follows the cursor with screen blend",
3071
+ "surfaces": [
3072
+ "google-apps-script-web",
3073
+ "web",
3074
+ "google-meet-stage",
3075
+ "mcp-apps"
3076
+ ]
3077
+ },
3078
+ {
3079
+ "type": "cursor_trail",
3080
+ "compact": "chain of fading dots following the cursor with worm physics",
3081
+ "surfaces": [
3082
+ "google-apps-script-web",
3083
+ "web",
3084
+ "google-meet-stage",
3085
+ "mcp-apps"
3086
+ ]
3087
+ },
3088
+ {
3089
+ "type": "particle_burst",
3090
+ "compact": "click anywhere to burst coloured gravity particles from click point",
3091
+ "surfaces": [
3092
+ "google-apps-script-web",
3093
+ "web",
3094
+ "google-meet-stage",
3095
+ "mcp-apps"
3096
+ ]
3097
+ },
3098
+ {
3099
+ "type": "spotlight_cursor",
3100
+ "compact": "dark overlay with cursor-following circular cutout — torch effect",
3101
+ "surfaces": [
3102
+ "google-apps-script-web",
3103
+ "web",
3104
+ "google-meet-stage",
3105
+ "mcp-apps"
3106
+ ]
3107
+ },
3108
+ {
3109
+ "type": "magnetic_element",
3110
+ "compact": "content that drifts toward cursor and springs back with overshoot",
3111
+ "surfaces": [
3112
+ "google-apps-script-web",
3113
+ "web",
3114
+ "google-meet-stage",
3115
+ "mcp-apps"
3116
+ ]
3117
+ },
3118
+ {
3119
+ "type": "tilt_card",
3120
+ "compact": "3D perspective tilt card with glare highlight driven by cursor position",
3121
+ "surfaces": [
3122
+ "google-apps-script-web",
3123
+ "web",
3124
+ "google-meet-stage",
3125
+ "mcp-apps"
3126
+ ]
3127
+ },
3128
+ {
3129
+ "type": "doc_ai_summary",
3130
+ "compact": "AI-powered Google Doc summary via Vertex AI Gemini",
3131
+ "surfaces": [
3132
+ "google-apps-script-web"
3133
+ ]
3134
+ },
3135
+ {
3136
+ "type": "multi_doc_ai_brief",
3137
+ "compact": "multi-doc briefing pack — one Gemini summary card per Google Doc",
3138
+ "surfaces": [
3139
+ "google-apps-script-web"
3140
+ ]
3141
+ },
3142
+ {
3143
+ "type": "gradient_heading",
3144
+ "compact": "gradient-fill standalone heading",
3145
+ "surfaces": [
3146
+ "google-apps-script-web",
3147
+ "web",
3148
+ "google-meet-stage",
3149
+ "mcp-apps"
3150
+ ]
3151
+ },
3152
+ {
3153
+ "type": "display_quote",
3154
+ "compact": "typographic pull quote with decorative mark and attribution",
3155
+ "surfaces": [
3156
+ "google-apps-script-web",
3157
+ "web",
3158
+ "google-meet-stage",
3159
+ "mcp-apps"
3160
+ ]
3161
+ },
3162
+ {
3163
+ "type": "split_stat",
3164
+ "compact": "two-column stat + text keynote layout with neon glow",
3165
+ "surfaces": [
3166
+ "google-apps-script-web",
3167
+ "web",
3168
+ "google-meet-stage",
3169
+ "mcp-apps"
3170
+ ]
3171
+ },
3172
+ {
3173
+ "type": "word_reveal",
3174
+ "compact": "auto-play word-by-word fade-up reveal animation",
3175
+ "surfaces": [
3176
+ "google-apps-script-web",
3177
+ "web",
3178
+ "google-meet-stage",
3179
+ "mcp-apps"
3180
+ ]
3181
+ },
3182
+ {
3183
+ "type": "section_label",
3184
+ "compact": "uppercase section marker with glowing accent pill",
3185
+ "surfaces": [
3186
+ "google-apps-script-web",
3187
+ "web",
3188
+ "google-meet-stage",
3189
+ "mcp-apps"
3190
+ ]
3191
+ },
3192
+ {
3193
+ "type": "count_up_stat",
3194
+ "compact": "animated count-up number stat with cubic ease, auto-plays on load",
3195
+ "surfaces": [
3196
+ "google-apps-script-web",
3197
+ "web",
3198
+ "google-meet-stage",
3199
+ "mcp-apps"
3200
+ ]
3201
+ },
3202
+ {
3203
+ "type": "text_highlight",
3204
+ "compact": "prose sentence with **marked** words highlighted in accent colour",
3205
+ "surfaces": [
3206
+ "google-apps-script-web",
3207
+ "web",
3208
+ "google-meet-stage",
3209
+ "mcp-apps"
3210
+ ]
3211
+ },
3212
+ {
3213
+ "type": "reveal_line",
3214
+ "compact": "clip-path sweep-in reveal line, auto-plays on load",
3215
+ "surfaces": [
3216
+ "google-apps-script-web",
3217
+ "web",
3218
+ "google-meet-stage",
3219
+ "mcp-apps"
3220
+ ]
3221
+ },
3222
+ {
3223
+ "type": "canvas_plexus",
3224
+ "compact": "animated particle plexus with proximity lines and mouse repulsion",
3225
+ "surfaces": [
3226
+ "google-apps-script-web",
3227
+ "web",
3228
+ "google-meet-stage",
3229
+ "mcp-apps"
3230
+ ]
3231
+ },
3232
+ {
3233
+ "type": "spring_nodes",
3234
+ "compact": "interactive mass-spring physics graph with drag-to-pin nodes",
3235
+ "surfaces": [
3236
+ "google-apps-script-web",
3237
+ "web",
3238
+ "google-meet-stage",
3239
+ "mcp-apps"
3240
+ ]
3241
+ },
3242
+ {
3243
+ "type": "isometric_mesh",
3244
+ "compact": "rotating 3D isometric mesh with height-colour mapping and drag-rotate",
3245
+ "surfaces": [
3246
+ "google-apps-script-web",
3247
+ "web",
3248
+ "google-meet-stage",
3249
+ "mcp-apps"
3250
+ ]
3251
+ },
3252
+ {
3253
+ "type": "geo_iso_takeoff",
3254
+ "compact": "isometric 3D canvas of A321neo takeoff from LFBO — animated roll, rotation, gear-up, climb; HUD with airline/runway",
3255
+ "surfaces": [
3256
+ "google-apps-script-web",
3257
+ "mcp-apps"
3258
+ ]
3259
+ },
3260
+ {
3261
+ "type": "geo_iso_rocket_launch",
3262
+ "compact": "isometric 3D canvas of Ariane 6 rocket launch from Kourou — animated liftoff and ascent; mission HUD",
3263
+ "surfaces": [
3264
+ "google-apps-script-web",
3265
+ "mcp-apps"
3266
+ ]
3267
+ },
3268
+ {
3269
+ "type": "geo_iso_heli_hover",
3270
+ "compact": "isometric 3D canvas of H160 helicopter hover — rotor animation, downwash, HUD",
3271
+ "surfaces": [
3272
+ "google-apps-script-web",
3273
+ "mcp-apps"
3274
+ ]
3275
+ },
3276
+ {
3277
+ "type": "geo_iso_fleet",
3278
+ "compact": "tabbed isometric fleet demo — A321neo takeoff + Ariane 6 launch + H160 hover with tab switcher",
3279
+ "surfaces": [
3280
+ "google-apps-script-web",
3281
+ "mcp-apps"
3282
+ ]
3283
+ },
3284
+ {
3285
+ "type": "airspace_command_deck",
3286
+ "compact": "Toulouse TMA radar canvas with animated flights, HUD overlay, and live METAR ticker",
3287
+ "surfaces": [
3288
+ "google-apps-script-web",
3289
+ "google-meet-stage",
3290
+ "mcp-apps"
3291
+ ]
3292
+ },
3293
+ {
3294
+ "type": "data_source",
3295
+ "compact": "generic HTTP feed — server-side initial fetch, client-side refresh via surface transport",
3296
+ "surfaces": [
3297
+ "google-apps-script-web",
3298
+ "mcp-apps"
3299
+ ]
3300
+ },
3301
+ {
3302
+ "type": "adsb_feed",
3303
+ "compact": "OpenSky Network ADS-B live flight positions for a bounding box",
3304
+ "surfaces": [
3305
+ "google-apps-script-web"
3306
+ ]
3307
+ },
3308
+ {
3309
+ "type": "metar_feed",
3310
+ "compact": "live METAR weather feed — parsed wind, temp, QNH for an ICAO station",
3311
+ "surfaces": [
3312
+ "google-apps-script-web",
3313
+ "mcp-apps"
3314
+ ]
3315
+ },
3316
+ {
3317
+ "type": "firestore_read",
3318
+ "compact": "Firestore document read — publishes deserialized doc to named data connector; visual atoms subscribe by name",
3319
+ "surfaces": [
3320
+ "google-apps-script-web"
3321
+ ]
3322
+ },
3323
+ {
3324
+ "type": "paragraph",
3325
+ "compact": "prose paragraph (GAS alias for body)",
3326
+ "surfaces": [
3327
+ "google-apps-script-web",
3328
+ "mcp-apps"
3329
+ ]
3330
+ },
3331
+ {
3332
+ "type": "text_block",
3333
+ "compact": "plain text block",
3334
+ "surfaces": [
3335
+ "google-apps-script-web",
3336
+ "mcp-apps"
3337
+ ]
3338
+ },
3339
+ {
3340
+ "type": "blockquote",
3341
+ "compact": "styled pull-quote with attribution",
3342
+ "surfaces": [
3343
+ "google-apps-script-web",
3344
+ "mcp-apps"
3345
+ ]
3346
+ },
3347
+ {
3348
+ "type": "spacer",
3349
+ "compact": "vertical whitespace gap",
3350
+ "surfaces": [
3351
+ "google-apps-script-web",
3352
+ "mcp-apps"
3353
+ ]
3354
+ },
3355
+ {
3356
+ "type": "tag_chip",
3357
+ "compact": "inline tag chip",
3358
+ "surfaces": [
3359
+ "google-apps-script-web",
3360
+ "mcp-apps"
3361
+ ]
3362
+ },
3363
+ {
3364
+ "type": "badge",
3365
+ "compact": "inline badge pill",
3366
+ "surfaces": [
3367
+ "google-apps-script-web",
3368
+ "mcp-apps"
3369
+ ]
3370
+ },
3371
+ {
3372
+ "type": "inline_code",
3373
+ "compact": "monospace inline code span",
3374
+ "surfaces": [
3375
+ "google-apps-script-web",
3376
+ "mcp-apps"
3377
+ ]
3378
+ },
3379
+ {
3380
+ "type": "code_block",
3381
+ "compact": "syntax-highlighted code block",
3382
+ "surfaces": [
3383
+ "google-apps-script-web",
3384
+ "mcp-apps"
3385
+ ]
3386
+ },
3387
+ {
3388
+ "type": "link_button",
3389
+ "compact": "text hyperlink button",
3390
+ "surfaces": [
3391
+ "google-apps-script-web",
3392
+ "mcp-apps"
3393
+ ]
3394
+ },
3395
+ {
3396
+ "type": "cta_button",
3397
+ "compact": "call-to-action button",
3398
+ "surfaces": [
3399
+ "google-apps-script-web",
3400
+ "mcp-apps"
3401
+ ]
3402
+ },
3403
+ {
3404
+ "type": "nav_link",
3405
+ "compact": "single CTA link to a named page — appends from= automatically for back-button support",
3406
+ "surfaces": [
3407
+ "google-apps-script-web",
3408
+ "web",
3409
+ "google-meet-stage",
3410
+ "mcp-apps"
3411
+ ]
3412
+ },
3413
+ {
3414
+ "type": "info_card",
3415
+ "compact": "simple info card with title and body",
3416
+ "surfaces": [
3417
+ "google-apps-script-web",
3418
+ "mcp-apps"
3419
+ ]
3420
+ },
3421
+ {
3422
+ "type": "ai_build_trace",
3423
+ "compact": "Gemini token usage trace card",
3424
+ "surfaces": [
3425
+ "google-apps-script-web",
3426
+ "mcp-apps"
3427
+ ]
3428
+ },
3429
+ {
3430
+ "type": "gemini_prompt",
3431
+ "compact": "inline Gemini prompt input widget",
3432
+ "surfaces": [
3433
+ "google-apps-script-web",
3434
+ "mcp-apps"
3435
+ ]
3436
+ },
3437
+ {
3438
+ "type": "dark_hero",
3439
+ "compact": "dark hero banner with gradient and CTA",
3440
+ "surfaces": [
3441
+ "google-apps-script-web",
3442
+ "mcp-apps"
3443
+ ]
3444
+ },
3445
+ {
3446
+ "type": "glowing_stat",
3447
+ "compact": "neon-glow stat number on dark card",
3448
+ "surfaces": [
3449
+ "google-apps-script-web",
3450
+ "mcp-apps"
3451
+ ]
3452
+ },
3453
+ {
3454
+ "type": "glass_card",
3455
+ "compact": "frosted-glass card with blur backdrop — dark-theme highlight box",
3456
+ "surfaces": [
3457
+ "google-apps-script-web",
3458
+ "mcp-apps"
3459
+ ]
3460
+ },
3461
+ {
3462
+ "type": "gradient_border_card",
3463
+ "compact": "animated gradient border card",
3464
+ "surfaces": [
3465
+ "google-apps-script-web",
3466
+ "mcp-apps"
3467
+ ]
3468
+ },
3469
+ {
3470
+ "type": "floating_orbs",
3471
+ "compact": "decorative blurred colour orbs background",
3472
+ "surfaces": [
3473
+ "google-apps-script-web",
3474
+ "mcp-apps"
3475
+ ]
3476
+ },
3477
+ {
3478
+ "type": "neon_text",
3479
+ "compact": "neon-glow coloured text",
3480
+ "surfaces": [
3481
+ "google-apps-script-web",
3482
+ "mcp-apps"
3483
+ ]
3484
+ },
3485
+ {
3486
+ "type": "dark_feature_grid",
3487
+ "compact": "dark-theme feature grid with icons",
3488
+ "surfaces": [
3489
+ "google-apps-script-web",
3490
+ "mcp-apps"
3491
+ ]
3492
+ },
3493
+ {
3494
+ "type": "dark_divider",
3495
+ "compact": "dark-theme horizontal divider",
3496
+ "surfaces": [
3497
+ "google-apps-script-web",
3498
+ "mcp-apps"
3499
+ ]
3500
+ },
3501
+ {
3502
+ "type": "ambient_gradient",
3503
+ "compact": "animated aurora/ambient gradient background",
3504
+ "surfaces": [
3505
+ "google-apps-script-web",
3506
+ "mcp-apps"
3507
+ ]
3508
+ },
3509
+ {
3510
+ "type": "depth_stack",
3511
+ "compact": "stacked cards with depth parallax",
3512
+ "surfaces": [
3513
+ "google-apps-script-web",
3514
+ "mcp-apps"
3515
+ ]
3516
+ },
3517
+ {
3518
+ "type": "scramble_reveal",
3519
+ "compact": "character-scramble text reveal on scroll",
3520
+ "surfaces": [
3521
+ "google-apps-script-web",
3522
+ "mcp-apps"
3523
+ ]
3524
+ },
3525
+ {
3526
+ "type": "scroll_trigger",
3527
+ "compact": "scroll-triggered animated reveal",
3528
+ "surfaces": [
3529
+ "google-apps-script-web",
3530
+ "mcp-apps"
3531
+ ]
3532
+ },
3533
+ {
3534
+ "type": "flow_connector",
3535
+ "compact": "animated beam connector between two or more nodes",
3536
+ "surfaces": [
3537
+ "google-apps-script-web",
3538
+ "mcp-apps"
3539
+ ]
3540
+ },
3541
+ {
3542
+ "type": "live_metric",
3543
+ "compact": "animated counting number (alias for animated_counter)",
3544
+ "surfaces": [
3545
+ "google-apps-script-web",
3546
+ "mcp-apps"
3547
+ ]
3548
+ },
3549
+ {
3550
+ "type": "deadline_ticker",
3551
+ "compact": "countdown timer to a target date (alias)",
3552
+ "surfaces": [
3553
+ "google-apps-script-web",
3554
+ "mcp-apps"
3555
+ ]
3556
+ },
3557
+ {
3558
+ "type": "pattern_background",
3559
+ "compact": "dot-grid pattern background (alias)",
3560
+ "surfaces": [
3561
+ "google-apps-script-web",
3562
+ "mcp-apps"
3563
+ ]
3564
+ },
3565
+ {
3566
+ "type": "glitch_text",
3567
+ "compact": "RGB-split glitch-effect headline",
3568
+ "surfaces": [
3569
+ "google-apps-script-web",
3570
+ "mcp-apps"
3571
+ ]
3572
+ },
3573
+ {
3574
+ "type": "neon_glow",
3575
+ "compact": "pulsing neon-glow text on dark card",
3576
+ "surfaces": [
3577
+ "google-apps-script-web",
3578
+ "mcp-apps"
3579
+ ]
3580
+ },
3581
+ {
3582
+ "type": "magnetic_button",
3583
+ "compact": "magnetic cursor-following button",
3584
+ "surfaces": [
3585
+ "google-apps-script-web",
3586
+ "mcp-apps"
3587
+ ]
3588
+ },
3589
+ {
3590
+ "type": "confetti_trigger",
3591
+ "compact": "click-to-trigger confetti button",
3592
+ "surfaces": [
3593
+ "google-apps-script-web",
3594
+ "mcp-apps"
3595
+ ]
3596
+ },
3597
+ {
3598
+ "type": "floating_particles",
3599
+ "compact": "floating particles background (canvas placeholder)",
3600
+ "surfaces": [
3601
+ "google-apps-script-web",
3602
+ "mcp-apps"
3603
+ ]
3604
+ },
3605
+ {
3606
+ "type": "parallax_section",
3607
+ "compact": "parallax scroll section (canvas placeholder)",
3608
+ "surfaces": [
3609
+ "google-apps-script-web",
3610
+ "mcp-apps"
3611
+ ]
3612
+ },
3613
+ {
3614
+ "type": "scroll_progress",
3615
+ "compact": "fixed scroll-progress bar at page top",
3616
+ "surfaces": [
3617
+ "google-apps-script-web",
3618
+ "mcp-apps"
3619
+ ]
3620
+ },
3621
+ {
3622
+ "type": "live_clock",
3623
+ "compact": "live ticking clock widget",
3624
+ "surfaces": [
3625
+ "google-apps-script-web",
3626
+ "mcp-apps"
3627
+ ]
3628
+ },
3629
+ {
3630
+ "type": "decision_tree",
3631
+ "compact": "interactive collapsible decision tree",
3632
+ "surfaces": [
3633
+ "google-apps-script-web",
3634
+ "mcp-apps"
3635
+ ]
3636
+ },
3637
+ {
3638
+ "type": "step_reveal_sequence",
3639
+ "compact": "tabbed step-by-step sequence",
3640
+ "surfaces": [
3641
+ "google-apps-script-web",
3642
+ "mcp-apps"
3643
+ ]
3644
+ },
3645
+ {
3646
+ "type": "chat_sequence",
3647
+ "compact": "animated chat conversation thread",
3648
+ "surfaces": [
3649
+ "google-apps-script-web",
3650
+ "mcp-apps"
3651
+ ]
3652
+ },
3653
+ {
3654
+ "type": "tooltip_glossary",
3655
+ "compact": "glossary with hover tooltips",
3656
+ "surfaces": [
3657
+ "google-apps-script-web",
3658
+ "mcp-apps"
3659
+ ]
3660
+ },
3661
+ {
3662
+ "type": "focus_lens",
3663
+ "compact": "spotlight focus lens on blurred background",
3664
+ "surfaces": [
3665
+ "google-apps-script-web",
3666
+ "mcp-apps"
3667
+ ]
3668
+ },
3669
+ {
3670
+ "type": "terminal_boot",
3671
+ "compact": "animated terminal boot sequence",
3672
+ "surfaces": [
3673
+ "google-apps-script-web",
3674
+ "mcp-apps"
3675
+ ]
3676
+ },
3677
+ {
3678
+ "type": "stagger_list",
3679
+ "compact": "stagger-animated list of items",
3680
+ "surfaces": [
3681
+ "google-apps-script-web",
3682
+ "mcp-apps"
3683
+ ]
3684
+ },
3685
+ {
3686
+ "type": "liquid_button",
3687
+ "compact": "liquid morphing hover button",
3688
+ "surfaces": [
3689
+ "google-apps-script-web",
3690
+ "mcp-apps"
3691
+ ]
3692
+ },
3693
+ {
3694
+ "type": "highlight_sweep",
3695
+ "compact": "animated highlight sweep text",
3696
+ "surfaces": [
3697
+ "google-apps-script-web",
3698
+ "mcp-apps"
3699
+ ]
3700
+ },
3701
+ {
3702
+ "type": "progress_reveal",
3703
+ "compact": "scroll-triggered animated progress bar",
3704
+ "surfaces": [
3705
+ "google-apps-script-web",
3706
+ "mcp-apps"
3707
+ ]
3708
+ },
3709
+ {
3710
+ "type": "big_reveal",
3711
+ "compact": "spring-animation big number or word reveal",
3712
+ "surfaces": [
3713
+ "google-apps-script-web",
3714
+ "mcp-apps"
3715
+ ]
3716
+ },
3717
+ {
3718
+ "type": "kinetic_headline",
3719
+ "compact": "word-by-word kinetic headline animation",
3720
+ "surfaces": [
3721
+ "google-apps-script-web",
3722
+ "mcp-apps"
3723
+ ]
3724
+ },
3725
+ {
3726
+ "type": "text_reveal_mask",
3727
+ "compact": "clip-path text reveal mask animation",
3728
+ "surfaces": [
3729
+ "google-apps-script-web",
3730
+ "mcp-apps"
3731
+ ]
3732
+ },
3733
+ {
3734
+ "type": "split_reveal",
3735
+ "compact": "split-panel reveal animation",
3736
+ "surfaces": [
3737
+ "google-apps-script-web",
3738
+ "mcp-apps"
3739
+ ]
3740
+ },
3741
+ {
3742
+ "type": "mesh_gradient",
3743
+ "compact": "dark card with radial mesh gradient background",
3744
+ "surfaces": [
3745
+ "google-apps-script-web",
3746
+ "mcp-apps"
3747
+ ]
3748
+ },
3749
+ {
3750
+ "type": "stripe_background",
3751
+ "compact": "animated diagonal stripe background card",
3752
+ "surfaces": [
3753
+ "google-apps-script-web",
3754
+ "mcp-apps"
3755
+ ]
3756
+ },
3757
+ {
3758
+ "type": "status_timeline",
3759
+ "compact": "status-dot vertical timeline",
3760
+ "surfaces": [
3761
+ "google-apps-script-web",
3762
+ "mcp-apps"
3763
+ ]
3764
+ },
3765
+ {
3766
+ "type": "counter_group",
3767
+ "compact": "row of animated stat counters",
3768
+ "surfaces": [
3769
+ "google-apps-script-web",
3770
+ "mcp-apps"
3771
+ ]
3772
+ },
3773
+ {
3774
+ "type": "orbit_diagram",
3775
+ "compact": "animated orbit diagram with satellite nodes",
3776
+ "surfaces": [
3777
+ "google-apps-script-web",
3778
+ "mcp-apps"
3779
+ ]
3780
+ },
3781
+ {
3782
+ "type": "noise_card",
3783
+ "compact": "dark card with film-grain noise texture",
3784
+ "surfaces": [
3785
+ "google-apps-script-web",
3786
+ "mcp-apps"
3787
+ ]
3788
+ },
3789
+ {
3790
+ "type": "comparison_morph",
3791
+ "compact": "draggable before/after comparison slider",
3792
+ "surfaces": [
3793
+ "google-apps-script-web",
3794
+ "mcp-apps"
3795
+ ]
3796
+ },
3797
+ {
3798
+ "type": "word_cloud",
3799
+ "compact": "interactive word cloud with optional live Sheet feed",
3800
+ "surfaces": [
3801
+ "google-apps-script-web",
3802
+ "mcp-apps"
3803
+ ]
3804
+ },
3805
+ {
3806
+ "type": "quiz_set",
3807
+ "compact": "multi-question interactive quiz",
3808
+ "surfaces": [
3809
+ "google-apps-script-web",
3810
+ "mcp-apps"
3811
+ ]
3812
+ },
3813
+ {
3814
+ "type": "globe_3d",
3815
+ "compact": "interactive spinning 3-D globe (wire or earth)",
3816
+ "surfaces": [
3817
+ "google-apps-script-web",
3818
+ "mcp-apps"
3819
+ ]
3820
+ },
3821
+ {
3822
+ "type": "geo_mercator_radar",
3823
+ "compact": "dark-theme interactive Mercator map with node pins and links",
3824
+ "surfaces": [
3825
+ "google-apps-script-web",
3826
+ "mcp-apps"
3827
+ ]
3828
+ },
3829
+ {
3830
+ "type": "geo_contour_waves",
3831
+ "compact": "animated atmospheric contour wave field",
3832
+ "surfaces": [
3833
+ "google-apps-script-web",
3834
+ "mcp-apps"
3835
+ ]
3836
+ },
3837
+ {
3838
+ "type": "multi_surface",
3839
+ "compact": "three-engine multi-surface demo atom",
3840
+ "surfaces": [
3841
+ "google-apps-script-web",
3842
+ "mcp-apps"
3843
+ ]
3844
+ },
3845
+ {
3846
+ "type": "geo_europe_airspace",
3847
+ "compact": "interactive European airspace map with airports and flights",
3848
+ "surfaces": [
3849
+ "google-apps-script-web",
3850
+ "mcp-apps"
3851
+ ]
3852
+ },
3853
+ {
3854
+ "type": "feed_status",
3855
+ "compact": "live/sim status pill for a named data feed",
3856
+ "surfaces": [
3857
+ "google-apps-script-web",
3858
+ "mcp-apps"
3859
+ ]
3860
+ },
3861
+ {
3862
+ "type": "playbook",
3863
+ "compact": "multi-slide fullscreen presentation playbook",
3864
+ "surfaces": [
3865
+ "google-apps-script-web",
3866
+ "mcp-apps"
3867
+ ]
3868
+ },
3869
+ {
3870
+ "type": "surface_unlocked",
3871
+ "compact": "achievement-style surface unlocked notification",
3872
+ "surfaces": [
3873
+ "google-apps-script-web",
3874
+ "mcp-apps"
3875
+ ]
3876
+ },
3877
+ {
3878
+ "type": "schema_reveal",
3879
+ "compact": "self-reveal: shows this page's own JSON schema",
3880
+ "surfaces": [
3881
+ "google-apps-script-web",
3882
+ "mcp-apps"
3883
+ ]
3884
+ },
3885
+ {
3886
+ "type": "url_anatomy",
3887
+ "compact": "annotated URL anatomy diagram",
3888
+ "surfaces": [
3889
+ "google-apps-script-web",
3890
+ "mcp-apps"
3891
+ ]
3892
+ },
3893
+ {
3894
+ "type": "schema_qr",
3895
+ "compact": "self-contained QR code, optionally with a live URL input",
3896
+ "surfaces": [
3897
+ "web",
3898
+ "google-meet-stage",
3899
+ "email",
3900
+ "pdf",
3901
+ "google-apps-script-web",
3902
+ "google-apps-script-side-panel",
3903
+ "mcp-apps"
3904
+ ]
3905
+ },
3906
+ {
3907
+ "type": "take_away_card",
3908
+ "compact": "bold screenshot-ready insight card",
3909
+ "surfaces": [
3910
+ "google-apps-script-web",
3911
+ "mcp-apps"
3912
+ ]
3913
+ },
3914
+ {
3915
+ "type": "next_step_strip",
3916
+ "compact": "horizontal numbered next-steps strip",
3917
+ "surfaces": [
3918
+ "google-apps-script-web",
3919
+ "mcp-apps"
3920
+ ]
3921
+ },
3922
+ {
3923
+ "type": "copy_prompt",
3924
+ "compact": "copyable monospace prompt/code block",
3925
+ "surfaces": [
3926
+ "google-apps-script-web",
3927
+ "mcp-apps"
3928
+ ]
3929
+ },
3930
+ {
3931
+ "type": "atom_anatomy",
3932
+ "compact": "rendered atom + raw schema side-by-side anatomy view",
3933
+ "surfaces": [
3934
+ "google-apps-script-web",
3935
+ "mcp-apps"
3936
+ ]
3937
+ },
3938
+ {
3939
+ "type": "renderer_stats",
3940
+ "compact": "stat grid for renderer capability metrics",
3941
+ "surfaces": [
3942
+ "google-apps-script-web",
3943
+ "mcp-apps"
3944
+ ]
3945
+ },
3946
+ {
3947
+ "type": "prompt_to_schema",
3948
+ "compact": "three-panel prompt → schema → output flow",
3949
+ "surfaces": [
3950
+ "google-apps-script-web",
3951
+ "mcp-apps"
3952
+ ]
3953
+ },
3954
+ {
3955
+ "type": "before_after_stack",
3956
+ "compact": "old-vs-new stack comparison animation",
3957
+ "surfaces": [
3958
+ "google-apps-script-web",
3959
+ "mcp-apps"
3960
+ ]
3961
+ },
3962
+ {
3963
+ "type": "live_vote",
3964
+ "compact": "live audience voting with real-time bar chart results",
3965
+ "surfaces": [
3966
+ "google-apps-script-web",
3967
+ "mcp-apps"
3968
+ ]
3969
+ },
3970
+ {
3971
+ "type": "reaction_shower",
3972
+ "compact": "emoji reaction buttons with raining particles",
3973
+ "surfaces": [
3974
+ "google-apps-script-web",
3975
+ "mcp-apps"
3976
+ ]
3977
+ },
3978
+ {
3979
+ "type": "raise_hand",
3980
+ "compact": "raise-hand button with live participant count",
3981
+ "surfaces": [
3982
+ "google-apps-script-web",
3983
+ "mcp-apps"
3984
+ ]
3985
+ },
3986
+ {
3987
+ "type": "surface_map",
3988
+ "compact": "A2UI surface diagram (schema → surfaces)",
3989
+ "surfaces": [
3990
+ "google-apps-script-web",
3991
+ "mcp-apps"
3992
+ ]
3993
+ },
3994
+ {
3995
+ "type": "speed_counter",
3996
+ "compact": "live page-load stopwatch",
3997
+ "surfaces": [
3998
+ "google-apps-script-web",
3999
+ "mcp-apps"
4000
+ ]
4001
+ },
4002
+ {
4003
+ "type": "live_edit",
4004
+ "compact": "embedded live atom JSON editor with preview",
4005
+ "surfaces": [
4006
+ "google-apps-script-web",
4007
+ "mcp-apps"
4008
+ ]
4009
+ },
4010
+ {
4011
+ "type": "gmail_inbox",
4012
+ "compact": "swipeable Gmail inbox carousel — live on GAS, items[] or api connector on web/meet",
4013
+ "surfaces": [
4014
+ "google-apps-script-web",
4015
+ "google-meet-stage",
4016
+ "mcp-apps"
4017
+ ]
4018
+ },
4019
+ {
4020
+ "type": "drive_recent_files",
4021
+ "compact": "swipeable Drive files carousel — live on GAS, items[] or api connector on web/meet",
4022
+ "surfaces": [
4023
+ "google-apps-script-web",
4024
+ "google-meet-stage",
4025
+ "mcp-apps"
4026
+ ]
4027
+ },
4028
+ {
4029
+ "type": "drive_folder_contents",
4030
+ "compact": "Drive folder grid — live on GAS via folder_id, items[] or api connector on web/meet",
4031
+ "surfaces": [
4032
+ "google-apps-script-web",
4033
+ "google-meet-stage",
4034
+ "mcp-apps"
4035
+ ]
4036
+ },
4037
+ {
4038
+ "type": "drive_file_card",
4039
+ "compact": "single Drive file card — static on all surfaces; live name/type lookup via file_id on GAS",
4040
+ "surfaces": [
4041
+ "google-apps-script-web",
4042
+ "google-meet-stage",
4043
+ "mcp-apps"
4044
+ ]
4045
+ },
4046
+ {
4047
+ "type": "progress_store",
4048
+ "compact": "invisible LMS state connector — Sheet on GAS, localStorage on web; exposes window._A2UI_STORE",
4049
+ "surfaces": [
4050
+ "google-apps-script-web",
4051
+ "google-meet-stage",
4052
+ "mcp-apps"
4053
+ ]
4054
+ },
4055
+ {
4056
+ "type": "module_map",
4057
+ "compact": "course curriculum grid — module cards with live locked/available/complete status from progress_store",
4058
+ "surfaces": [
4059
+ "google-apps-script-web",
4060
+ "web",
4061
+ "google-meet-stage",
4062
+ "mcp-apps"
4063
+ ]
4064
+ },
4065
+ {
4066
+ "type": "knowledge_check",
4067
+ "compact": "inline comprehension pulse — single question, instant feedback, no score pressure",
4068
+ "surfaces": [
4069
+ "google-apps-script-web",
4070
+ "web",
4071
+ "google-meet-stage",
4072
+ "mcp-apps"
4073
+ ]
4074
+ },
4075
+ {
4076
+ "type": "quiz_result_summary",
4077
+ "compact": "end-of-quiz result — score %, pass/fail, question dots, writes to progress_store",
4078
+ "surfaces": [
4079
+ "google-apps-script-web",
4080
+ "web",
4081
+ "google-meet-stage",
4082
+ "mcp-apps"
4083
+ ]
4084
+ },
4085
+ {
4086
+ "type": "scenario_branch",
4087
+ "compact": "branching scenario — situation + choices + consequence reveal with good/neutral/bad outcome",
4088
+ "surfaces": [
4089
+ "google-apps-script-web",
4090
+ "web",
4091
+ "google-meet-stage",
4092
+ "mcp-apps"
4093
+ ]
4094
+ },
4095
+ {
4096
+ "type": "completion_gate",
4097
+ "compact": "content lock — hides until requires module id is complete in progress_store",
4098
+ "surfaces": [
4099
+ "google-apps-script-web",
4100
+ "web",
4101
+ "google-meet-stage",
4102
+ "mcp-apps"
4103
+ ]
4104
+ },
4105
+ {
4106
+ "type": "certification_card",
4107
+ "compact": "completion certificate — locked until requires id complete in progress_store; earner from GAS session",
4108
+ "surfaces": [
4109
+ "google-apps-script-web",
4110
+ "web",
4111
+ "google-meet-stage",
4112
+ "mcp-apps"
4113
+ ]
4114
+ },
4115
+ {
4116
+ "type": "skill_radar",
4117
+ "compact": "SVG radar/spider chart of skill competency levels — optional before/after growth overlay",
4118
+ "surfaces": [
4119
+ "google-apps-script-web",
4120
+ "web",
4121
+ "google-meet-stage",
4122
+ "mcp-apps"
4123
+ ]
4124
+ },
4125
+ {
4126
+ "type": "badge_showcase",
4127
+ "compact": "achievement badge wall — earned badges glow, locked badges grey; status from progress_store",
4128
+ "surfaces": [
4129
+ "google-apps-script-web",
4130
+ "web",
4131
+ "google-meet-stage",
4132
+ "mcp-apps"
4133
+ ]
4134
+ },
4135
+ {
4136
+ "type": "learning_path_selector",
4137
+ "compact": "course entry path chooser — role/level cards, writes selection to progress_store, optional navigation",
4138
+ "surfaces": [
4139
+ "google-apps-script-web",
4140
+ "web",
4141
+ "google-meet-stage",
4142
+ "mcp-apps"
4143
+ ]
4144
+ },
4145
+ {
4146
+ "type": "video_checkpoint",
4147
+ "compact": "YouTube video with pausing quiz checkpoints — learner must answer to continue",
4148
+ "surfaces": [
4149
+ "google-apps-script-web",
4150
+ "web",
4151
+ "google-meet-stage",
4152
+ "mcp-apps"
4153
+ ]
4154
+ },
4155
+ {
4156
+ "type": "cohort_progress_board",
4157
+ "compact": "instructor cohort table — per-learner module completion + scores; live on GAS",
4158
+ "surfaces": [
4159
+ "google-apps-script-web",
4160
+ "web",
4161
+ "google-meet-stage",
4162
+ "mcp-apps"
4163
+ ]
4164
+ },
4165
+ {
4166
+ "type": "reflection_prompt",
4167
+ "compact": "reflection textarea — saves to progress_store; restores on revisit",
4168
+ "surfaces": [
4169
+ "google-apps-script-web",
4170
+ "web",
4171
+ "google-meet-stage",
4172
+ "mcp-apps"
4173
+ ]
4174
+ },
4175
+ {
4176
+ "type": "annotation_highlight",
4177
+ "compact": "annotated body text — click highlighted terms to reveal inline explanations",
4178
+ "surfaces": [
4179
+ "google-apps-script-web",
4180
+ "web",
4181
+ "google-meet-stage",
4182
+ "mcp-apps"
4183
+ ]
4184
+ },
4185
+ {
4186
+ "type": "onboarding_stepper",
4187
+ "compact": "guided onboarding steps — completes to progress_store, restores on revisit",
4188
+ "surfaces": [
4189
+ "google-apps-script-web",
4190
+ "web",
4191
+ "google-meet-stage",
4192
+ "mcp-apps"
4193
+ ]
4194
+ },
4195
+ {
4196
+ "type": "case_study_card",
4197
+ "compact": "structured case study — situation, data points, questions, optional model answer reveal",
4198
+ "surfaces": [
4199
+ "google-apps-script-web",
4200
+ "web",
4201
+ "google-meet-stage",
4202
+ "mcp-apps"
4203
+ ]
4204
+ },
4205
+ {
4206
+ "type": "study_timer",
4207
+ "compact": "Pomodoro focus/break timer with SVG ring — session only, no persistence",
4208
+ "surfaces": [
4209
+ "google-apps-script-web",
4210
+ "web",
4211
+ "google-meet-stage",
4212
+ "mcp-apps"
4213
+ ]
4214
+ },
4215
+ {
4216
+ "type": "rubric_card",
4217
+ "compact": "assessment rubric table — criteria rows × performance level columns",
4218
+ "surfaces": [
4219
+ "google-apps-script-web",
4220
+ "web",
4221
+ "google-meet-stage",
4222
+ "mcp-apps"
4223
+ ]
4224
+ },
4225
+ {
4226
+ "type": "spaced_repetition_card",
4227
+ "compact": "flip flashcard with confidence rating 1-5 — writes SRS interval to progress_store",
4228
+ "surfaces": [
4229
+ "google-apps-script-web",
4230
+ "web",
4231
+ "google-meet-stage",
4232
+ "mcp-apps"
4233
+ ]
4234
+ },
4235
+ {
4236
+ "type": "leaderboard_card",
4237
+ "compact": "ranked score leaderboard — live on GAS from Sheet, static on web; medal top 3",
4238
+ "surfaces": [
4239
+ "google-apps-script-web",
4240
+ "web",
4241
+ "google-meet-stage",
4242
+ "mcp-apps"
4243
+ ]
4244
+ },
4245
+ {
4246
+ "type": "nav_bar",
4247
+ "compact": "named-page nav bar — generates ?nav= URLs at runtime from _A2UI_NAV; active page auto-highlighted",
4248
+ "surfaces": [
4249
+ "google-apps-script-web",
4250
+ "web",
4251
+ "google-meet-stage",
4252
+ "mcp-apps"
4253
+ ]
4254
+ },
4255
+ {
4256
+ "type": "palette",
4257
+ "compact": "page-level accent colour and spacing theme variables",
4258
+ "surfaces": [
4259
+ "web",
4260
+ "google-apps-script-web",
4261
+ "google-apps-script-side-panel",
4262
+ "mcp-apps"
4263
+ ]
4264
+ },
4265
+ {
4266
+ "type": "print_button",
4267
+ "compact": "button to print or save page as PDF",
4268
+ "surfaces": [
4269
+ "web",
4270
+ "google-apps-script-web",
4271
+ "google-apps-script-side-panel",
4272
+ "mcp-apps"
4273
+ ]
4274
+ },
4275
+ {
4276
+ "type": "drive_image",
4277
+ "compact": "Google Drive image embed by file ID",
4278
+ "surfaces": [
4279
+ "web",
4280
+ "google-apps-script-web",
4281
+ "google-apps-script-side-panel",
4282
+ "mcp-apps"
4283
+ ]
4284
+ },
4285
+ {
4286
+ "type": "maps_embed",
4287
+ "compact": "Google Maps location embed iframe",
4288
+ "surfaces": [
4289
+ "web",
4290
+ "google-apps-script-web",
4291
+ "google-apps-script-side-panel",
4292
+ "mcp-apps"
4293
+ ]
4294
+ },
4295
+ {
4296
+ "type": "sheet_form",
4297
+ "compact": "form submitting rows to a Google Sheet tab",
4298
+ "surfaces": [
4299
+ "web",
4300
+ "google-apps-script-web",
4301
+ "google-apps-script-side-panel",
4302
+ "mcp-apps"
4303
+ ]
4304
+ },
4305
+ {
4306
+ "type": "reveal",
4307
+ "compact": "entrance animation wrapper for child blocks",
4308
+ "surfaces": [
4309
+ "web",
4310
+ "google-meet-stage",
4311
+ "google-apps-script-web",
4312
+ "google-apps-script-side-panel",
4313
+ "mcp-apps"
4314
+ ]
4315
+ },
4316
+ {
4317
+ "type": "skeleton",
4318
+ "compact": "shimmer loading placeholder shapes",
4319
+ "surfaces": [
4320
+ "web",
4321
+ "google-meet-stage",
4322
+ "google-apps-script-web",
4323
+ "google-apps-script-side-panel",
4324
+ "mcp-apps"
4325
+ ]
4326
+ },
4327
+ {
4328
+ "type": "marquee",
4329
+ "compact": "infinite horizontal scrolling ticker strip",
4330
+ "surfaces": [
4331
+ "web",
4332
+ "google-meet-stage",
4333
+ "google-apps-script-web",
4334
+ "google-apps-script-side-panel",
4335
+ "mcp-apps"
4336
+ ]
4337
+ },
4338
+ {
4339
+ "type": "pulse_dot",
4340
+ "compact": "pulsing status indicator dot",
4341
+ "surfaces": [
4342
+ "web",
4343
+ "google-meet-stage",
4344
+ "google-apps-script-web",
4345
+ "google-apps-script-side-panel",
4346
+ "mcp-apps"
4347
+ ]
4348
+ },
4349
+ {
4350
+ "type": "loading_dots",
4351
+ "compact": "three-dot pulsing loader",
4352
+ "surfaces": [
4353
+ "web",
4354
+ "google-meet-stage",
4355
+ "google-apps-script-web",
4356
+ "google-apps-script-side-panel",
4357
+ "mcp-apps"
4358
+ ]
4359
+ },
4360
+ {
4361
+ "type": "progress_ring",
4362
+ "compact": "animated circular progress gauge",
4363
+ "surfaces": [
4364
+ "web",
4365
+ "google-apps-script-web",
4366
+ "google-apps-script-side-panel",
4367
+ "mcp-apps"
4368
+ ]
4369
+ },
4370
+ {
4371
+ "type": "confetti_burst",
4372
+ "compact": "confetti celebration burst effect",
4373
+ "surfaces": [
4374
+ "web",
4375
+ "google-meet-stage",
4376
+ "google-apps-script-web",
4377
+ "google-apps-script-side-panel",
4378
+ "mcp-apps"
4379
+ ]
4380
+ },
4381
+ {
4382
+ "type": "ripple_button",
4383
+ "compact": "CTA button with ripple click effect",
4384
+ "surfaces": [
4385
+ "web",
4386
+ "google-meet-stage",
4387
+ "google-apps-script-web",
4388
+ "google-apps-script-side-panel",
4389
+ "mcp-apps"
4390
+ ]
4391
+ },
4392
+ {
4393
+ "type": "wave_divider",
4394
+ "compact": "animated wave section separator",
4395
+ "surfaces": [
4396
+ "web",
4397
+ "google-meet-stage",
4398
+ "google-apps-script-web",
4399
+ "google-apps-script-side-panel",
4400
+ "mcp-apps"
4401
+ ]
4402
+ },
4403
+ {
4404
+ "type": "floating_badge",
4405
+ "compact": "bobbing emoji or icon badge",
4406
+ "surfaces": [
4407
+ "web",
4408
+ "google-meet-stage",
4409
+ "google-apps-script-web",
4410
+ "google-apps-script-side-panel",
4411
+ "mcp-apps"
4412
+ ]
4413
+ },
4414
+ {
4415
+ "type": "shimmer_text",
4416
+ "compact": "headline text with shimmer gloss sweep",
4417
+ "surfaces": [
4418
+ "web",
4419
+ "google-meet-stage",
4420
+ "google-apps-script-web",
4421
+ "google-apps-script-side-panel",
4422
+ "mcp-apps"
4423
+ ]
4424
+ },
4425
+ {
4426
+ "type": "number_flip",
4427
+ "compact": "slot-machine digit reveal counter",
4428
+ "surfaces": [
4429
+ "web",
4430
+ "google-meet-stage",
4431
+ "google-apps-script-web",
4432
+ "google-apps-script-side-panel",
4433
+ "mcp-apps"
4434
+ ]
4435
+ },
4436
+ {
4437
+ "type": "spotlight_card",
4438
+ "compact": "card with cursor-following spotlight",
4439
+ "surfaces": [
4440
+ "web",
4441
+ "google-meet-stage",
4442
+ "google-apps-script-web",
4443
+ "google-apps-script-side-panel",
4444
+ "mcp-apps"
4445
+ ]
4446
+ },
4447
+ {
4448
+ "type": "animated_border",
4449
+ "compact": "card with rotating gradient border",
4450
+ "surfaces": [
4451
+ "web",
4452
+ "google-meet-stage",
4453
+ "google-apps-script-web",
4454
+ "google-apps-script-side-panel",
4455
+ "mcp-apps"
4456
+ ]
4457
+ },
4458
+ {
4459
+ "type": "countdown_ring",
4460
+ "compact": "circular countdown timer ring",
4461
+ "surfaces": [
4462
+ "web",
4463
+ "google-meet-stage",
4464
+ "google-apps-script-web",
4465
+ "google-apps-script-side-panel",
4466
+ "mcp-apps"
4467
+ ]
4468
+ },
4469
+ {
4470
+ "type": "google_icon",
4471
+ "compact": "single Material Symbol icon",
4472
+ "surfaces": [
4473
+ "web",
4474
+ "google-meet-stage",
4475
+ "google-apps-script-side-panel",
4476
+ "google-apps-script-web",
4477
+ "mcp-apps"
4478
+ ]
4479
+ },
4480
+ {
4481
+ "type": "icon_badge",
4482
+ "compact": "Material icon in coloured circular badge",
4483
+ "surfaces": [
4484
+ "web",
4485
+ "google-meet-stage",
4486
+ "google-apps-script-side-panel",
4487
+ "google-apps-script-web",
4488
+ "mcp-apps"
4489
+ ]
4490
+ },
4491
+ {
4492
+ "type": "icon_row",
4493
+ "compact": "horizontal icon and label strip",
4494
+ "surfaces": [
4495
+ "web",
4496
+ "google-meet-stage",
4497
+ "google-apps-script-side-panel",
4498
+ "google-apps-script-web",
4499
+ "mcp-apps"
4500
+ ]
4501
+ },
4502
+ {
4503
+ "type": "workspace_logo",
4504
+ "compact": "single Google Workspace product logo",
4505
+ "surfaces": [
4506
+ "web",
4507
+ "google-apps-script-web",
4508
+ "google-apps-script-side-panel",
4509
+ "mcp-apps"
4510
+ ]
4511
+ },
4512
+ {
4513
+ "type": "workspace_logo_strip",
4514
+ "compact": "horizontal strip of Workspace logos",
4515
+ "surfaces": [
4516
+ "web",
4517
+ "google-apps-script-web",
4518
+ "google-apps-script-side-panel",
4519
+ "mcp-apps"
4520
+ ]
4521
+ },
4522
+ {
4523
+ "type": "workspace_logo_grid",
4524
+ "compact": "labelled grid of Workspace logos",
4525
+ "surfaces": [
4526
+ "web",
4527
+ "google-apps-script-web",
4528
+ "google-apps-script-side-panel",
4529
+ "mcp-apps"
4530
+ ]
4531
+ },
4532
+ {
4533
+ "type": "icon_feature_grid",
4534
+ "compact": "feature grid with Material icons",
4535
+ "surfaces": [
4536
+ "web",
4537
+ "google-meet-stage",
4538
+ "google-apps-script-side-panel",
4539
+ "google-apps-script-web",
4540
+ "mcp-apps"
4541
+ ]
4542
+ },
4543
+ {
4544
+ "type": "icon_checklist",
4545
+ "compact": "checklist items with Material icons",
4546
+ "surfaces": [
4547
+ "web",
4548
+ "google-meet-stage",
4549
+ "google-apps-script-side-panel",
4550
+ "google-apps-script-web",
4551
+ "mcp-apps"
4552
+ ]
4553
+ },
4554
+ {
4555
+ "type": "hub",
4556
+ "compact": "deck navigation shell with subjects and slides",
4557
+ "surfaces": [
4558
+ "google-apps-script-web",
4559
+ "mcp-apps"
4560
+ ]
4561
+ },
4562
+ {
4563
+ "type": "jump_nav",
4564
+ "compact": "anchor pill buttons scrolling to page sections",
4565
+ "surfaces": [
4566
+ "google-apps-script-web",
4567
+ "mcp-apps"
4568
+ ]
4569
+ },
4570
+ {
4571
+ "type": "command_step",
4572
+ "compact": "copyable command with completion checkbox",
4573
+ "surfaces": [
4574
+ "google-apps-script-web",
4575
+ "mcp-apps"
4576
+ ]
4577
+ },
4578
+ {
4579
+ "type": "flashcard_deck",
4580
+ "compact": "flip-card deck of question answer pairs",
4581
+ "surfaces": [
4582
+ "google-apps-script-web",
4583
+ "mcp-apps"
4584
+ ]
4585
+ },
4586
+ {
4587
+ "type": "brevet_timeline",
4588
+ "compact": "dated vertical revision timeline",
4589
+ "surfaces": [
4590
+ "google-apps-script-web",
4591
+ "mcp-apps"
4592
+ ]
4593
+ },
4594
+ {
4595
+ "type": "gdm_rocket_panel",
4596
+ "compact": "isometric rocket launch canvas animation, fixed half-viewport overlay",
4597
+ "surfaces": [
4598
+ "mcp-apps"
4599
+ ]
4600
+ },
4601
+ {
4602
+ "type": "math_block",
4603
+ "compact": "native MathML equation typeset with the math font family",
4604
+ "surfaces": [
4605
+ "web",
4606
+ "google-apps-script-web",
4607
+ "google-meet-stage",
4608
+ "mcp-apps"
4609
+ ]
4610
+ }
4611
+ ]
4612
+ }