Compare commits

...

4 Commits

Author SHA1 Message Date
Alex Dunmow
6afa49d026 bump to 0.5.0 2026-07-06 20:01:58 +08:00
Alex Dunmow
32b39d0543 feat(pastel-dream): reshoot gallery with bundled fonts loaded
Fraunces display + Quicksand body now render (was system fallback).
Home-light remains the curated preview.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 20:01:58 +08:00
Alex Dunmow
dc8d2d5c84 bump to 0.4.1 2026-07-06 19:58:37 +08:00
Alex Dunmow
7e6bd7d81d fix(pastel-dream): load bundled fonts via @font-face + preset typography
Bundled fonts are inert (host does not consume LoadedPlugin.BundledFonts),
so Fraunces and Quicksand were rendering system-font fallbacks. Declare
@font-face against the served /templates/pastel-dream/fonts/*.woff2 paths
and set typography.fontHeading=Fraunces / fontBody=Quicksand in all 5
presets so --font-heading/--font-body resolve to the bundled families.
Gotham@1.2.0 precedent.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 19:58:37 +08:00
10 changed files with 34 additions and 2 deletions

View File

@ -128,6 +128,18 @@ css:
--pd-radius: 1.5rem; --pd-radius: 1.5rem;
} }
/* --- Bundled display faces ---------------------------------------------- */
/* The host does not yet emit @font-face for bundled_fonts
* (LoadedPlugin.BundledFonts is unconsumed), so the theme declares them
* itself against the served asset paths (/templates/pastel-dream/fonts/...).
* Presets set typography.fontHeading/fontBody to template:pastel-dream:<Family>
* so --font-heading (Fraunces display + accents) and --font-body (Quicksand)
* resolve to the bundled families instead of falling through to system fonts. */
@font-face { font-family: 'Fraunces'; src: url('/templates/pastel-dream/fonts/fraunces-latin-400.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Fraunces'; src: url('/templates/pastel-dream/fonts/fraunces-latin-600.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: 'Quicksand'; src: url('/templates/pastel-dream/fonts/quicksand-400.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Quicksand'; src: url('/templates/pastel-dream/fonts/quicksand-700.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }
/* --- Watercolor wash background ----------------------------------------- */ /* --- Watercolor wash background ----------------------------------------- */
/* The signature "morning haze": soft radial pastel washes tinted from the /* The signature "morning haze": soft radial pastel washes tinted from the
* active palette, drifting slowly. Reads as watercolor on cream in light mode * active palette, drifting slowly. Reads as watercolor on cream in light mode

View File

@ -2,7 +2,7 @@
name = "pastel-dream" name = "pastel-dream"
display_name = "Pastel Dream" display_name = "Pastel Dream"
scope = "@themes" scope = "@themes"
version = "0.4.0" version = "0.5.0"
description = "Soft bakery and patisserie theme — watercolor washes, scalloped edges, rounded menu cards, and seasonal specials in blush, berry, and lilac." description = "Soft bakery and patisserie theme — watercolor washes, scalloped edges, rounded menu cards, and seasonal specials in blush, berry, and lilac."
kind = "theme" kind = "theme"
categories = ["templates"] categories = ["templates"]

View File

@ -5,6 +5,10 @@
"description": "Blush rose on warm cream with a mint accent. The default patisserie counter at opening.", "description": "Blush rose on warm cream with a mint accent. The default patisserie counter at opening.",
"theme": { "theme": {
"mode": "both", "mode": "both",
"typography": {
"fontHeading": "template:pastel-dream:Fraunces",
"fontBody": "template:pastel-dream:Quicksand"
},
"lightColors": { "lightColors": {
"background": "30 44% 97%", "background": "30 44% 97%",
"foreground": "335 25% 22%", "foreground": "335 25% 22%",
@ -55,6 +59,10 @@
"description": "Raspberry on ivory with a plum accent. Jam pots and fruit tarts.", "description": "Raspberry on ivory with a plum accent. Jam pots and fruit tarts.",
"theme": { "theme": {
"mode": "both", "mode": "both",
"typography": {
"fontHeading": "template:pastel-dream:Fraunces",
"fontBody": "template:pastel-dream:Quicksand"
},
"lightColors": { "lightColors": {
"background": "350 40% 97%", "background": "350 40% 97%",
"foreground": "345 30% 20%", "foreground": "345 30% 20%",
@ -105,6 +113,10 @@
"description": "Soft sage on oat cream with an apricot accent. Green tea cakes and mochi.", "description": "Soft sage on oat cream with an apricot accent. Green tea cakes and mochi.",
"theme": { "theme": {
"mode": "both", "mode": "both",
"typography": {
"fontHeading": "template:pastel-dream:Fraunces",
"fontBody": "template:pastel-dream:Quicksand"
},
"lightColors": { "lightColors": {
"background": "44 36% 96%", "background": "44 36% 96%",
"foreground": "150 22% 18%", "foreground": "150 22% 18%",
@ -155,6 +167,10 @@
"description": "Lilac on cream with a warm honey accent. Lavender shortbread and glaze.", "description": "Lilac on cream with a warm honey accent. Lavender shortbread and glaze.",
"theme": { "theme": {
"mode": "both", "mode": "both",
"typography": {
"fontHeading": "template:pastel-dream:Fraunces",
"fontBody": "template:pastel-dream:Quicksand"
},
"lightColors": { "lightColors": {
"background": "40 40% 97%", "background": "40 40% 97%",
"foreground": "270 24% 22%", "foreground": "270 24% 22%",
@ -205,6 +221,10 @@
"description": "Warm peach on blossom cream with a rose accent. Stone-fruit galettes in spring.", "description": "Warm peach on blossom cream with a rose accent. Stone-fruit galettes in spring.",
"theme": { "theme": {
"mode": "both", "mode": "both",
"typography": {
"fontHeading": "template:pastel-dream:Fraunces",
"fontBody": "template:pastel-dream:Quicksand"
},
"lightColors": { "lightColors": {
"background": "26 50% 97%", "background": "26 50% 97%",
"foreground": "15 30% 22%", "foreground": "15 30% 22%",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 MiB

After

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 MiB

After

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 MiB

After

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

After

Width:  |  Height:  |  Size: 1.5 MiB