Container queries
ProductCard tilpasser sig egen bredde via @container i stedet for viewport-breakpoints.
Popover/dialog API
Modal/drawer-surfaces bruger native <dialog> + Popover API med React-fallback.
View Transitions
Bløde morphing-overgange (ProductCard → PDP) via document.startViewTransition().
Live Canvas (3D)
A performance-first Three.js hero: four built-in WebGL scenes (floating geometry, particle field, morphing blob, wireframe terrain), auto-tinted from your theme palette, lazy-loaded after paint so Core Web Vitals never regress. Reduced-motion / save-data / no-WebGL all fall back to a clean gradient. The twist: configure it with words — the AI sets scene + intensity via the `three.configure` tool.
Resolvable Genome
A Resolvable Genome: registered copy fields (e.g. footer.tagline) render from override ?? resolved-cache ?? brand anchor, harmonised against your identity anchors. Render never calls an LLM — resolution is triggered deliberately in the admin. Respawn a whole shop's voice from a sentence.
Per-entity voiced copy
PDP/PLP prefer a genome entity-override for a product/category description over the entity's own text. Set overrides via the genome.set_entity_copy tool. Default-off → render byte-identical.
Vertical / Voice presets
Pakkede branche-stemmer (børnehave, tømrer, café, salon) på /admin/verticals — anvend identitets-ankre + forhåndsskrevet genome-copy for at gen-tone forsiden på ét klik, evt. med et foreslået design. Ortogonal til skinnet (bland enhver Voice med ethvert design). Den anvendte copy vises på storefront når genomeResolve er tændt. Default-off: skjuler admin-panelet; intet anvendes før den tændes.
Mixer preview-rute
Aktiverer /<locale>/mixer-preview?design=&vertical= — renderer enhver Skin × Voice-kombination ephemeralt (ingen DB-write, altid noindex), så den offentlige mixer på cartwright.app kan iframe den. Default-off: i produktion 404'er ruten (canary-sikkert); i dev rendrer den altid.
Section layout-override (studio)
AI-agent kan reordere/skjule sektioner af studio-homepage via layoutJson. Andre design-packs ignorerer feltet.
Visual Builder
Admin-only visuelt designerlag (/admin/visual-builder): byg/redigér per-side section-trees via live-preview + inspector. Al mutation går gennem pages.set_layout (tool-registry + audit). Route-mount gated → kræver redeploy.
Design-import
Pull a colour palette from any URL (Firecrawl + AI) into a live theme in ~2 minutes. Clone the vibe of an existing site, then make it yours.
Hoptify-onboarding
Hoptify — Cartwright's tongue-in-cheek pendant to Shopify: a familiar storefront design plus a parody "import from Shopify" onboarding that genuinely brings your look (palette) and products across. A kind nudge off the monthly rent.
Logo-generator (Gemini)
Generate a real raster logo from a prompt via gemini-2.5-flash-image, upload it to Vercel Blob, and set it as your brand mark — in one step, from the admin.
v0 UI-generering
Generér storefront-sektioner via Vercel v0 Platform API (text→UI) som alternativ AI-motor i Vibe Sandbox. v0's kode normaliseres til HTML + saniteres og persisteres som vibeHtml (aldrig TSX-til-disk). Kræver v0-key i /admin/integrations.
Magic Builder
Describe a page in plain language and watch it build itself — section by section, live in the preview. The inverse of code-generators: the prompt can only emit a plan of whitelisted, on-brand section atoms, each filled with Zod-validated data (never a tag, colour or font the model invented). Output lives as governed data — audited, one-click revertible — not throwaway code.
Motion & effekter
Gør siderne 'levende': scroll-drevne reveal-animationer (CSS animation-timeline: view() — kører på compositor-tråden, ingen JS-jank), animeret aurora-gradient + glassmorphism, og et per-sektion effect-vokabular som Magic Builder kan tildele. En shop-preset (subtle/bold/off) skalerer hele feel'en via data-motion på <html>. Alt feature-detected (@supports) + prefers-reduced-motion-safe + falder tilbage til statisk render (RevealOnScroll). Off ⇒ data-motion="off" ⇒ byte-identisk render (canary-safe).