@mlola-ui/engine 1.0.7 → 1.0.9

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.
@@ -10,10 +10,16 @@
10
10
  "size": "number or CSS length. Defaults to var(--mlola-glyph-size, 1.125rem).",
11
11
  "strokeWidth": "number or CSS length. Defaults to the theme's --ml-icon-stroke; --mlola-glyph-stroke overrides it.",
12
12
  "opticalSize": "small | default | large",
13
- "animate": "boolean, honours prefers-reduced-motion",
13
+ "animate": "boolean, honors prefers-reduced-motion",
14
14
  "title": "gives the glyph an accessible name; without it the glyph is decorative"
15
15
  },
16
16
  "items": [
17
+ {
18
+ "id": "IconArchive",
19
+ "title": "IconArchive",
20
+ "name": "IconArchive",
21
+ "group": "Everyday app glyphs"
22
+ },
17
23
  {
18
24
  "id": "IconArrowDown",
19
25
  "title": "IconArrowDown",
@@ -38,6 +44,12 @@
38
44
  "name": "IconArrowUp",
39
45
  "group": "Interface & status glyphs"
40
46
  },
47
+ {
48
+ "id": "IconArrowUpDown",
49
+ "title": "IconArrowUpDown",
50
+ "name": "IconArrowUpDown",
51
+ "group": "Everyday app glyphs"
52
+ },
41
53
  {
42
54
  "id": "IconArrowUpRight",
43
55
  "title": "IconArrowUpRight",
@@ -50,6 +62,12 @@
50
62
  "name": "IconBan",
51
63
  "group": "Interface & status glyphs"
52
64
  },
65
+ {
66
+ "id": "IconBarChart",
67
+ "title": "IconBarChart",
68
+ "name": "IconBarChart",
69
+ "group": "Everyday app glyphs"
70
+ },
53
71
  {
54
72
  "id": "IconBell",
55
73
  "title": "IconBell",
@@ -68,6 +86,12 @@
68
86
  "name": "IconBold",
69
87
  "group": "Editor glyphs"
70
88
  },
89
+ {
90
+ "id": "IconBookmark",
91
+ "title": "IconBookmark",
92
+ "name": "IconBookmark",
93
+ "group": "Everyday app glyphs"
94
+ },
71
95
  {
72
96
  "id": "IconBox3D",
73
97
  "title": "IconBox3D",
@@ -116,6 +140,18 @@
116
140
  "name": "IconChevronRight",
117
141
  "group": "Interface & status glyphs"
118
142
  },
143
+ {
144
+ "id": "IconChevronsLeft",
145
+ "title": "IconChevronsLeft",
146
+ "name": "IconChevronsLeft",
147
+ "group": "Everyday app glyphs"
148
+ },
149
+ {
150
+ "id": "IconChevronsRight",
151
+ "title": "IconChevronsRight",
152
+ "name": "IconChevronsRight",
153
+ "group": "Everyday app glyphs"
154
+ },
119
155
  {
120
156
  "id": "IconChevronsUpDown",
121
157
  "title": "IconChevronsUpDown",
@@ -164,12 +200,24 @@
164
200
  "name": "IconClearFormat",
165
201
  "group": "Editor glyphs"
166
202
  },
203
+ {
204
+ "id": "IconClipboard",
205
+ "title": "IconClipboard",
206
+ "name": "IconClipboard",
207
+ "group": "Everyday app glyphs"
208
+ },
167
209
  {
168
210
  "id": "IconClock",
169
211
  "title": "IconClock",
170
212
  "name": "IconClock",
171
213
  "group": "Interface & status glyphs"
172
214
  },
215
+ {
216
+ "id": "IconCloud",
217
+ "title": "IconCloud",
218
+ "name": "IconCloud",
219
+ "group": "Everyday app glyphs"
220
+ },
173
221
  {
174
222
  "id": "IconCode",
175
223
  "title": "IconCode",
@@ -194,6 +242,18 @@
194
242
  "name": "IconCopy",
195
243
  "group": "Living Workspace & Action Glyphs"
196
244
  },
245
+ {
246
+ "id": "IconCreditCard",
247
+ "title": "IconCreditCard",
248
+ "name": "IconCreditCard",
249
+ "group": "Everyday app glyphs"
250
+ },
251
+ {
252
+ "id": "IconDatabase",
253
+ "title": "IconDatabase",
254
+ "name": "IconDatabase",
255
+ "group": "Everyday app glyphs"
256
+ },
197
257
  {
198
258
  "id": "IconDiamond",
199
259
  "title": "IconDiamond",
@@ -248,6 +308,18 @@
248
308
  "name": "IconFilePlus",
249
309
  "group": "Living Workspace & Action Glyphs"
250
310
  },
311
+ {
312
+ "id": "IconFilter",
313
+ "title": "IconFilter",
314
+ "name": "IconFilter",
315
+ "group": "Everyday app glyphs"
316
+ },
317
+ {
318
+ "id": "IconFlag",
319
+ "title": "IconFlag",
320
+ "name": "IconFlag",
321
+ "group": "Everyday app glyphs"
322
+ },
251
323
  {
252
324
  "id": "IconFolder",
253
325
  "title": "IconFolder",
@@ -278,6 +350,12 @@
278
350
  "name": "IconGitPullRequest",
279
351
  "group": "Code & source control glyphs"
280
352
  },
353
+ {
354
+ "id": "IconGlobe",
355
+ "title": "IconGlobe",
356
+ "name": "IconGlobe",
357
+ "group": "Everyday app glyphs"
358
+ },
281
359
  {
282
360
  "id": "IconGrip",
283
361
  "title": "IconGrip",
@@ -302,12 +380,30 @@
302
380
  "name": "IconHeart",
303
381
  "group": "Interface & status glyphs"
304
382
  },
383
+ {
384
+ "id": "IconHelp",
385
+ "title": "IconHelp",
386
+ "name": "IconHelp",
387
+ "group": "Everyday app glyphs"
388
+ },
305
389
  {
306
390
  "id": "IconHome",
307
391
  "title": "IconHome",
308
392
  "name": "IconHome",
309
393
  "group": "Interface & status glyphs"
310
394
  },
395
+ {
396
+ "id": "IconImage",
397
+ "title": "IconImage",
398
+ "name": "IconImage",
399
+ "group": "Everyday app glyphs"
400
+ },
401
+ {
402
+ "id": "IconInbox",
403
+ "title": "IconInbox",
404
+ "name": "IconInbox",
405
+ "group": "Everyday app glyphs"
406
+ },
311
407
  {
312
408
  "id": "IconInfo",
313
409
  "title": "IconInfo",
@@ -320,12 +416,36 @@
320
416
  "name": "IconItalic",
321
417
  "group": "Editor glyphs"
322
418
  },
419
+ {
420
+ "id": "IconKey",
421
+ "title": "IconKey",
422
+ "name": "IconKey",
423
+ "group": "Everyday app glyphs"
424
+ },
323
425
  {
324
426
  "id": "IconLayers",
325
427
  "title": "IconLayers",
326
428
  "name": "IconLayers",
327
429
  "group": "Signature Brand & Theme Glyphs"
328
430
  },
431
+ {
432
+ "id": "IconLayoutGrid",
433
+ "title": "IconLayoutGrid",
434
+ "name": "IconLayoutGrid",
435
+ "group": "Everyday app glyphs"
436
+ },
437
+ {
438
+ "id": "IconLayoutList",
439
+ "title": "IconLayoutList",
440
+ "name": "IconLayoutList",
441
+ "group": "Everyday app glyphs"
442
+ },
443
+ {
444
+ "id": "IconLightbulb",
445
+ "title": "IconLightbulb",
446
+ "name": "IconLightbulb",
447
+ "group": "Everyday app glyphs"
448
+ },
329
449
  {
330
450
  "id": "IconLink",
331
451
  "title": "IconLink",
@@ -356,12 +476,30 @@
356
476
  "name": "IconLock",
357
477
  "group": "Living Workspace & Action Glyphs"
358
478
  },
479
+ {
480
+ "id": "IconLogIn",
481
+ "title": "IconLogIn",
482
+ "name": "IconLogIn",
483
+ "group": "Everyday app glyphs"
484
+ },
485
+ {
486
+ "id": "IconLogOut",
487
+ "title": "IconLogOut",
488
+ "name": "IconLogOut",
489
+ "group": "Everyday app glyphs"
490
+ },
359
491
  {
360
492
  "id": "IconMail",
361
493
  "title": "IconMail",
362
494
  "name": "IconMail",
363
495
  "group": "Interface & status glyphs"
364
496
  },
497
+ {
498
+ "id": "IconMapPin",
499
+ "title": "IconMapPin",
500
+ "name": "IconMapPin",
501
+ "group": "Everyday app glyphs"
502
+ },
365
503
  {
366
504
  "id": "IconMaximize",
367
505
  "title": "IconMaximize",
@@ -374,6 +512,12 @@
374
512
  "name": "IconMenu",
375
513
  "group": "Interface & status glyphs"
376
514
  },
515
+ {
516
+ "id": "IconMessage",
517
+ "title": "IconMessage",
518
+ "name": "IconMessage",
519
+ "group": "Everyday app glyphs"
520
+ },
377
521
  {
378
522
  "id": "IconMic",
379
523
  "title": "IconMic",
@@ -386,6 +530,12 @@
386
530
  "name": "IconMicOff",
387
531
  "group": "AI & voice glyphs"
388
532
  },
533
+ {
534
+ "id": "IconMinimize",
535
+ "title": "IconMinimize",
536
+ "name": "IconMinimize",
537
+ "group": "Everyday app glyphs"
538
+ },
389
539
  {
390
540
  "id": "IconMinus",
391
541
  "title": "IconMinus",
@@ -410,6 +560,12 @@
410
560
  "name": "IconMoreHorizontal",
411
561
  "group": "Interface & status glyphs"
412
562
  },
563
+ {
564
+ "id": "IconMoreVertical",
565
+ "title": "IconMoreVertical",
566
+ "name": "IconMoreVertical",
567
+ "group": "Everyday app glyphs"
568
+ },
413
569
  {
414
570
  "id": "IconMotion",
415
571
  "title": "IconMotion",
@@ -422,18 +578,42 @@
422
578
  "name": "IconPalette",
423
579
  "group": "Signature Brand & Theme Glyphs"
424
580
  },
581
+ {
582
+ "id": "IconPanelLeft",
583
+ "title": "IconPanelLeft",
584
+ "name": "IconPanelLeft",
585
+ "group": "Everyday app glyphs"
586
+ },
425
587
  {
426
588
  "id": "IconPaperclip",
427
589
  "title": "IconPaperclip",
428
590
  "name": "IconPaperclip",
429
591
  "group": "AI & voice glyphs"
430
592
  },
593
+ {
594
+ "id": "IconPause",
595
+ "title": "IconPause",
596
+ "name": "IconPause",
597
+ "group": "Everyday app glyphs"
598
+ },
431
599
  {
432
600
  "id": "IconPen",
433
601
  "title": "IconPen",
434
602
  "name": "IconPen",
435
603
  "group": "Canvas & workflow glyphs"
436
604
  },
605
+ {
606
+ "id": "IconPhone",
607
+ "title": "IconPhone",
608
+ "name": "IconPhone",
609
+ "group": "Everyday app glyphs"
610
+ },
611
+ {
612
+ "id": "IconPin",
613
+ "title": "IconPin",
614
+ "name": "IconPin",
615
+ "group": "Everyday app glyphs"
616
+ },
437
617
  {
438
618
  "id": "IconPlay",
439
619
  "title": "IconPlay",
@@ -452,6 +632,12 @@
452
632
  "name": "IconPointer",
453
633
  "group": "Canvas & workflow glyphs"
454
634
  },
635
+ {
636
+ "id": "IconPrinter",
637
+ "title": "IconPrinter",
638
+ "name": "IconPrinter",
639
+ "group": "Everyday app glyphs"
640
+ },
455
641
  {
456
642
  "id": "IconQuote",
457
643
  "title": "IconQuote",
@@ -476,6 +662,12 @@
476
662
  "name": "IconSearch",
477
663
  "group": "Living Workspace & Action Glyphs"
478
664
  },
665
+ {
666
+ "id": "IconSend",
667
+ "title": "IconSend",
668
+ "name": "IconSend",
669
+ "group": "Everyday app glyphs"
670
+ },
479
671
  {
480
672
  "id": "IconSettings",
481
673
  "title": "IconSettings",
@@ -554,6 +746,12 @@
554
746
  "name": "IconSun",
555
747
  "group": "Living Workspace & Action Glyphs"
556
748
  },
749
+ {
750
+ "id": "IconTag",
751
+ "title": "IconTag",
752
+ "name": "IconTag",
753
+ "group": "Everyday app glyphs"
754
+ },
557
755
  {
558
756
  "id": "IconTemplate",
559
757
  "title": "IconTemplate",
@@ -590,6 +788,12 @@
590
788
  "name": "IconTrash",
591
789
  "group": "Living Workspace & Action Glyphs"
592
790
  },
791
+ {
792
+ "id": "IconTrendingUp",
793
+ "title": "IconTrendingUp",
794
+ "name": "IconTrendingUp",
795
+ "group": "Everyday app glyphs"
796
+ },
593
797
  {
594
798
  "id": "IconTriangleAlert",
595
799
  "title": "IconTriangleAlert",
@@ -655,6 +859,18 @@
655
859
  "title": "IconZap",
656
860
  "name": "IconZap",
657
861
  "group": "Living Workspace & Action Glyphs"
862
+ },
863
+ {
864
+ "id": "IconZoomIn",
865
+ "title": "IconZoomIn",
866
+ "name": "IconZoomIn",
867
+ "group": "Everyday app glyphs"
868
+ },
869
+ {
870
+ "id": "IconZoomOut",
871
+ "title": "IconZoomOut",
872
+ "name": "IconZoomOut",
873
+ "group": "Everyday app glyphs"
658
874
  }
659
875
  ],
660
876
  "aliases": {
@@ -710,7 +926,42 @@
710
926
  "Calendar": "IconCalendar",
711
927
  "Clock": "IconClock",
712
928
  "Home": "IconHome",
713
- "ExternalLink": "IconExternalLink"
929
+ "ExternalLink": "IconExternalLink",
930
+ "MoreVertical": "IconMoreVertical",
931
+ "PanelLeft": "IconPanelLeft",
932
+ "LayoutGrid": "IconLayoutGrid",
933
+ "LayoutList": "IconLayoutList",
934
+ "ArrowUpDown": "IconArrowUpDown",
935
+ "Filter": "IconFilter",
936
+ "Minimize": "IconMinimize",
937
+ "ChevronsLeft": "IconChevronsLeft",
938
+ "ChevronsRight": "IconChevronsRight",
939
+ "Send": "IconSend",
940
+ "Archive": "IconArchive",
941
+ "Inbox": "IconInbox",
942
+ "Tag": "IconTag",
943
+ "Bookmark": "IconBookmark",
944
+ "Pin": "IconPin",
945
+ "Flag": "IconFlag",
946
+ "Printer": "IconPrinter",
947
+ "Clipboard": "IconClipboard",
948
+ "LogIn": "IconLogIn",
949
+ "LogOut": "IconLogOut",
950
+ "ZoomIn": "IconZoomIn",
951
+ "ZoomOut": "IconZoomOut",
952
+ "Pause": "IconPause",
953
+ "Globe": "IconGlobe",
954
+ "Database": "IconDatabase",
955
+ "Cloud": "IconCloud",
956
+ "CreditCard": "IconCreditCard",
957
+ "BarChart": "IconBarChart",
958
+ "TrendingUp": "IconTrendingUp",
959
+ "Key": "IconKey",
960
+ "MapPin": "IconMapPin",
961
+ "Phone": "IconPhone",
962
+ "MessageSquare": "IconMessage",
963
+ "CircleHelp": "IconHelp",
964
+ "Lightbulb": "IconLightbulb"
714
965
  }
715
966
  },
716
967
  {
@@ -718,6 +969,34 @@
718
969
  "label": "2D assets",
719
970
  "summary": "Illustrations and spot art that follow the active theme.",
720
971
  "items": [
972
+ {
973
+ "id": "access-granted",
974
+ "kind": "2d",
975
+ "title": "Access granted",
976
+ "summary": "A precision key beside an approved access card. A simple permission metaphor.",
977
+ "tags": [
978
+ "access",
979
+ "permissions",
980
+ "security"
981
+ ],
982
+ "files": [
983
+ {
984
+ "path": "access-granted.svg",
985
+ "role": "source",
986
+ "bytes": 3748,
987
+ "integrity": "sha256-SIAkkdPoVRq7UcG59xKkroZs7GrVooi8exHJjia4xig="
988
+ },
989
+ {
990
+ "path": "access-granted.tsx",
991
+ "role": "react",
992
+ "bytes": 4727,
993
+ "integrity": "sha256-uGj9wuF27wdZRsLWiz3/xwCC5Vpu+pv+BVETn07T2m0="
994
+ }
995
+ ],
996
+ "themeable": true,
997
+ "license": "MIT",
998
+ "author": "Mlola"
999
+ },
721
1000
  {
722
1001
  "id": "analytics",
723
1002
  "kind": "2d",
@@ -774,6 +1053,62 @@
774
1053
  "license": "MIT",
775
1054
  "author": "Mlola"
776
1055
  },
1056
+ {
1057
+ "id": "archive-labels",
1058
+ "kind": "2d",
1059
+ "title": "Archive labels",
1060
+ "summary": "An orderly archive case with a label and a pair of indexed records waiting to be filed.",
1061
+ "tags": [
1062
+ "archive",
1063
+ "records",
1064
+ "organization"
1065
+ ],
1066
+ "files": [
1067
+ {
1068
+ "path": "archive-labels.svg",
1069
+ "role": "source",
1070
+ "bytes": 4633,
1071
+ "integrity": "sha256-AkPhEyRGqklb00VbCDiR8fqEtQ6JEkkQ094YUIeQcUg="
1072
+ },
1073
+ {
1074
+ "path": "archive-labels.tsx",
1075
+ "role": "react",
1076
+ "bytes": 5630,
1077
+ "integrity": "sha256-MuTMQ9qgnburztfDD8J594PZ0elVXbbmPGLoh3gD7k0="
1078
+ }
1079
+ ],
1080
+ "themeable": true,
1081
+ "license": "MIT",
1082
+ "author": "Mlola"
1083
+ },
1084
+ {
1085
+ "id": "backup-ready",
1086
+ "kind": "2d",
1087
+ "title": "Backup ready",
1088
+ "summary": "A protected external drive and an orderly file card, ready for safekeeping.",
1089
+ "tags": [
1090
+ "backup",
1091
+ "storage",
1092
+ "files"
1093
+ ],
1094
+ "files": [
1095
+ {
1096
+ "path": "backup-ready.svg",
1097
+ "role": "source",
1098
+ "bytes": 3705,
1099
+ "integrity": "sha256-7uMJwm8KBC9d0OKWWY78azUOV7hjBXPVTmpWuZsC77A="
1100
+ },
1101
+ {
1102
+ "path": "backup-ready.tsx",
1103
+ "role": "react",
1104
+ "bytes": 4646,
1105
+ "integrity": "sha256-JBO7M5R7kKsNlUg/aXnon1ZrShHv79ULUKVnJF2dPYw="
1106
+ }
1107
+ ],
1108
+ "themeable": true,
1109
+ "license": "MIT",
1110
+ "author": "Mlola"
1111
+ },
777
1112
  {
778
1113
  "id": "blueprint",
779
1114
  "kind": "2d",
@@ -914,6 +1249,34 @@
914
1249
  "license": "MIT",
915
1250
  "author": "Mlola"
916
1251
  },
1252
+ {
1253
+ "id": "connection-ready",
1254
+ "kind": "2d",
1255
+ "title": "Connection ready",
1256
+ "summary": "A wireless hub linked to a neatly aligned device card, with one clear connection signal.",
1257
+ "tags": [
1258
+ "network",
1259
+ "connection",
1260
+ "devices"
1261
+ ],
1262
+ "files": [
1263
+ {
1264
+ "path": "connection-ready.svg",
1265
+ "role": "source",
1266
+ "bytes": 3729,
1267
+ "integrity": "sha256-vxA8A8aOgO53TME3qhZvdyTibwT/vkfdhgkJ22D12ds="
1268
+ },
1269
+ {
1270
+ "path": "connection-ready.tsx",
1271
+ "role": "react",
1272
+ "bytes": 4717,
1273
+ "integrity": "sha256-haMZOzmYROHKRfx8ZeGeG5pzT/ln1vBsoo7Gop/Tbsk="
1274
+ }
1275
+ ],
1276
+ "themeable": true,
1277
+ "license": "MIT",
1278
+ "author": "Mlola"
1279
+ },
917
1280
  {
918
1281
  "id": "dashboard",
919
1282
  "kind": "2d",
@@ -1013,13 +1376,13 @@
1013
1376
  "path": "download.svg",
1014
1377
  "role": "source",
1015
1378
  "bytes": 3444,
1016
- "integrity": "sha256-5cm99iahdj31U8SY6CmP2+i/Y7gqzep2xLhZSyR3lIw="
1379
+ "integrity": "sha256-BUz1gF+cjzSGX80cAXkBEbk2B/QfikfDVvMkXf9aetY="
1017
1380
  },
1018
1381
  {
1019
1382
  "path": "download.tsx",
1020
1383
  "role": "react",
1021
1384
  "bytes": 4359,
1022
- "integrity": "sha256-HCmxOC90IVFKx9MvBDtG9tuxSrYCOvS/yUm6Hxa6vN8="
1385
+ "integrity": "sha256-HqMG8B7wBduafDrBZ3k0PSxWpPZPWArZsJy3YXyv+Ew="
1023
1386
  }
1024
1387
  ],
1025
1388
  "themeable": true,
@@ -1166,6 +1529,62 @@
1166
1529
  "license": "MIT",
1167
1530
  "author": "Mlola"
1168
1531
  },
1532
+ {
1533
+ "id": "focus-session",
1534
+ "kind": "2d",
1535
+ "title": "Focus session",
1536
+ "summary": "A desk timer beside a single task card. A quiet interval for focused work.",
1537
+ "tags": [
1538
+ "focus",
1539
+ "time",
1540
+ "productivity"
1541
+ ],
1542
+ "files": [
1543
+ {
1544
+ "path": "focus-session.svg",
1545
+ "role": "source",
1546
+ "bytes": 4556,
1547
+ "integrity": "sha256-MMetcCBUVOGyTB+NMbn8Y26SJzw4T1nooZqEXltfTO4="
1548
+ },
1549
+ {
1550
+ "path": "focus-session.tsx",
1551
+ "role": "react",
1552
+ "bytes": 5535,
1553
+ "integrity": "sha256-uaVnzf0IYyYPxNKkHr7Zjw39Ww70eAnkslQ8PstpAB0="
1554
+ }
1555
+ ],
1556
+ "themeable": true,
1557
+ "license": "MIT",
1558
+ "author": "Mlola"
1559
+ },
1560
+ {
1561
+ "id": "idea-notes",
1562
+ "kind": "2d",
1563
+ "title": "Idea notes",
1564
+ "summary": "A bound notebook, page marker and a carefully placed pencil, ready for the next thought.",
1565
+ "tags": [
1566
+ "notes",
1567
+ "ideas",
1568
+ "writing"
1569
+ ],
1570
+ "files": [
1571
+ {
1572
+ "path": "idea-notes.svg",
1573
+ "role": "source",
1574
+ "bytes": 3523,
1575
+ "integrity": "sha256-N5xtNBstgWIvK//zBu1Gp7Pvu14x12l3FLNRoi3fnAE="
1576
+ },
1577
+ {
1578
+ "path": "idea-notes.tsx",
1579
+ "role": "react",
1580
+ "bytes": 4469,
1581
+ "integrity": "sha256-F1F2GrO7mke3AJeD05aTUybpvyEVkWWGyBNP7rcdkVE="
1582
+ }
1583
+ ],
1584
+ "themeable": true,
1585
+ "license": "MIT",
1586
+ "author": "Mlola"
1587
+ },
1169
1588
  {
1170
1589
  "id": "integrations",
1171
1590
  "kind": "2d",
@@ -1222,11 +1641,39 @@
1222
1641
  "license": "MIT",
1223
1642
  "author": "Mlola"
1224
1643
  },
1644
+ {
1645
+ "id": "knowledge-base",
1646
+ "kind": "2d",
1647
+ "title": "Knowledge base",
1648
+ "summary": "A considered row of reference books with a saved page and a reading note.",
1649
+ "tags": [
1650
+ "docs",
1651
+ "learning",
1652
+ "library"
1653
+ ],
1654
+ "files": [
1655
+ {
1656
+ "path": "knowledge-base.svg",
1657
+ "role": "source",
1658
+ "bytes": 4192,
1659
+ "integrity": "sha256-wH6Fw9BVS7dI69Xh8ylpEgHVLu4CsVpj5VSzNVsnvhk="
1660
+ },
1661
+ {
1662
+ "path": "knowledge-base.tsx",
1663
+ "role": "react",
1664
+ "bytes": 5161,
1665
+ "integrity": "sha256-SEpaAuYt/kzBzapHpOeC4iaKMbGSk3h2fpa681VWrQQ="
1666
+ }
1667
+ ],
1668
+ "themeable": true,
1669
+ "license": "MIT",
1670
+ "author": "Mlola"
1671
+ },
1225
1672
  {
1226
1673
  "id": "link",
1227
1674
  "kind": "2d",
1228
1675
  "title": "Connected",
1229
- "summary": "Two interlocking metal links carrying a tiny shared signal.",
1676
+ "summary": "Two open chain links joined by a clear central bar with a restrained signal accent.",
1230
1677
  "tags": [
1231
1678
  "link",
1232
1679
  "connection",
@@ -1236,14 +1683,42 @@
1236
1683
  {
1237
1684
  "path": "link.svg",
1238
1685
  "role": "source",
1239
- "bytes": 2874,
1240
- "integrity": "sha256-dMvq0GVsY+/hNe6z8rZ5SJL7Jh/2RmtYFV6UX3+5GnY="
1686
+ "bytes": 2504,
1687
+ "integrity": "sha256-+gKXIfVp1G3qEUWS1veswBBwNwRcs5c04F1y3NKB7hs="
1241
1688
  },
1242
1689
  {
1243
1690
  "path": "link.tsx",
1244
1691
  "role": "react",
1245
- "bytes": 3737,
1246
- "integrity": "sha256-PmDMYKD2awnUZuEc/5AKBEk1wZefhKnwenG8MRSNpc8="
1692
+ "bytes": 3357,
1693
+ "integrity": "sha256-MGE+g1e9BmbGHP1XMzC/YKBCNqp3LO+b5Jb2DiN7wNU="
1694
+ }
1695
+ ],
1696
+ "themeable": true,
1697
+ "license": "MIT",
1698
+ "author": "Mlola"
1699
+ },
1700
+ {
1701
+ "id": "mail-delivery",
1702
+ "kind": "2d",
1703
+ "title": "Mail delivery",
1704
+ "summary": "A folded envelope carrying a neatly composed note. For updates and correspondence.",
1705
+ "tags": [
1706
+ "email",
1707
+ "delivery",
1708
+ "communication"
1709
+ ],
1710
+ "files": [
1711
+ {
1712
+ "path": "mail-delivery.svg",
1713
+ "role": "source",
1714
+ "bytes": 3681,
1715
+ "integrity": "sha256-4IPdgsZQPkpDMQcJCq/hSQADOunTWud1vM3cKdumIdg="
1716
+ },
1717
+ {
1718
+ "path": "mail-delivery.tsx",
1719
+ "role": "react",
1720
+ "bytes": 4616,
1721
+ "integrity": "sha256-k1KEFmBy2u/nTdLBTxzU4jFLOC2dVlt6wiJswV3zTHo="
1247
1722
  }
1248
1723
  ],
1249
1724
  "themeable": true,
@@ -1366,7 +1841,7 @@
1366
1841
  "id": "notifications",
1367
1842
  "kind": "2d",
1368
1843
  "title": "Notifications",
1369
- "summary": "A small desk bell with one fresh notification card beside it.",
1844
+ "summary": "A softly outlined notification bell with a small clapper and one fresh message card.",
1370
1845
  "tags": [
1371
1846
  "notifications",
1372
1847
  "alerts",
@@ -1376,14 +1851,14 @@
1376
1851
  {
1377
1852
  "path": "notifications.svg",
1378
1853
  "role": "source",
1379
- "bytes": 3439,
1380
- "integrity": "sha256-+PZJkoooLoCtu8uoDJbdXAxR0oJPcA86j0uz9Ww2YyQ="
1854
+ "bytes": 3485,
1855
+ "integrity": "sha256-ihNfIqnU8XYhAQnwgl9t2ZOjN0m8XIC8HJmRsec7+EM="
1381
1856
  },
1382
1857
  {
1383
1858
  "path": "notifications.tsx",
1384
1859
  "role": "react",
1385
- "bytes": 4364,
1386
- "integrity": "sha256-c6x6JvSMARTd588qqW/pJ9RgdvEqINR2G6OxvvKOnAk="
1860
+ "bytes": 4431,
1861
+ "integrity": "sha256-8epIRgSRCUZLmlIjw/P2MZbmkYNXeIz4l5IiX6s22pc="
1387
1862
  }
1388
1863
  ],
1389
1864
  "themeable": true,
@@ -1422,7 +1897,7 @@
1422
1897
  "id": "package-tracking",
1423
1898
  "kind": "2d",
1424
1899
  "title": "Package tracking",
1425
- "summary": "A labelled parcel progressing along a dotted route to a destination pin.",
1900
+ "summary": "A labeled parcel progressing along a dotted route to a destination pin.",
1426
1901
  "tags": [
1427
1902
  "shipping",
1428
1903
  "tracking",
@@ -1438,8 +1913,8 @@
1438
1913
  {
1439
1914
  "path": "package-tracking.tsx",
1440
1915
  "role": "react",
1441
- "bytes": 4057,
1442
- "integrity": "sha256-Mux5Q3GzBxgfC6OOEa5zJL203b4nH9QeVJ/QQTPS+9I="
1916
+ "bytes": 4056,
1917
+ "integrity": "sha256-RskIyEVKRwtPPzqmY3Awi/Hz5CMLIiHf4DyHbJbFBvU="
1443
1918
  }
1444
1919
  ],
1445
1920
  "themeable": true,
@@ -1447,27 +1922,27 @@
1447
1922
  "author": "Mlola"
1448
1923
  },
1449
1924
  {
1450
- "id": "roadmap",
1925
+ "id": "portable-files",
1451
1926
  "kind": "2d",
1452
- "title": "Roadmap",
1453
- "summary": "A folding project timeline with milestones and a highlighted next step.",
1927
+ "title": "Portable files",
1928
+ "summary": "A compact memory stick beside two file cards, ready to carry a small collection.",
1454
1929
  "tags": [
1455
- "roadmap",
1456
- "planning",
1457
- "milestones"
1930
+ "storage",
1931
+ "transfer",
1932
+ "files"
1458
1933
  ],
1459
1934
  "files": [
1460
1935
  {
1461
- "path": "roadmap.svg",
1936
+ "path": "portable-files.svg",
1462
1937
  "role": "source",
1463
- "bytes": 6403,
1464
- "integrity": "sha256-VGmXHxFV6dZH7naewqSFjNXW4aL9TXo313mIkhpRRIY="
1938
+ "bytes": 3690,
1939
+ "integrity": "sha256-OtOIv1uuHhUGKx3HB/fei7HZhkC740W/NiDfj/nLfDo="
1465
1940
  },
1466
1941
  {
1467
- "path": "roadmap.tsx",
1942
+ "path": "portable-files.tsx",
1468
1943
  "role": "react",
1469
- "bytes": 7400,
1470
- "integrity": "sha256-PyS0RKSie4ScWYh84GMkOH1uM4NVIeaPsqN6G510IEI="
1944
+ "bytes": 4672,
1945
+ "integrity": "sha256-+SOH+jTy2E1WiSiXoOK/BaAQAe2BjgHQjBGFt1dIh7Y="
1471
1946
  }
1472
1947
  ],
1473
1948
  "themeable": true,
@@ -1475,27 +1950,27 @@
1475
1950
  "author": "Mlola"
1476
1951
  },
1477
1952
  {
1478
- "id": "search-index",
1953
+ "id": "precise-layout",
1479
1954
  "kind": "2d",
1480
- "title": "Search index",
1481
- "summary": "A searchable card catalog with alphabetized tabs and a hovering magnifier.",
1955
+ "title": "Precise layout",
1956
+ "summary": "A measured layout sheet and an extended tape, with aligned tick marks and a folded end hook.",
1482
1957
  "tags": [
1483
- "search",
1484
- "index",
1485
- "organization"
1958
+ "measure",
1959
+ "layout",
1960
+ "design"
1486
1961
  ],
1487
1962
  "files": [
1488
1963
  {
1489
- "path": "search-index.svg",
1964
+ "path": "precise-layout.svg",
1490
1965
  "role": "source",
1491
- "bytes": 4024,
1492
- "integrity": "sha256-zeXNwQWmW6aBCw8uXyLAntY94sK+Nz6b2tFfvMn4tKg="
1966
+ "bytes": 4986,
1967
+ "integrity": "sha256-19uhMUCRTWI2J0Po8hbC3cyBmOhv2dxjMqLMsjHaFAo="
1493
1968
  },
1494
1969
  {
1495
- "path": "search-index.tsx",
1970
+ "path": "precise-layout.tsx",
1496
1971
  "role": "react",
1497
- "bytes": 4986,
1498
- "integrity": "sha256-IkulM8Tk9MpuwbCS88IlBbrF3oSx6g05pw2Ydm/ld8s="
1972
+ "bytes": 6002,
1973
+ "integrity": "sha256-xUeKXphcaq5uFvfkci0bXbK3jzhh1QkRSSukH/BlG3k="
1499
1974
  }
1500
1975
  ],
1501
1976
  "themeable": true,
@@ -1503,27 +1978,27 @@
1503
1978
  "author": "Mlola"
1504
1979
  },
1505
1980
  {
1506
- "id": "secure",
1981
+ "id": "print-ready",
1507
1982
  "kind": "2d",
1508
- "title": "Secure",
1509
- "summary": "A layered security shield protecting a credential card, with an inset lock and a verification seal.",
1983
+ "title": "Print ready",
1984
+ "summary": "A compact desktop printer with a fresh sheet feeding through a clearly defined output slot.",
1510
1985
  "tags": [
1511
- "security",
1512
- "privacy",
1513
- "auth"
1986
+ "print",
1987
+ "documents",
1988
+ "export"
1514
1989
  ],
1515
1990
  "files": [
1516
1991
  {
1517
- "path": "secure.svg",
1992
+ "path": "print-ready.svg",
1518
1993
  "role": "source",
1519
- "bytes": 4513,
1520
- "integrity": "sha256-DfQCBeSjDeXMV2/aj8gbyZ96qkt+xbKAbStNQ/WTuog="
1994
+ "bytes": 4240,
1995
+ "integrity": "sha256-Z5LuX5KA6LA/slehxyi5lJi2sMSmiVw5oGnzKqKxNAw="
1521
1996
  },
1522
1997
  {
1523
- "path": "secure.tsx",
1998
+ "path": "print-ready.tsx",
1524
1999
  "role": "react",
1525
- "bytes": 5463,
1526
- "integrity": "sha256-wTJ37xnH/YYorXYm7Kw0LmKSdjkB3WRzE6N2HtRl8Ho="
2000
+ "bytes": 5222,
2001
+ "integrity": "sha256-WI61gBtD0xRJYGOQLOxyo5utgw8obTyYad4Rjbvqunc="
1527
2002
  }
1528
2003
  ],
1529
2004
  "themeable": true,
@@ -1531,14 +2006,182 @@
1531
2006
  "author": "Mlola"
1532
2007
  },
1533
2008
  {
1534
- "id": "settings",
2009
+ "id": "quick-calculation",
1535
2010
  "kind": "2d",
1536
- "title": "Settings",
1537
- "summary": "An adjustment panel with tactile sliders and a small gear token.",
2011
+ "title": "Quick calculation",
2012
+ "summary": "A tactile calculator beside a lined estimate sheet, keeping everyday totals orderly.",
1538
2013
  "tags": [
1539
- "settings",
1540
- "preferences",
1541
- "controls"
2014
+ "calculate",
2015
+ "planning",
2016
+ "numbers"
2017
+ ],
2018
+ "files": [
2019
+ {
2020
+ "path": "quick-calculation.svg",
2021
+ "role": "source",
2022
+ "bytes": 6134,
2023
+ "integrity": "sha256-3Jb/onmX6KHUFX9W5GVF0o7Id083MSv6Ji3gvBEABoc="
2024
+ },
2025
+ {
2026
+ "path": "quick-calculation.tsx",
2027
+ "role": "react",
2028
+ "bytes": 7231,
2029
+ "integrity": "sha256-1MFh87DUAVtneUp42gz4eyhuM8SsKNO0kKltDEB95kM="
2030
+ }
2031
+ ],
2032
+ "themeable": true,
2033
+ "license": "MIT",
2034
+ "author": "Mlola"
2035
+ },
2036
+ {
2037
+ "id": "quiet-workspace",
2038
+ "kind": "2d",
2039
+ "title": "Quiet workspace",
2040
+ "summary": "An articulated task lamp beside an open notebook, giving a single piece of work room to breathe.",
2041
+ "tags": [
2042
+ "workspace",
2043
+ "focus",
2044
+ "notes"
2045
+ ],
2046
+ "files": [
2047
+ {
2048
+ "path": "quiet-workspace.svg",
2049
+ "role": "source",
2050
+ "bytes": 4306,
2051
+ "integrity": "sha256-nQ8z7c5LiW6GkN6gPJqFP6fdjf7ZtgTL0KdLJzi5FAo="
2052
+ },
2053
+ {
2054
+ "path": "quiet-workspace.tsx",
2055
+ "role": "react",
2056
+ "bytes": 5307,
2057
+ "integrity": "sha256-18G80gjKTkOyudwlynL4CgJz2IhMjRl9H2s7w5yeOno="
2058
+ }
2059
+ ],
2060
+ "themeable": true,
2061
+ "license": "MIT",
2062
+ "author": "Mlola"
2063
+ },
2064
+ {
2065
+ "id": "responsive-layout",
2066
+ "kind": "2d",
2067
+ "title": "Responsive layout",
2068
+ "summary": "One calm interface shared across a desktop display and a pocket screen.",
2069
+ "tags": [
2070
+ "devices",
2071
+ "responsive",
2072
+ "interface"
2073
+ ],
2074
+ "files": [
2075
+ {
2076
+ "path": "responsive-layout.svg",
2077
+ "role": "source",
2078
+ "bytes": 4334,
2079
+ "integrity": "sha256-mlLTvdbtgyM1DxtcACF+Ns2mOiYsfbIvZN0VgR8V2Uw="
2080
+ },
2081
+ {
2082
+ "path": "responsive-layout.tsx",
2083
+ "role": "react",
2084
+ "bytes": 5330,
2085
+ "integrity": "sha256-0lbyR9xjDbXg4rRgKHux5nDd5b4WvlMftK5OSBlDS18="
2086
+ }
2087
+ ],
2088
+ "themeable": true,
2089
+ "license": "MIT",
2090
+ "author": "Mlola"
2091
+ },
2092
+ {
2093
+ "id": "roadmap",
2094
+ "kind": "2d",
2095
+ "title": "Roadmap",
2096
+ "summary": "A folding project timeline with milestones and a highlighted next step.",
2097
+ "tags": [
2098
+ "roadmap",
2099
+ "planning",
2100
+ "milestones"
2101
+ ],
2102
+ "files": [
2103
+ {
2104
+ "path": "roadmap.svg",
2105
+ "role": "source",
2106
+ "bytes": 6403,
2107
+ "integrity": "sha256-VGmXHxFV6dZH7naewqSFjNXW4aL9TXo313mIkhpRRIY="
2108
+ },
2109
+ {
2110
+ "path": "roadmap.tsx",
2111
+ "role": "react",
2112
+ "bytes": 7400,
2113
+ "integrity": "sha256-PyS0RKSie4ScWYh84GMkOH1uM4NVIeaPsqN6G510IEI="
2114
+ }
2115
+ ],
2116
+ "themeable": true,
2117
+ "license": "MIT",
2118
+ "author": "Mlola"
2119
+ },
2120
+ {
2121
+ "id": "search-index",
2122
+ "kind": "2d",
2123
+ "title": "Search index",
2124
+ "summary": "A searchable card catalog with alphabetized tabs and a hovering magnifier.",
2125
+ "tags": [
2126
+ "search",
2127
+ "index",
2128
+ "organization"
2129
+ ],
2130
+ "files": [
2131
+ {
2132
+ "path": "search-index.svg",
2133
+ "role": "source",
2134
+ "bytes": 4024,
2135
+ "integrity": "sha256-zeXNwQWmW6aBCw8uXyLAntY94sK+Nz6b2tFfvMn4tKg="
2136
+ },
2137
+ {
2138
+ "path": "search-index.tsx",
2139
+ "role": "react",
2140
+ "bytes": 4986,
2141
+ "integrity": "sha256-IkulM8Tk9MpuwbCS88IlBbrF3oSx6g05pw2Ydm/ld8s="
2142
+ }
2143
+ ],
2144
+ "themeable": true,
2145
+ "license": "MIT",
2146
+ "author": "Mlola"
2147
+ },
2148
+ {
2149
+ "id": "secure",
2150
+ "kind": "2d",
2151
+ "title": "Secure",
2152
+ "summary": "A layered security shield protecting a credential card, with an inset lock and a verification seal.",
2153
+ "tags": [
2154
+ "security",
2155
+ "privacy",
2156
+ "auth"
2157
+ ],
2158
+ "files": [
2159
+ {
2160
+ "path": "secure.svg",
2161
+ "role": "source",
2162
+ "bytes": 4513,
2163
+ "integrity": "sha256-DfQCBeSjDeXMV2/aj8gbyZ96qkt+xbKAbStNQ/WTuog="
2164
+ },
2165
+ {
2166
+ "path": "secure.tsx",
2167
+ "role": "react",
2168
+ "bytes": 5463,
2169
+ "integrity": "sha256-wTJ37xnH/YYorXYm7Kw0LmKSdjkB3WRzE6N2HtRl8Ho="
2170
+ }
2171
+ ],
2172
+ "themeable": true,
2173
+ "license": "MIT",
2174
+ "author": "Mlola"
2175
+ },
2176
+ {
2177
+ "id": "settings",
2178
+ "kind": "2d",
2179
+ "title": "Settings",
2180
+ "summary": "An adjustment panel with tactile sliders and a small gear token.",
2181
+ "tags": [
2182
+ "settings",
2183
+ "preferences",
2184
+ "controls"
1542
2185
  ],
1543
2186
  "files": [
1544
2187
  {
@@ -1558,6 +2201,34 @@
1558
2201
  "license": "MIT",
1559
2202
  "author": "Mlola"
1560
2203
  },
2204
+ {
2205
+ "id": "sorted-papers",
2206
+ "kind": "2d",
2207
+ "title": "Sorted papers",
2208
+ "summary": "A low document tray receiving a clean stack of reviewed pages.",
2209
+ "tags": [
2210
+ "documents",
2211
+ "organization",
2212
+ "inbox"
2213
+ ],
2214
+ "files": [
2215
+ {
2216
+ "path": "sorted-papers.svg",
2217
+ "role": "source",
2218
+ "bytes": 3702,
2219
+ "integrity": "sha256-7jOYvMRxgVOLEWXNP6ngGdfLabYFWF1JcOsWeRcQ5po="
2220
+ },
2221
+ {
2222
+ "path": "sorted-papers.tsx",
2223
+ "role": "react",
2224
+ "bytes": 4619,
2225
+ "integrity": "sha256-7pe3kBqv8Bf3TIeHGzlzCCnaxgy4SX+mUvnWrEBvs9A="
2226
+ }
2227
+ ],
2228
+ "themeable": true,
2229
+ "license": "MIT",
2230
+ "author": "Mlola"
2231
+ },
1561
2232
  {
1562
2233
  "id": "storage",
1563
2234
  "kind": "2d",
@@ -1733,6 +2404,41 @@
1733
2404
  "label": "3D assets",
1734
2405
  "summary": "glTF models with a poster still. Materials are named by theme role, so a Mlola viewer paints them in the active theme; any other viewer shows their own colors.",
1735
2406
  "items": [
2407
+ {
2408
+ "id": "archive-box",
2409
+ "kind": "3d",
2410
+ "title": "Archive box",
2411
+ "summary": "A lidded archive case with an inset label frame, porcelain shell and enamel lid.",
2412
+ "tags": [
2413
+ "archive",
2414
+ "organization",
2415
+ "storage"
2416
+ ],
2417
+ "files": [
2418
+ {
2419
+ "path": "archive-box.glb",
2420
+ "role": "source",
2421
+ "bytes": 198100,
2422
+ "integrity": "sha256-ywNZ9jEICub4fqF9Ms7H4DCIyqNEXVltrCpyIoSqnVI="
2423
+ },
2424
+ {
2425
+ "path": "archive-box-poster.webp",
2426
+ "role": "poster",
2427
+ "bytes": 22636,
2428
+ "integrity": "sha256-CNirc+2EgGRfnVulO6aEbDk99QR5HyuswdgHPLyyOyo="
2429
+ }
2430
+ ],
2431
+ "themeable": true,
2432
+ "materials": [
2433
+ "surface",
2434
+ "primary",
2435
+ "metal",
2436
+ "neutral",
2437
+ "ink"
2438
+ ],
2439
+ "license": "MIT",
2440
+ "author": "Mlola"
2441
+ },
1736
2442
  {
1737
2443
  "id": "blocks",
1738
2444
  "kind": "3d",
@@ -1766,6 +2472,75 @@
1766
2472
  "license": "MIT",
1767
2473
  "author": "Mlola"
1768
2474
  },
2475
+ {
2476
+ "id": "books",
2477
+ "kind": "3d",
2478
+ "title": "Reference books",
2479
+ "summary": "Three bound reference volumes with inset page blocks, enamel covers and a fabric bookmark.",
2480
+ "tags": [
2481
+ "docs",
2482
+ "library",
2483
+ "knowledge"
2484
+ ],
2485
+ "files": [
2486
+ {
2487
+ "path": "books.glb",
2488
+ "role": "source",
2489
+ "bytes": 723864,
2490
+ "integrity": "sha256-rqjGLLmumpDRAeuwmyM+nqNT0H8uG4hKcBz4165iwCo="
2491
+ },
2492
+ {
2493
+ "path": "books-poster.webp",
2494
+ "role": "poster",
2495
+ "bytes": 18478,
2496
+ "integrity": "sha256-tUqwxTD7AVvN8Ejnue/S5PNE+eTB1HLNAHV8+1AJ5GM="
2497
+ }
2498
+ ],
2499
+ "themeable": true,
2500
+ "materials": [
2501
+ "surface",
2502
+ "primary",
2503
+ "neutral",
2504
+ "accent",
2505
+ "ink"
2506
+ ],
2507
+ "license": "MIT",
2508
+ "author": "Mlola"
2509
+ },
2510
+ {
2511
+ "id": "calculator",
2512
+ "kind": "3d",
2513
+ "title": "Desk calculator",
2514
+ "summary": "A porcelain calculator with a recessed display, tactile enamel keys and one warm action key.",
2515
+ "tags": [
2516
+ "calculate",
2517
+ "planning",
2518
+ "numbers"
2519
+ ],
2520
+ "files": [
2521
+ {
2522
+ "path": "calculator.glb",
2523
+ "role": "source",
2524
+ "bytes": 521268,
2525
+ "integrity": "sha256-4DbzOiVISzhayx0ICs29u1FYr+yMrlQkZDg3RQWY084="
2526
+ },
2527
+ {
2528
+ "path": "calculator-poster.webp",
2529
+ "role": "poster",
2530
+ "bytes": 29094,
2531
+ "integrity": "sha256-cd48r/DLJQQDWHPx0TYLQ7TvLHvKx68jnZpEyMf+Lz8="
2532
+ }
2533
+ ],
2534
+ "themeable": true,
2535
+ "materials": [
2536
+ "surface",
2537
+ "ink",
2538
+ "primary",
2539
+ "accent"
2540
+ ],
2541
+ "license": "MIT",
2542
+ "author": "Mlola"
2543
+ },
1769
2544
  {
1770
2545
  "id": "chat",
1771
2546
  "kind": "3d",
@@ -1799,6 +2574,178 @@
1799
2574
  "license": "MIT",
1800
2575
  "author": "Mlola"
1801
2576
  },
2577
+ {
2578
+ "id": "desk-timer",
2579
+ "kind": "3d",
2580
+ "title": "Desk timer",
2581
+ "summary": "A porcelain focus timer with an enamel dial, polished rim and precise hour marks.",
2582
+ "tags": [
2583
+ "focus",
2584
+ "time",
2585
+ "productivity"
2586
+ ],
2587
+ "files": [
2588
+ {
2589
+ "path": "desk-timer.glb",
2590
+ "role": "source",
2591
+ "bytes": 617756,
2592
+ "integrity": "sha256-WS2TuWH4nnUPkC4FDaUwxKGyT5MuekazIrPjHvNlx4M="
2593
+ },
2594
+ {
2595
+ "path": "desk-timer-poster.webp",
2596
+ "role": "poster",
2597
+ "bytes": 19312,
2598
+ "integrity": "sha256-FrGZnjwaxBialPb81oOgY5WQeoDBtm3xTB4hfXmaXvs="
2599
+ }
2600
+ ],
2601
+ "themeable": true,
2602
+ "materials": [
2603
+ "surface",
2604
+ "metal",
2605
+ "primary",
2606
+ "accent"
2607
+ ],
2608
+ "license": "MIT",
2609
+ "author": "Mlola"
2610
+ },
2611
+ {
2612
+ "id": "display",
2613
+ "kind": "3d",
2614
+ "title": "Desktop display",
2615
+ "summary": "A slim porcelain monitor with a recessed enamel interface and a balanced metal stand.",
2616
+ "tags": [
2617
+ "devices",
2618
+ "interface",
2619
+ "workspace"
2620
+ ],
2621
+ "files": [
2622
+ {
2623
+ "path": "display.glb",
2624
+ "role": "source",
2625
+ "bytes": 308076,
2626
+ "integrity": "sha256-/5gdelCSPnBYZ4D9l5aI3GGywotEko1ZwCWdBH5l5TA="
2627
+ },
2628
+ {
2629
+ "path": "display-poster.webp",
2630
+ "role": "poster",
2631
+ "bytes": 18304,
2632
+ "integrity": "sha256-aaypMCzLxRirRr36nTr7kNum7PSEF8SHPgn9JZOWAww="
2633
+ }
2634
+ ],
2635
+ "themeable": true,
2636
+ "materials": [
2637
+ "surface",
2638
+ "ink",
2639
+ "primary",
2640
+ "neutral",
2641
+ "metal"
2642
+ ],
2643
+ "license": "MIT",
2644
+ "author": "Mlola"
2645
+ },
2646
+ {
2647
+ "id": "document-tray",
2648
+ "kind": "3d",
2649
+ "title": "Document tray",
2650
+ "summary": "A low enamel sorting tray with porcelain sheets and an open front for easy access.",
2651
+ "tags": [
2652
+ "documents",
2653
+ "inbox",
2654
+ "organization"
2655
+ ],
2656
+ "files": [
2657
+ {
2658
+ "path": "document-tray.glb",
2659
+ "role": "source",
2660
+ "bytes": 331580,
2661
+ "integrity": "sha256-ViMIiRRFGK9GQ94wKK9+DU9c4UeZ0a/L0kQDJpTgVlg="
2662
+ },
2663
+ {
2664
+ "path": "document-tray-poster.webp",
2665
+ "role": "poster",
2666
+ "bytes": 27748,
2667
+ "integrity": "sha256-m2I5lk1YmX7IvJosNaeaWovS/PUliZP7yA1AGk0nqdw="
2668
+ }
2669
+ ],
2670
+ "themeable": true,
2671
+ "materials": [
2672
+ "primary",
2673
+ "surface",
2674
+ "neutral",
2675
+ "metal"
2676
+ ],
2677
+ "license": "MIT",
2678
+ "author": "Mlola"
2679
+ },
2680
+ {
2681
+ "id": "drive",
2682
+ "kind": "3d",
2683
+ "title": "Backup drive",
2684
+ "summary": "A compact external drive with an enamel cover, recessed connection and a small status light.",
2685
+ "tags": [
2686
+ "backup",
2687
+ "storage",
2688
+ "hardware"
2689
+ ],
2690
+ "files": [
2691
+ {
2692
+ "path": "drive.glb",
2693
+ "role": "source",
2694
+ "bytes": 309744,
2695
+ "integrity": "sha256-Sv4JFyRc1HhtFUrMRMisa59LyV6emEk3WA9omj9zU24="
2696
+ },
2697
+ {
2698
+ "path": "drive-poster.webp",
2699
+ "role": "poster",
2700
+ "bytes": 15656,
2701
+ "integrity": "sha256-PrCyVImodz4e8TR7MHqJS0IpWx3GpE4xAmqV2ddIyWs="
2702
+ }
2703
+ ],
2704
+ "themeable": true,
2705
+ "materials": [
2706
+ "surface",
2707
+ "primary",
2708
+ "ink",
2709
+ "metal",
2710
+ "accent"
2711
+ ],
2712
+ "license": "MIT",
2713
+ "author": "Mlola"
2714
+ },
2715
+ {
2716
+ "id": "envelope",
2717
+ "kind": "3d",
2718
+ "title": "Envelope",
2719
+ "summary": "A porcelain envelope with a folded enamel flap, inset seams and a warm seal.",
2720
+ "tags": [
2721
+ "mail",
2722
+ "updates",
2723
+ "communication"
2724
+ ],
2725
+ "files": [
2726
+ {
2727
+ "path": "envelope.glb",
2728
+ "role": "source",
2729
+ "bytes": 230936,
2730
+ "integrity": "sha256-cxqzCCfqpYhEtfMjs8bxDnLE5Tg4FjQRbrvzVPwYftE="
2731
+ },
2732
+ {
2733
+ "path": "envelope-poster.webp",
2734
+ "role": "poster",
2735
+ "bytes": 29408,
2736
+ "integrity": "sha256-JTyd+cTRdTc13nRBe/MCMbNALLcqTEkarO6nk8x/tzM="
2737
+ }
2738
+ ],
2739
+ "themeable": true,
2740
+ "materials": [
2741
+ "surface",
2742
+ "neutral",
2743
+ "primary",
2744
+ "accent"
2745
+ ],
2746
+ "license": "MIT",
2747
+ "author": "Mlola"
2748
+ },
1802
2749
  {
1803
2750
  "id": "folder",
1804
2751
  "kind": "3d",
@@ -1868,6 +2815,40 @@
1868
2815
  "license": "MIT",
1869
2816
  "author": "Mlola"
1870
2817
  },
2818
+ {
2819
+ "id": "key",
2820
+ "kind": "3d",
2821
+ "title": "Access key",
2822
+ "summary": "A machined key with a porcelain grip, enamel inset and two carefully spaced teeth.",
2823
+ "tags": [
2824
+ "access",
2825
+ "security",
2826
+ "permissions"
2827
+ ],
2828
+ "files": [
2829
+ {
2830
+ "path": "key.glb",
2831
+ "role": "source",
2832
+ "bytes": 197112,
2833
+ "integrity": "sha256-H1SWBfQyo4HCzKsn07X9pmSsTpZvrV8xmwr9Z024Dhs="
2834
+ },
2835
+ {
2836
+ "path": "key-poster.webp",
2837
+ "role": "poster",
2838
+ "bytes": 21580,
2839
+ "integrity": "sha256-6eMFM/8OQ5SWisQh6Tb/TvUKYnrC4B3FlT6e9Wl2zUA="
2840
+ }
2841
+ ],
2842
+ "themeable": true,
2843
+ "materials": [
2844
+ "surface",
2845
+ "primary",
2846
+ "metal",
2847
+ "neutral"
2848
+ ],
2849
+ "license": "MIT",
2850
+ "author": "Mlola"
2851
+ },
1871
2852
  {
1872
2853
  "id": "layers",
1873
2854
  "kind": "3d",
@@ -1902,6 +2883,76 @@
1902
2883
  "license": "MIT",
1903
2884
  "author": "Mlola"
1904
2885
  },
2886
+ {
2887
+ "id": "measuring-tape",
2888
+ "kind": "3d",
2889
+ "title": "Measuring tape",
2890
+ "summary": "An enamel tape measure with a circular porcelain inset, evenly spaced marks and a folded metal end hook.",
2891
+ "tags": [
2892
+ "measure",
2893
+ "precision",
2894
+ "design"
2895
+ ],
2896
+ "files": [
2897
+ {
2898
+ "path": "measuring-tape.glb",
2899
+ "role": "source",
2900
+ "bytes": 592628,
2901
+ "integrity": "sha256-gjp8OVIjpEbmo0zeegc7p9W+gkYGeNqwETxuBfE43Js="
2902
+ },
2903
+ {
2904
+ "path": "measuring-tape-poster.webp",
2905
+ "role": "poster",
2906
+ "bytes": 16086,
2907
+ "integrity": "sha256-Ygzmwy/ttH5//dWsBUTsR+4XGQlD/YpodjI6y9caXuo="
2908
+ }
2909
+ ],
2910
+ "themeable": true,
2911
+ "materials": [
2912
+ "primary",
2913
+ "metal",
2914
+ "surface",
2915
+ "neutral",
2916
+ "accent",
2917
+ "ink"
2918
+ ],
2919
+ "license": "MIT",
2920
+ "author": "Mlola"
2921
+ },
2922
+ {
2923
+ "id": "notebook",
2924
+ "kind": "3d",
2925
+ "title": "Pocket notebook",
2926
+ "summary": "A porcelain-bound notebook with a recessed cover, page block and warm ribbon marker.",
2927
+ "tags": [
2928
+ "notes",
2929
+ "ideas",
2930
+ "writing"
2931
+ ],
2932
+ "files": [
2933
+ {
2934
+ "path": "notebook.glb",
2935
+ "role": "source",
2936
+ "bytes": 340252,
2937
+ "integrity": "sha256-kSMkBr5h4UhMJ9qqYbhM03fTJqSQLy3jlsBgc1z2qLk="
2938
+ },
2939
+ {
2940
+ "path": "notebook-poster.webp",
2941
+ "role": "poster",
2942
+ "bytes": 28972,
2943
+ "integrity": "sha256-+BNdnul5c4MQD/Zo6RcSJNxHUhOgONoMVLa4euac528="
2944
+ }
2945
+ ],
2946
+ "themeable": true,
2947
+ "materials": [
2948
+ "surface",
2949
+ "primary",
2950
+ "neutral",
2951
+ "accent"
2952
+ ],
2953
+ "license": "MIT",
2954
+ "author": "Mlola"
2955
+ },
1905
2956
  {
1906
2957
  "id": "orb",
1907
2958
  "kind": "3d",
@@ -2005,6 +3056,41 @@
2005
3056
  "license": "MIT",
2006
3057
  "author": "Mlola"
2007
3058
  },
3059
+ {
3060
+ "id": "paper-printer",
3061
+ "kind": "3d",
3062
+ "title": "Paper printer",
3063
+ "summary": "A compact porcelain printer with a rear paper feed, inset output slot and a neatly printed sheet.",
3064
+ "tags": [
3065
+ "print",
3066
+ "documents",
3067
+ "workspace"
3068
+ ],
3069
+ "files": [
3070
+ {
3071
+ "path": "paper-printer.glb",
3072
+ "role": "source",
3073
+ "bytes": 457012,
3074
+ "integrity": "sha256-9sK7cA4R5ZYekDnTBrsZlUnYY4E/SUddQ/dCJGTtO9c="
3075
+ },
3076
+ {
3077
+ "path": "paper-printer-poster.webp",
3078
+ "role": "poster",
3079
+ "bytes": 16926,
3080
+ "integrity": "sha256-lRC0WaPykkZxEhtgEi4f0N93LFGoJ2uE0kfWbQOPR7Y="
3081
+ }
3082
+ ],
3083
+ "themeable": true,
3084
+ "materials": [
3085
+ "surface",
3086
+ "primary",
3087
+ "neutral",
3088
+ "ink",
3089
+ "accent"
3090
+ ],
3091
+ "license": "MIT",
3092
+ "author": "Mlola"
3093
+ },
2008
3094
  {
2009
3095
  "id": "rocket",
2010
3096
  "kind": "3d",
@@ -2040,6 +3126,41 @@
2040
3126
  "license": "MIT",
2041
3127
  "author": "Mlola"
2042
3128
  },
3129
+ {
3130
+ "id": "router",
3131
+ "kind": "3d",
3132
+ "title": "Wireless router",
3133
+ "summary": "A compact porcelain router with enamel fascia, a single status light and two adjustable antennae.",
3134
+ "tags": [
3135
+ "network",
3136
+ "connection",
3137
+ "hardware"
3138
+ ],
3139
+ "files": [
3140
+ {
3141
+ "path": "router.glb",
3142
+ "role": "source",
3143
+ "bytes": 330340,
3144
+ "integrity": "sha256-zKLkm+wUjKLI/wAGhm3JeJjunBJlqlPjwprEdQRybME="
3145
+ },
3146
+ {
3147
+ "path": "router-poster.webp",
3148
+ "role": "poster",
3149
+ "bytes": 21896,
3150
+ "integrity": "sha256-pe6nYcTkONhraW/3Rri7ZvEySmzDmZizKEl8J/EFEeU="
3151
+ }
3152
+ ],
3153
+ "themeable": true,
3154
+ "materials": [
3155
+ "surface",
3156
+ "primary",
3157
+ "accent",
3158
+ "metal",
3159
+ "ink"
3160
+ ],
3161
+ "license": "MIT",
3162
+ "author": "Mlola"
3163
+ },
2043
3164
  {
2044
3165
  "id": "shield",
2045
3166
  "kind": "3d",
@@ -2073,6 +3194,77 @@
2073
3194
  ],
2074
3195
  "license": "MIT",
2075
3196
  "author": "Mlola"
3197
+ },
3198
+ {
3199
+ "id": "task-lamp",
3200
+ "kind": "3d",
3201
+ "title": "Task lamp",
3202
+ "summary": "An articulated desk lamp with aligned metal joints, an enamel light bar and a porcelain diffuser.",
3203
+ "tags": [
3204
+ "workspace",
3205
+ "focus",
3206
+ "lighting"
3207
+ ],
3208
+ "files": [
3209
+ {
3210
+ "path": "task-lamp.glb",
3211
+ "role": "source",
3212
+ "bytes": 283168,
3213
+ "integrity": "sha256-hAolZPXrmhkMW0DjUx/aB4iXTEBm3YFDnoTzOqsMtMc="
3214
+ },
3215
+ {
3216
+ "path": "task-lamp-poster.webp",
3217
+ "role": "poster",
3218
+ "bytes": 16676,
3219
+ "integrity": "sha256-KczARj6DGDO6U9YrYZ5LLTKCHK922mbXLvJtcmeMEfQ="
3220
+ }
3221
+ ],
3222
+ "themeable": true,
3223
+ "materials": [
3224
+ "surface",
3225
+ "neutral",
3226
+ "metal",
3227
+ "primary",
3228
+ "accent"
3229
+ ],
3230
+ "license": "MIT",
3231
+ "author": "Mlola"
3232
+ },
3233
+ {
3234
+ "id": "usb-stick",
3235
+ "kind": "3d",
3236
+ "title": "Portable memory",
3237
+ "summary": "A compact enamel memory stick with a polished connector, inset porcelain panel and status light.",
3238
+ "tags": [
3239
+ "storage",
3240
+ "transfer",
3241
+ "portable"
3242
+ ],
3243
+ "files": [
3244
+ {
3245
+ "path": "usb-stick.glb",
3246
+ "role": "source",
3247
+ "bytes": 213544,
3248
+ "integrity": "sha256-LrgnDbxxaWzUa2FlRmvRhgMt2jZ0HVIQ96Mp/sE1QwQ="
3249
+ },
3250
+ {
3251
+ "path": "usb-stick-poster.webp",
3252
+ "role": "poster",
3253
+ "bytes": 29242,
3254
+ "integrity": "sha256-E0TOoKzprhHC7RtM1bTcDjnyU3BmYTOCpQ/n6s0Djdg="
3255
+ }
3256
+ ],
3257
+ "themeable": true,
3258
+ "materials": [
3259
+ "primary",
3260
+ "surface",
3261
+ "metal",
3262
+ "ink",
3263
+ "accent",
3264
+ "neutral"
3265
+ ],
3266
+ "license": "MIT",
3267
+ "author": "Mlola"
2076
3268
  }
2077
3269
  ]
2078
3270
  }