The site is the document
The live homepage is a 2026 HUD site — Three.js glass lattice, GSAP, Lenis — hosted as static Astro. The Corvert Designer playground used to be the homepage; it now lives at /designer as a full-viewport iframe plus overlay chrome. View mode and edit mode are still one canvas.
Why production stays behind Clerk
The real editor loads a workspace page with a JWT, OCC document saves, and publish jobs.
Iframing designer.valta.site would require a shared login and would let strangers
write a live tenant. The playground hydrates from static JSON, sets
capabilities.autosave/publish = false, and no-ops save. Uploads and
other API calls throw before a token is attached.
Embed protocol
The host posts origin-checked enter-edit, exit-edit, and
reset messages. The iframe replies with ready and mode.
CSP frame-ancestors on /playground allows only this host (plus a
placeholder personal domain). Clerk JWT handoff and dashboard token CORS are not reused.
Theme artifacts
The canvas CSS comes from the Atelier theme in corvert-extensions-v2 (hero, work,
about, contact, light/dark tokens). A snapshot script writes
apps/designer/public/playground/portfolio-bootstrap.json so the live page and the
editor cannot drift after a redesign.
What I would do next
- Replace placeholder copy, domain, and contact with the real studio identity.
- Author a dealer homepage in the authenticated designer, then re-run the snapshot.
- Point
PUBLIC_PLAYGROUND_URLat the deployed playground origin.
Source is on the feat/designer-playground and feat/portfolio-theme
branches. Ask if you want it.