@motion-proto/live-tokens 0.65.1 → 0.67.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/CHANGELOG.md +184 -0
  2. package/dist-plugin/{chunk-NDJJORKJ.js → chunk-T4PMCFJN.js} +220 -114
  3. package/dist-plugin/index.cjs +253 -129
  4. package/dist-plugin/index.js +27 -9
  5. package/dist-plugin/migrateData/index.cjs +220 -114
  6. package/dist-plugin/migrateData/index.js +1 -1
  7. package/package.json +8 -1
  8. package/src/editor/bootstrap.ts +12 -0
  9. package/src/editor/core/productionPulse.ts +1 -1
  10. package/src/editor/core/sketch/index.ts +78 -21
  11. package/src/editor/core/sketch/maskField.ts +200 -62
  12. package/src/editor/core/sketch/sketchLayer.ts +10 -4
  13. package/src/editor/core/sketch/sketchRegistry.ts +98 -0
  14. package/src/editor/core/sketch/sketchStore.ts +110 -31
  15. package/src/editor/core/sketch/sketchStyleService.ts +3 -0
  16. package/src/editor/core/sketch/sketchStyles.ts +63 -96
  17. package/src/editor/core/themes/themeInit.ts +4 -13
  18. package/src/editor/docs/content/sketch-mode.md +82 -13
  19. package/src/editor/docs/content.generated.ts +1 -1
  20. package/src/editor/ui/sketch/SketchTab.svelte +219 -74
  21. package/src/live-tokens/data/sketch-styles/dashed.json +47 -0
  22. package/src/live-tokens/data/sketch-styles/dry.json +47 -0
  23. package/src/live-tokens/data/sketch-styles/hatched.json +47 -0
  24. package/src/live-tokens/data/sketch-styles/marker.json +47 -0
  25. package/src/live-tokens/data/sketch-styles/napkin.json +47 -0
  26. package/src/live-tokens/data/sketch-styles/pencil.json +47 -0
  27. package/src/live-tokens/data/sketch-styles/whiteboard.json +47 -0
  28. package/src/live-tokens/data/themes/autumn.json +4 -4
  29. package/src/live-tokens/data/themes/halloween.json +4 -4
  30. package/src/live-tokens/data/themes/midnight-study.json +4 -4
  31. package/src/live-tokens/data/themes/ocean.json +4 -4
  32. package/src/live-tokens/data/themes/royal-velvet.json +4 -4
  33. package/src/live-tokens/data/themes/sketchy.json +4 -4
  34. package/src/live-tokens/data/themes/spring-meadow.json +4 -4
  35. package/src/live-tokens/data/themes/sunset.json +4 -4
  36. package/src/system/components/Button.svelte +2 -2
  37. package/src/system/components/IconButton.svelte +2 -2
  38. package/src/system/styles/fonts.css +6 -6
  39. package/template/src/main.ts +14 -1
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "Marker",
3
+ "settings": {
4
+ "label": "Marker",
5
+ "blurb": "Broad translucent nib gone round twice on the same line, so the overlap darkens and the ink pools where it slows.",
6
+ "fillTravel": 2,
7
+ "strokeTravel": 1.5,
8
+ "wobble": 56,
9
+ "roughness": 3,
10
+ "borderWavelength": 1.3,
11
+ "waveform": 1.4,
12
+ "strokeWidth": 4,
13
+ "doubleStroke": true,
14
+ "retraceOffset": 2.2,
15
+ "retracePass": "copy",
16
+ "fillStyle": "solid",
17
+ "hatchInk": 0.4,
18
+ "strokeStyle": "solid",
19
+ "pressure": 0.2,
20
+ "pressureMod": 0.25,
21
+ "pooling": 2,
22
+ "strokeInk": 0.52,
23
+ "maskOn": true,
24
+ "maskBlobX": 230,
25
+ "maskBlobY": 230,
26
+ "maskBlobLinked": true,
27
+ "maskAngle": 0,
28
+ "maskOutputMin": 0.76,
29
+ "maskOutputMax": 1,
30
+ "maskOctaves": 3,
31
+ "maskGrain": "fractal",
32
+ "maskPosterize": 4,
33
+ "maskSoftness": 0,
34
+ "jitterX": 3,
35
+ "jitterY": 3,
36
+ "jitterRot": 0.8,
37
+ "jitterScale": 0.045,
38
+ "cornerSpread": 10,
39
+ "cornerTravel": 8,
40
+ "iconTravel": 1.25,
41
+ "iconWavelength": 0.625,
42
+ "iconMaskOn": true,
43
+ "iconMaskScale": 4
44
+ },
45
+ "updatedAt": "2026-08-28T14:45:04.324Z",
46
+ "createdAt": "2026-08-28T14:45:04.324Z"
47
+ }
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "Napkin",
3
+ "settings": {
4
+ "label": "Napkin",
5
+ "blurb": "Ballpoint in a hurry. Everything loose at once: a square wave sends every edge to full travel, and the second pass lands wherever it lands.",
6
+ "fillTravel": 3,
7
+ "strokeTravel": 2.25,
8
+ "wobble": 50,
9
+ "roughness": 3,
10
+ "borderWavelength": 1,
11
+ "waveform": 2.5,
12
+ "strokeWidth": 2.25,
13
+ "doubleStroke": true,
14
+ "retraceOffset": 4,
15
+ "retracePass": "reseeded",
16
+ "fillStyle": "solid",
17
+ "hatchInk": 0.4,
18
+ "strokeStyle": "solid",
19
+ "pressure": 0.45,
20
+ "pressureMod": 0.6,
21
+ "pooling": 2.5,
22
+ "strokeInk": 1,
23
+ "maskOn": true,
24
+ "maskBlobX": 150,
25
+ "maskBlobY": 150,
26
+ "maskBlobLinked": true,
27
+ "maskAngle": 0,
28
+ "maskOutputMin": 0.43,
29
+ "maskOutputMax": 0.95,
30
+ "maskOctaves": 2,
31
+ "maskGrain": "fractal",
32
+ "maskPosterize": 2,
33
+ "maskSoftness": 10,
34
+ "jitterX": 6,
35
+ "jitterY": 6,
36
+ "jitterRot": 1.8,
37
+ "jitterScale": 0.1,
38
+ "cornerSpread": 20,
39
+ "cornerTravel": 17,
40
+ "iconTravel": 2.25,
41
+ "iconWavelength": 0.625,
42
+ "iconMaskOn": true,
43
+ "iconMaskScale": 3.6
44
+ },
45
+ "updatedAt": "2026-08-28T15:47:36.934Z",
46
+ "createdAt": "2026-08-28T15:47:36.934Z"
47
+ }
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "Pencil",
3
+ "settings": {
4
+ "label": "Pencil",
5
+ "blurb": "Two graphite passes on their own seeds, so the outline disagrees with itself the way a hand coming back round does. Tight grain, little else.",
6
+ "fillTravel": 0.75,
7
+ "strokeTravel": 1.25,
8
+ "wobble": 30,
9
+ "roughness": 3,
10
+ "borderWavelength": 1,
11
+ "waveform": 1,
12
+ "strokeWidth": 1.25,
13
+ "doubleStroke": true,
14
+ "retraceOffset": 1.5,
15
+ "retracePass": "reseeded",
16
+ "fillStyle": "solid",
17
+ "hatchInk": 0.4,
18
+ "strokeStyle": "solid",
19
+ "pressure": 0.15,
20
+ "pressureMod": 0.3,
21
+ "pooling": 0,
22
+ "strokeInk": 0.85,
23
+ "maskOn": true,
24
+ "maskBlobX": 525,
25
+ "maskBlobY": 47,
26
+ "maskBlobLinked": false,
27
+ "maskAngle": 67,
28
+ "maskOutputMin": 0.59,
29
+ "maskOutputMax": 1,
30
+ "maskOctaves": 3,
31
+ "maskGrain": "turbulence",
32
+ "maskPosterize": 1,
33
+ "maskSoftness": 0,
34
+ "jitterX": 1.5,
35
+ "jitterY": 1.5,
36
+ "jitterRot": 0.35,
37
+ "jitterScale": 0.022,
38
+ "cornerSpread": 6,
39
+ "cornerTravel": 4.5,
40
+ "iconTravel": 0.75,
41
+ "iconWavelength": 0.625,
42
+ "iconMaskOn": true,
43
+ "iconMaskScale": 1
44
+ },
45
+ "updatedAt": "2026-08-28T14:35:06.291Z",
46
+ "createdAt": "2026-08-28T14:35:06.291Z"
47
+ }
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "Whiteboard",
3
+ "settings": {
4
+ "label": "Whiteboard",
5
+ "blurb": "The fattest nib on glass. One long smooth undulation, and a veined mask that streaks the fill like a half-wiped board.",
6
+ "fillTravel": 2.5,
7
+ "strokeTravel": 2.5,
8
+ "wobble": 90,
9
+ "roughness": 1,
10
+ "borderWavelength": 1.5,
11
+ "waveform": 1,
12
+ "strokeWidth": 5.5,
13
+ "doubleStroke": true,
14
+ "retraceOffset": 3,
15
+ "retracePass": "copy",
16
+ "fillStyle": "solid",
17
+ "hatchInk": 0.4,
18
+ "strokeStyle": "solid",
19
+ "pressure": 0.15,
20
+ "pressureMod": 0.15,
21
+ "pooling": 3.5,
22
+ "strokeInk": 0.66,
23
+ "maskOn": true,
24
+ "maskBlobX": 180,
25
+ "maskBlobY": 38,
26
+ "maskBlobLinked": false,
27
+ "maskAngle": 0,
28
+ "maskOutputMin": 0.68,
29
+ "maskOutputMax": 1,
30
+ "maskOctaves": 3,
31
+ "maskGrain": "turbulence",
32
+ "maskPosterize": 3,
33
+ "maskSoftness": 0,
34
+ "jitterX": 4.5,
35
+ "jitterY": 4.5,
36
+ "jitterRot": 3,
37
+ "jitterScale": 0.07,
38
+ "cornerSpread": 14,
39
+ "cornerTravel": 11,
40
+ "iconTravel": 1.75,
41
+ "iconWavelength": 0.625,
42
+ "iconMaskOn": true,
43
+ "iconMaskScale": 1.5
44
+ },
45
+ "updatedAt": "2026-08-28T14:46:58.140Z",
46
+ "createdAt": "2026-08-28T14:46:58.140Z"
47
+ }
@@ -2655,7 +2655,7 @@
2655
2655
  "createdAt": "2026-05-10T19:28:06.893Z",
2656
2656
  "updatedAt": "2026-08-19T22:39:32.785Z",
2657
2657
  "aliases": {
2658
- "--button-primary-surface": "--surface-brand-high",
2658
+ "--button-primary-surface": "--surface-brand",
2659
2659
  "--button-primary-text": "--text-primary",
2660
2660
  "--button-primary-text-font-family": "--font-sans",
2661
2661
  "--button-primary-text-font-size": "--font-size-lg",
@@ -2672,7 +2672,7 @@
2672
2672
  "--button-primary-disabled-text": "--text-tertiary",
2673
2673
  "--button-primary-disabled-border": "--border-neutral-faint",
2674
2674
  "--button-primary-icon-size": "--icon-size-md",
2675
- "--button-secondary-surface": "--surface-neutral-high",
2675
+ "--button-secondary-surface": "--surface-neutral",
2676
2676
  "--button-secondary-text": "--text-primary",
2677
2677
  "--button-secondary-text-font-family": "--font-sans",
2678
2678
  "--button-secondary-text-font-size": "--font-size-lg",
@@ -3064,7 +3064,7 @@
3064
3064
  "createdAt": "2026-06-14T00:00:00.000Z",
3065
3065
  "updatedAt": "2026-08-19T22:39:32.785Z",
3066
3066
  "aliases": {
3067
- "--iconbutton-primary-surface": "--surface-brand-high",
3067
+ "--iconbutton-primary-surface": "--surface-brand",
3068
3068
  "--iconbutton-primary-icon": "--text-primary",
3069
3069
  "--iconbutton-primary-border": "--border-brand",
3070
3070
  "--iconbutton-primary-border-width": "--border-width-1",
@@ -3077,7 +3077,7 @@
3077
3077
  "--iconbutton-primary-disabled-surface": "--color-neutral-700",
3078
3078
  "--iconbutton-primary-disabled-icon": "--text-tertiary",
3079
3079
  "--iconbutton-primary-disabled-border": "--border-neutral-faint",
3080
- "--iconbutton-secondary-surface": "--surface-neutral-high",
3080
+ "--iconbutton-secondary-surface": "--surface-neutral",
3081
3081
  "--iconbutton-secondary-icon": "--text-primary",
3082
3082
  "--iconbutton-secondary-border": "--border-neutral",
3083
3083
  "--iconbutton-secondary-border-width": "--border-width-1",
@@ -2694,7 +2694,7 @@
2694
2694
  "createdAt": "2026-05-10T19:28:06.893Z",
2695
2695
  "updatedAt": "2026-08-19T22:39:32.785Z",
2696
2696
  "aliases": {
2697
- "--button-primary-surface": "--surface-brand-high",
2697
+ "--button-primary-surface": "--surface-brand",
2698
2698
  "--button-primary-text": "--text-primary",
2699
2699
  "--button-primary-text-font-family": "--font-sans",
2700
2700
  "--button-primary-text-font-size": "--font-size-lg",
@@ -2711,7 +2711,7 @@
2711
2711
  "--button-primary-disabled-text": "--text-tertiary",
2712
2712
  "--button-primary-disabled-border": "--border-neutral-faint",
2713
2713
  "--button-primary-icon-size": "--icon-size-md",
2714
- "--button-secondary-surface": "--surface-neutral-high",
2714
+ "--button-secondary-surface": "--surface-neutral",
2715
2715
  "--button-secondary-text": "--text-primary",
2716
2716
  "--button-secondary-text-font-family": "--font-sans",
2717
2717
  "--button-secondary-text-font-size": "--font-size-lg",
@@ -3103,7 +3103,7 @@
3103
3103
  "createdAt": "2026-06-14T00:00:00.000Z",
3104
3104
  "updatedAt": "2026-08-19T22:39:32.785Z",
3105
3105
  "aliases": {
3106
- "--iconbutton-primary-surface": "--surface-brand-high",
3106
+ "--iconbutton-primary-surface": "--surface-brand",
3107
3107
  "--iconbutton-primary-icon": "--text-primary",
3108
3108
  "--iconbutton-primary-border": "--border-brand",
3109
3109
  "--iconbutton-primary-border-width": "--border-width-3",
@@ -3116,7 +3116,7 @@
3116
3116
  "--iconbutton-primary-disabled-surface": "--color-neutral-700",
3117
3117
  "--iconbutton-primary-disabled-icon": "--text-tertiary",
3118
3118
  "--iconbutton-primary-disabled-border": "--border-neutral-faint",
3119
- "--iconbutton-secondary-surface": "--surface-neutral-high",
3119
+ "--iconbutton-secondary-surface": "--surface-neutral",
3120
3120
  "--iconbutton-secondary-icon": "--text-primary",
3121
3121
  "--iconbutton-secondary-border": "--border-neutral",
3122
3122
  "--iconbutton-secondary-border-width": "--border-width-3",
@@ -2711,7 +2711,7 @@
2711
2711
  "createdAt": "2026-05-10T19:28:06.893Z",
2712
2712
  "updatedAt": "2026-08-20T00:00:00.000Z",
2713
2713
  "aliases": {
2714
- "--button-primary-surface": "--surface-brand-high",
2714
+ "--button-primary-surface": "--surface-brand",
2715
2715
  "--button-primary-text": "--text-primary",
2716
2716
  "--button-primary-text-font-family": "--font-sans",
2717
2717
  "--button-primary-text-font-size": "--font-size-lg",
@@ -2728,7 +2728,7 @@
2728
2728
  "--button-primary-disabled-text": "--text-tertiary",
2729
2729
  "--button-primary-disabled-border": "--border-neutral-faint",
2730
2730
  "--button-primary-icon-size": "--icon-size-md",
2731
- "--button-secondary-surface": "--surface-neutral-high",
2731
+ "--button-secondary-surface": "--surface-neutral",
2732
2732
  "--button-secondary-text": "--text-primary",
2733
2733
  "--button-secondary-text-font-family": "--font-sans",
2734
2734
  "--button-secondary-text-font-size": "--font-size-lg",
@@ -3121,7 +3121,7 @@
3121
3121
  "createdAt": "2026-06-14T00:00:00.000Z",
3122
3122
  "updatedAt": "2026-08-19T22:39:32.785Z",
3123
3123
  "aliases": {
3124
- "--iconbutton-primary-surface": "--surface-brand-high",
3124
+ "--iconbutton-primary-surface": "--surface-brand",
3125
3125
  "--iconbutton-primary-icon": "--text-primary",
3126
3126
  "--iconbutton-primary-border": "--border-brand",
3127
3127
  "--iconbutton-primary-border-width": "--border-width-1",
@@ -3134,7 +3134,7 @@
3134
3134
  "--iconbutton-primary-disabled-surface": "--color-neutral-700",
3135
3135
  "--iconbutton-primary-disabled-icon": "--text-tertiary",
3136
3136
  "--iconbutton-primary-disabled-border": "--border-neutral-faint",
3137
- "--iconbutton-secondary-surface": "--surface-neutral-high",
3137
+ "--iconbutton-secondary-surface": "--surface-neutral",
3138
3138
  "--iconbutton-secondary-icon": "--text-primary",
3139
3139
  "--iconbutton-secondary-border": "--border-neutral",
3140
3140
  "--iconbutton-secondary-border-width": "--border-width-1",
@@ -2654,7 +2654,7 @@
2654
2654
  "createdAt": "2026-05-10T19:28:06.893Z",
2655
2655
  "updatedAt": "2026-08-19T22:39:32.785Z",
2656
2656
  "aliases": {
2657
- "--button-primary-surface": "--surface-brand-high",
2657
+ "--button-primary-surface": "--surface-brand",
2658
2658
  "--button-primary-text": "--text-primary",
2659
2659
  "--button-primary-text-font-family": "--font-sans",
2660
2660
  "--button-primary-text-font-size": "--font-size-lg",
@@ -2671,7 +2671,7 @@
2671
2671
  "--button-primary-disabled-text": "--text-tertiary",
2672
2672
  "--button-primary-disabled-border": "--border-neutral-faint",
2673
2673
  "--button-primary-icon-size": "--icon-size-md",
2674
- "--button-secondary-surface": "--surface-neutral-high",
2674
+ "--button-secondary-surface": "--surface-neutral",
2675
2675
  "--button-secondary-text": "--text-primary",
2676
2676
  "--button-secondary-text-font-family": "--font-sans",
2677
2677
  "--button-secondary-text-font-size": "--font-size-lg",
@@ -3063,7 +3063,7 @@
3063
3063
  "createdAt": "2026-06-14T00:00:00.000Z",
3064
3064
  "updatedAt": "2026-08-19T22:39:32.785Z",
3065
3065
  "aliases": {
3066
- "--iconbutton-primary-surface": "--surface-brand-high",
3066
+ "--iconbutton-primary-surface": "--surface-brand",
3067
3067
  "--iconbutton-primary-icon": "--text-primary",
3068
3068
  "--iconbutton-primary-border": "--border-brand",
3069
3069
  "--iconbutton-primary-border-width": "--border-width-1",
@@ -3076,7 +3076,7 @@
3076
3076
  "--iconbutton-primary-disabled-surface": "--color-neutral-700",
3077
3077
  "--iconbutton-primary-disabled-icon": "--text-tertiary",
3078
3078
  "--iconbutton-primary-disabled-border": "--border-neutral-faint",
3079
- "--iconbutton-secondary-surface": "--surface-neutral-high",
3079
+ "--iconbutton-secondary-surface": "--surface-neutral",
3080
3080
  "--iconbutton-secondary-icon": "--text-primary",
3081
3081
  "--iconbutton-secondary-border": "--border-neutral",
3082
3082
  "--iconbutton-secondary-border-width": "--border-width-1",
@@ -2685,7 +2685,7 @@
2685
2685
  "createdAt": "2026-05-10T19:28:06.893Z",
2686
2686
  "updatedAt": "2026-08-19T22:39:32.785Z",
2687
2687
  "aliases": {
2688
- "--button-primary-surface": "--surface-brand-high",
2688
+ "--button-primary-surface": "--surface-brand",
2689
2689
  "--button-primary-text": "--text-primary",
2690
2690
  "--button-primary-text-font-family": "--font-sans",
2691
2691
  "--button-primary-text-font-size": "--font-size-lg",
@@ -2702,7 +2702,7 @@
2702
2702
  "--button-primary-disabled-text": "--text-tertiary",
2703
2703
  "--button-primary-disabled-border": "--border-neutral-faint",
2704
2704
  "--button-primary-icon-size": "--icon-size-md",
2705
- "--button-secondary-surface": "--surface-neutral-high",
2705
+ "--button-secondary-surface": "--surface-neutral",
2706
2706
  "--button-secondary-text": "--text-primary",
2707
2707
  "--button-secondary-text-font-family": "--font-sans",
2708
2708
  "--button-secondary-text-font-size": "--font-size-lg",
@@ -3094,7 +3094,7 @@
3094
3094
  "createdAt": "2026-06-14T00:00:00.000Z",
3095
3095
  "updatedAt": "2026-08-19T22:39:32.785Z",
3096
3096
  "aliases": {
3097
- "--iconbutton-primary-surface": "--surface-brand-high",
3097
+ "--iconbutton-primary-surface": "--surface-brand",
3098
3098
  "--iconbutton-primary-icon": "--text-primary",
3099
3099
  "--iconbutton-primary-border": "--border-brand",
3100
3100
  "--iconbutton-primary-border-width": "--border-width-2",
@@ -3107,7 +3107,7 @@
3107
3107
  "--iconbutton-primary-disabled-surface": "--color-neutral-700",
3108
3108
  "--iconbutton-primary-disabled-icon": "--text-tertiary",
3109
3109
  "--iconbutton-primary-disabled-border": "--border-neutral-faint",
3110
- "--iconbutton-secondary-surface": "--surface-neutral-high",
3110
+ "--iconbutton-secondary-surface": "--surface-neutral",
3111
3111
  "--iconbutton-secondary-icon": "--text-primary",
3112
3112
  "--iconbutton-secondary-border": "--border-neutral",
3113
3113
  "--iconbutton-secondary-border-width": "--border-width-2",
@@ -2668,7 +2668,7 @@
2668
2668
  "createdAt": "2026-05-10T19:28:06.893Z",
2669
2669
  "updatedAt": "2026-08-25T01:13:11.520Z",
2670
2670
  "aliases": {
2671
- "--button-primary-surface": "--surface-brand-high",
2671
+ "--button-primary-surface": "--surface-brand",
2672
2672
  "--button-primary-text": "--text-primary",
2673
2673
  "--button-primary-text-font-family": "--font-sans",
2674
2674
  "--button-primary-text-font-size": "--font-size-lg",
@@ -2685,7 +2685,7 @@
2685
2685
  "--button-primary-disabled-text": "--text-tertiary",
2686
2686
  "--button-primary-disabled-border": "--border-neutral-faint",
2687
2687
  "--button-primary-icon-size": "--icon-size-md",
2688
- "--button-secondary-surface": "--surface-neutral-high",
2688
+ "--button-secondary-surface": "--surface-neutral",
2689
2689
  "--button-secondary-text": "--text-primary",
2690
2690
  "--button-secondary-text-font-family": "--font-sans",
2691
2691
  "--button-secondary-text-font-size": "--font-size-lg",
@@ -3077,7 +3077,7 @@
3077
3077
  "createdAt": "2026-06-14T00:00:00.000Z",
3078
3078
  "updatedAt": "2026-08-25T01:13:11.520Z",
3079
3079
  "aliases": {
3080
- "--iconbutton-primary-surface": "--surface-brand-high",
3080
+ "--iconbutton-primary-surface": "--surface-brand",
3081
3081
  "--iconbutton-primary-icon": "--text-primary",
3082
3082
  "--iconbutton-primary-border": "--border-brand",
3083
3083
  "--iconbutton-primary-border-width": "--border-width-1",
@@ -3090,7 +3090,7 @@
3090
3090
  "--iconbutton-primary-disabled-surface": "--color-neutral-700",
3091
3091
  "--iconbutton-primary-disabled-icon": "--text-tertiary",
3092
3092
  "--iconbutton-primary-disabled-border": "--border-neutral-faint",
3093
- "--iconbutton-secondary-surface": "--surface-neutral-high",
3093
+ "--iconbutton-secondary-surface": "--surface-neutral",
3094
3094
  "--iconbutton-secondary-icon": "--text-primary",
3095
3095
  "--iconbutton-secondary-border": "--border-neutral",
3096
3096
  "--iconbutton-secondary-border-width": "--border-width-1",
@@ -2641,7 +2641,7 @@
2641
2641
  "createdAt": "2026-05-10T19:28:06.893Z",
2642
2642
  "updatedAt": "2026-08-19T22:39:32.785Z",
2643
2643
  "aliases": {
2644
- "--button-primary-surface": "--surface-brand-high",
2644
+ "--button-primary-surface": "--surface-brand",
2645
2645
  "--button-primary-text": "--text-primary",
2646
2646
  "--button-primary-text-font-family": "--font-sans",
2647
2647
  "--button-primary-text-font-size": "--font-size-lg",
@@ -2658,7 +2658,7 @@
2658
2658
  "--button-primary-disabled-text": "--text-tertiary",
2659
2659
  "--button-primary-disabled-border": "--border-neutral-faint",
2660
2660
  "--button-primary-icon-size": "--icon-size-md",
2661
- "--button-secondary-surface": "--surface-neutral-high",
2661
+ "--button-secondary-surface": "--surface-neutral",
2662
2662
  "--button-secondary-text": "--text-primary",
2663
2663
  "--button-secondary-text-font-family": "--font-sans",
2664
2664
  "--button-secondary-text-font-size": "--font-size-lg",
@@ -3050,7 +3050,7 @@
3050
3050
  "createdAt": "2026-06-14T00:00:00.000Z",
3051
3051
  "updatedAt": "2026-08-19T22:39:32.785Z",
3052
3052
  "aliases": {
3053
- "--iconbutton-primary-surface": "--surface-brand-high",
3053
+ "--iconbutton-primary-surface": "--surface-brand",
3054
3054
  "--iconbutton-primary-icon": "--text-primary",
3055
3055
  "--iconbutton-primary-border": "--border-brand",
3056
3056
  "--iconbutton-primary-border-width": "--border-width-1",
@@ -3063,7 +3063,7 @@
3063
3063
  "--iconbutton-primary-disabled-surface": "--color-neutral-700",
3064
3064
  "--iconbutton-primary-disabled-icon": "--text-tertiary",
3065
3065
  "--iconbutton-primary-disabled-border": "--border-neutral-faint",
3066
- "--iconbutton-secondary-surface": "--surface-neutral-high",
3066
+ "--iconbutton-secondary-surface": "--surface-neutral",
3067
3067
  "--iconbutton-secondary-icon": "--text-primary",
3068
3068
  "--iconbutton-secondary-border": "--border-neutral",
3069
3069
  "--iconbutton-secondary-border-width": "--border-width-1",
@@ -2693,7 +2693,7 @@
2693
2693
  "createdAt": "2026-05-10T19:28:06.893Z",
2694
2694
  "updatedAt": "2026-08-19T22:39:32.785Z",
2695
2695
  "aliases": {
2696
- "--button-primary-surface": "--surface-brand-high",
2696
+ "--button-primary-surface": "--surface-brand",
2697
2697
  "--button-primary-text": "--text-primary",
2698
2698
  "--button-primary-text-font-family": "--font-sans",
2699
2699
  "--button-primary-text-font-size": "--font-size-lg",
@@ -2710,7 +2710,7 @@
2710
2710
  "--button-primary-disabled-text": "--text-tertiary",
2711
2711
  "--button-primary-disabled-border": "--border-neutral-faint",
2712
2712
  "--button-primary-icon-size": "--icon-size-md",
2713
- "--button-secondary-surface": "--surface-neutral-high",
2713
+ "--button-secondary-surface": "--surface-neutral",
2714
2714
  "--button-secondary-text": "--text-primary",
2715
2715
  "--button-secondary-text-font-family": "--font-sans",
2716
2716
  "--button-secondary-text-font-size": "--font-size-lg",
@@ -3102,7 +3102,7 @@
3102
3102
  "createdAt": "2026-06-14T00:00:00.000Z",
3103
3103
  "updatedAt": "2026-08-19T22:39:32.785Z",
3104
3104
  "aliases": {
3105
- "--iconbutton-primary-surface": "--surface-brand-high",
3105
+ "--iconbutton-primary-surface": "--surface-brand",
3106
3106
  "--iconbutton-primary-icon": "--text-primary",
3107
3107
  "--iconbutton-primary-border": "--border-brand",
3108
3108
  "--iconbutton-primary-border-width": "--border-width-1",
@@ -3115,7 +3115,7 @@
3115
3115
  "--iconbutton-primary-disabled-surface": "--color-neutral-700",
3116
3116
  "--iconbutton-primary-disabled-icon": "--text-tertiary",
3117
3117
  "--iconbutton-primary-disabled-border": "--border-neutral-faint",
3118
- "--iconbutton-secondary-surface": "--surface-neutral-high",
3118
+ "--iconbutton-secondary-surface": "--surface-neutral",
3119
3119
  "--iconbutton-secondary-icon": "--text-primary",
3120
3120
  "--iconbutton-secondary-border": "--border-neutral",
3121
3121
  "--iconbutton-secondary-border-width": "--border-width-1",
@@ -74,7 +74,7 @@
74
74
  --button-shimmer: block;
75
75
 
76
76
  /* Primary */
77
- --button-primary-surface: var(--surface-brand-high);
77
+ --button-primary-surface: var(--surface-brand);
78
78
  --button-primary-text: var(--text-primary);
79
79
  --button-primary-text-font-family: var(--font-sans);
80
80
  --button-primary-text-font-size: var(--font-size-lg);
@@ -93,7 +93,7 @@
93
93
  --button-primary-icon-size: var(--icon-size-md);
94
94
 
95
95
  /* Secondary */
96
- --button-secondary-surface: var(--surface-neutral-high);
96
+ --button-secondary-surface: var(--surface-neutral);
97
97
  --button-secondary-text: var(--text-primary);
98
98
  --button-secondary-text-font-family: var(--font-sans);
99
99
  --button-secondary-text-font-size: var(--font-size-lg);
@@ -49,7 +49,7 @@
49
49
 
50
50
  :global(:root) {
51
51
  /* Primary */
52
- --iconbutton-primary-surface: var(--surface-brand-high);
52
+ --iconbutton-primary-surface: var(--surface-brand);
53
53
  --iconbutton-primary-icon: var(--text-primary);
54
54
  --iconbutton-primary-border: var(--border-brand);
55
55
  --iconbutton-primary-border-width: var(--border-width-1);
@@ -64,7 +64,7 @@
64
64
  --iconbutton-primary-disabled-border: var(--border-neutral-faint);
65
65
 
66
66
  /* Secondary */
67
- --iconbutton-secondary-surface: var(--surface-neutral-high);
67
+ --iconbutton-secondary-surface: var(--surface-neutral);
68
68
  --iconbutton-secondary-icon: var(--text-primary);
69
69
  --iconbutton-secondary-border: var(--border-neutral);
70
70
  --iconbutton-secondary-border-width: var(--border-width-1);
@@ -4,11 +4,11 @@
4
4
  /* Adobe Typekit — fira-code */
5
5
  @import url('https://use.typekit.net/jes8oow.css');
6
6
 
7
- /* Google Fonts — GFS Didot */
8
- @import url('https://fonts.googleapis.com/css2?family=GFS+Didot&display=swap');
7
+ /* Google Fonts — Manrope */
8
+ @import url('https://fonts.googleapis.com/css2?family=Manrope:wght@200..800&display=swap');
9
9
 
10
- /* Google Fonts — Comfortaa */
11
- @import url('https://fonts.googleapis.com/css2?family=Comfortaa:wght@300..700&display=swap');
10
+ /* Google Fonts — Arvo */
11
+ @import url('https://fonts.googleapis.com/css2?family=Arvo:ital,wght@0,400;0,700;1,400;1,700&display=swap');
12
12
 
13
- /* Google Fonts — Figtree */
14
- @import url('https://fonts.googleapis.com/css2?family=Figtree:wght@300..900&display=swap');
13
+ /* Google Fonts — GFS Didot */
14
+ @import url('https://fonts.googleapis.com/css2?family=GFS+Didot&display=swap');
@@ -9,4 +9,17 @@ import App from './App.svelte';
9
9
 
10
10
  configureEditor({ storagePrefix: 'app-' });
11
11
 
12
- bootLiveTokens(App, '#app');
12
+ /** The sketchstyles saved in this project, registered so they reach a built
13
+ site. The editor re-reads the directory over the dev API; this snapshot is
14
+ what a build has instead. */
15
+ const sketchFiles = import.meta.glob<{ name?: string; settings: unknown }>(
16
+ './live-tokens/data/sketch-styles/*.json',
17
+ { eager: true, import: 'default' },
18
+ );
19
+
20
+ const sketchLooks = Object.entries(sketchFiles).map(([path, file]) => {
21
+ const id = path.split('/').pop()!.replace('.json', '');
22
+ return { id, label: file.name || id, settings: file.settings };
23
+ });
24
+
25
+ bootLiveTokens(App, '#app', { sketchLooks });