The Figma shader you flattened to a PNG now ships as code

Figma's shaders now animate, publish to the Community, and leave through MCP as a React runtime, and Framer says Fable 5.1 is its model for shaders and effects. The background you used to flatten is turning into a web material.

Get the next drop by feedFollow @artdirdaily

  1. 01Art direction
  2. 02Tooling
  3. 03Technique
  4. 04Workflow
  5. 05Design move
  6. 06Prompt Lab
  7. 07Field note
  8. 08Sources

01Today's Art Direction

Style

The Material Drop

A creator's drop page for a shader pack: a dichroic-film photograph under a measured scrim, monospace headlines on glacier blue, and a launch-stage rail that doubles as the table of contents.

A drop page is the creator economy's landing page: one product, one date, one list to join. Here the product is a pack of shader fills, so the hero is a photograph of the thing shaders imitate, a sheet of dichroic film, with the headline set over a scrim measured for contrast rather than guessed. The eight launch stages along the hero's edge become a sticky spine beside the reading column that fills in as you scroll, items sit in drop rows with a solid status label instead of cards, and the page returns to a flat glacier-blue field the moment the reading starts. Spectral color lives only in the photographs and three fills built in CSS; the chrome stays navy and one cobalt.

  • Vocabularydichroic film
  • measured scrim
  • launch-stage rail
  • drop rows
  • status labels
  • CSS fills
  • monospace display
  • glacier ground

02Tooling

Nine small square dichroic acrylic swatch chips in a loose grid on pale blue paper, one turned slightly out of line.
What is in the pack: swatch chips of the material the fills imitate, photographed in the same light as the hero.

Shipped Sep 1

Figma's shaders now move, publish, and leave the file as React

Figma has extended the generative plugins and shaders it launched at Config. The design agent can now build motion and mouse reactivity into any shader effect or fill, finished shaders and plugins publish to the Figma Community or privately inside an Organization plan, and a code viewer lets you download the source to keep editing in an agent of your choice, per Rogie King's account of the build.

The handoff change is the one to read twice: copy a frame with a shader applied into an external agent through the MCP server, and the generated React code renders the shader itself instead of a flattened export. The release notes carry the availability details, and Issue 051 covered the Config launch these updates build on.

Shipped Sep 2

Framer says Fable 5.1 is its model for shaders, effects, and interactions

Framer added Anthropic's Fable 5.1 to its Agent model picker and said in a short LinkedIn announcement that it has found the model particularly capable at shaders, effects, and interactions, the parts of a generated site that usually come out static. No benchmarks or metering details yet; the practical distinction is which jobs Framer suggests handing it. It is also the model credited in this issue's colophon.

Shipped Sep 2

Webflow's builder keynote: AI code components you can edit on the canvas

A day after Source, covered in yesterday's issue, Webflow's first Builder Keynote stayed on the canvas. Code components generated by the Assistant can now be edited visually, element by element, in the Style panel, components drop into CMS rich text and take per-item props, and a breakpoint canvas shows every breakpoint side by side, per the roundup. Popovers, default components for slots, style props, and agentic translation are listed as coming soon.

03Technique

Sheen
Frost
Grain
Three fills built in CSS alone: a conic gradient, two layered radial gradients, and SVG turbulence grain. Hover or focus shifts the angle, the spot, or the grain over 600ms, the same move an interactive shader makes.

Docs

Shaders are not image assets, says Figma's MCP guidance

The developer docs spell out what the export means for design-to-code. When a selection contains shader fills or effects, the design-context call now includes a lightweight shader runtime written as React components, so frames that used to arrive as a rasterized or CSS-approximated background carry a real runtime. The guidance is blunt about the failure mode: left to its own judgment, an agent reaches for a gradient or a blur that looks roughly right, so the prompt has to tell it to use the runtime and shader source directly. HTML-in-Canvas is required for display, and projects outside React need a translation step.

Shipped Sep 3

Figma color variables can now carry an opacity variable

Opacity can be set on a color variable with a number variable, scoped for use in color variables, and aliased while the color stays linked to the library, so disabled states, overlays, and scrims update across a system without detaching anything. The scrim over today's hero is exactly the kind of value that belongs in a number rather than a hand-tuned guess. Figma's release note has the details.

Note Sep 2

You do not need initial-scale in your viewport tag any more

Declan Chidlow traces the viewport meta tag back to the 2007 iPhone keynote and argues that the initial-scale value only ever worked around zoom bugs in old iOS and a few other browsers. Modern browsers need the width set to the device width and nothing else, and this issue ships that way. The note runs a few paragraphs.

04Workflow

Shipped Sep 1

Lovable will find, buy, and connect a domain from the chat

Ask a Lovable project for a custom domain and it lists available names with prices, connects one you already own, and shows a confirmation card before it buys or connects anything. Purchases are limited to workspace admins and owners on paid plans, per the changelog. For a freelancer that is one less tab between a finished page and a live one.

Method Sep 1

Seed strings: how to get a model to stop designing the same page

Anshu Chimala, who spent twelve years on prototyping and design teams at Apple, argues that a model cannot act randomly, so variety has to come from outside it: have it generate a long random string in a shell, derive the creative direction from patterns in the string, and never show the string on the page. The technique comes from Sakana AI's String Seed of Thought paper, and this issue was art directed with it. The essay on Lenny's Newsletter continues past a paywall.

05Design Move

Borrow this pattern

The measured scrim

A full-bleed photograph on the hero and nowhere else, with a two-layer scrim over it: a flat tint of the page ground sized to the text block, plus a directional gradient that fades toward the image's quiet side. It suits any page that sells a physical thing or a place: a product drop, a listing, a restaurant, a venue.

What keeps it honest: measure the headline's contrast against the busiest crop of the photograph, at desktop and at 390px, and store the tint's opacity as one number you can change in one place. Body copy never runs over the photo; the page returns to a flat field at the fold, so the image does one job and the reading does the rest.

.hero-scrim {
  --tint: 227 235 242;  /* the page ground */
  --tint-a: .92;        /* measured, not guessed */
  background: linear-gradient(90deg,
    rgb(var(--tint) / var(--tint-a)) 0 44%,
    rgb(var(--tint) / .62) 58%,
    rgb(var(--tint) / 0) 78%);
}
@media (max-width: 640px) {
  .hero-scrim {
    background: linear-gradient(180deg,
      rgb(var(--tint) / .15) 34%,
      rgb(var(--tint) / .94) 52%);
  }
}

06Prompt Lab

Recreate today's page

A copy-pasteable prompt for a drop page in this visual system, guardrails included. It runs in Claude Code, Cursor, Framer, Lovable, v0, and Bolt, and in Beaver Builder AI.

Show the full prompt
Build a creator drop page for an independent designer releasing a pack of shader fills to a design-tool community. One product, one date, one list to join. Page archetype: creator drop and waitlist landing page, brand and lifestyle register, light cool ground.

Structure, top to bottom:
1. A plain top nav on the flat page ground: wordmark left, three text links right, in a monospace at 13px.
2. A full-bleed photographic hero about 85 percent of the viewport tall: a still-life photograph of pale dichroic iridescent film on glacier-blue paper with quiet negative space on the left. Over the quiet side, a two-layer scrim: a flat tint of the page ground at about 90 percent opacity sized to the text block, plus a gradient from that tint to transparent toward the busy side of the image. Inside the scrim: an inline byline sentence (drop number, date, read time), a headline in a semi-condensed monospace at 30 to 56px, a two-sentence deck in the serif, and two text-link calls to action, one filled cobalt. Check the headline's contrast against the busiest crop at desktop and at 390px; on mobile switch the scrim to a bottom-up gradient.
3. Along the hero's bottom edge, a launch-stage rail: eight numbered cells that anchor to the eight sections, on a translucent band with a hairline top. Below the hero, repeat those eight stages as a sticky spine in a narrow right column beside the reading column: small squares that fill ink once a stage is passed and cobalt for the current one, updated on scroll with a few lines of script. Hide the spine on narrow screens; the hero rail still works as the table of contents.
4. Sections as one reading column about 700px wide on a flat glacier-blue field, separated by hairlines, each opened by a monospace title with a small cobalt number. Items are drop rows: a solid uppercase status label on the left (Shipped with a date, or a pale Docs and Note label) and a serif title plus one or two sentences on the right. No cards, no icons, one vocabulary for the rail, the spine, and the section titles.
5. One contained overhead photograph of physical swatch chips as a plate at the top of the first item section, captioned beside it in the serif, and one strip of three square fills built only in CSS (a conic gradient, two layered radial gradients, SVG turbulence grain) whose hover and focus states shift the gradient angle, the highlight spot, or the grain opacity over 600ms. On mobile the fills scroll horizontally with snap points.
6. Long prompts or code sit behind a native disclosure element so the page never stalls on a wall of monospace.
7. End on a join block that links to a real feed or account rather than a fake form, with a small reprise of the swatch photograph.

Palette: glacier blue ground #E3EBF2, sheet white #F7FAFC for panels, navy ink #0F1B2B, cobalt #1B47C9 for the current stage, the primary button, and hover states only, steel blue #2C5C8F for italic text, hairlines #B7C7D6. Links are navy with a muted hairline underline. Spectral color appears only in the photographs and the three CSS fills, never in chrome.

Type: Martian Mono, semi-condensed, for the headline, section titles, byline, rail, labels, and code; Spectral for the deck, body, captions, and item titles, italic only for the one-line summary. Body 19px, line height 1.7, never justified.

Guardrails: no gradients on text, no glow, no dark mode, no purple-to-blue gradient chrome, radii 4 to 8px only, no left border stripes, no fake inputs or toggles, no readable text inside images, no photograph under body copy, hover and focus states on every link at about 150ms, and a prefers-reduced-motion guard that removes the fill transitions and smooth scrolling.

Replace the dichroic photographs with the material your product actually imitates, and keep the scrim measured.

07Field Note

Anthropic's status page logged elevated errors on Fable 5.1, Mythos 5.1, and the Opus models from 13:26 to 16:16 UTC this morning, the same hours ChatGPT and Grok were down, and one of the models named in the incident report drafted this page. The work that survived the outage was the work already in files: downloaded shader source, an exported runtime, a page on disk.

08Sources

  1. Behind the build: Generative plugins and shaders at FigmaFigma blog, Rogie King, September 1
  2. Updates to generative plugins and shaders; Control opacity at scaleFigma release notes, September 1 and 3
  3. Generative plugins and shadersFigma MCP server developer docs
  4. Fable 5.1 is now available in FramerFramer on LinkedIn, September 2
  5. Framer Adds Fable 5.1 for Shaders, Effects, and InteractionsCreate With, September 2
  6. For the builders: canvas, CMS, and quality-of-life improvements from Webflow Conf 2026Webflow blog, September 2
  7. Edit AI code components visuallyWebflow Updates, September 2
  8. You Don't Need Initial-Scale In Your HTMLDeclan Chidlow, Vale.Rocks, September 2
  9. Find, buy, and connect a domain from chatLovable changelog, September 1
  10. Self-hosted machinesCursor changelog, September 2
  11. Cursor Cloud Agents can now run in Vercel SandboxVercel changelog, September 3
  12. Anshu Chimala: How to turn your AI into a world-class designerLenny's Newsletter, September 1
  13. String Seed of ThoughtSakana AI, arXiv
  14. Elevated errors for multiple modelsClaude status, September 3
  15. Claude, ChatGPT, and Grok Are Down on iPhone and WebMacRumors, September 3