2026-08-19 — Public theme customizer

Summary

Guests can preview and name a bounded site theme on /theme, with a deeper editor at /theme/editor. The public Nabla live preview (/dev/nabla) exposes the full 10-slot wells plus EDPT/EHLT extrusion, can apply the look to header/hero for the session, and persists Nabla state with named theme submissions. The last three themes show as compact token swatches under the footer Theme link. Developers review the catalog at /dev/themes.

Highlights

  • Public hub /theme: scoped header/search/spline preview, Nabla wordmark lockup linking to /dev/nabla, link to /theme/editor.

  • /dev/nabla live preview: candidate palettes, lockup/size/scheme/surface, per-letter 10-slot color wells (copy-to-all), EDPT/EHLT sliders (base + amplitude when wave is on), Apply to site, and save named theme.

  • Save requires a name. Next.js POST /api/themes reads Vercel IP geo headers and the Better Auth session (username, email, or anon), then writes Convex themeSubmissions (optional nabla payload).

  • Session apply uses a client store + @font-palette-values for header/hero wordmarks (siteLook); restores from sessionStorage and from ?theme= loads.

  • Footer Help column: Theme link plus three 32px swatches. Click opens /theme?theme=<id>.

  • Gated catalog /dev/themes: chrome preview, Nabla lockup when present, name, submitter, city/region/country.