Loading video...

Video Failed to Load

Go Home

In a regular 2D library, colors and stroke width are scalar values. In Redraw, you can set a JS function as a callback that will be compiled and executed on the GPU. That callback receives all the geometry information needed to compute the effect: tangent, arc length, distance.

11,236 views • 4 months ago •via X (Twitter)

16 Comments

William Candillon's profile picture
William Candillon4 months ago

Introducing Project Redraw, a new grade of 2d primitives for Web & Native

William Candillon's profile picture
William Candillon4 months ago

For colors, you can build gradients based on the arc length of the path, its distance, or even its tangent. These single-stroke paths support self-intersections.

William Candillon's profile picture
William Candillon4 months ago

Self intersections can even be blended with one another

William Candillon's profile picture
William Candillon4 months ago

The geometry information on paths is so rich that you can build all sorts of interesting rendering effects. Similar to what ThreeJS does but here your input is an SVG Path, Figma design, not a triangle mesh.

William Candillon's profile picture
William Candillon4 months ago

Vector feathering enables a couple of powerful use-cases. Two that I really love: analytical motion blur and fast backdrop filters. These can be built in a single render pass, no extra rasterization needed.

William Candillon's profile picture
William Candillon4 months ago

Watch the full announcement at

William Candillon's profile picture
William Candillon4 months ago

Redraw is available as a technical preview to subscribers. Your support is what has enabled such an initiative. We are a very early into this project. Lots to figure out.

𝗕𝗮𝗻𝗱𝗶𝗻𝗼𝗽𝗹𝗮's profile picture
𝗕𝗮𝗻𝗱𝗶𝗻𝗼𝗽𝗹𝗮4 months ago

that's converting or being compiled into a shader, right? kind of like threejs TSL ?

William Candillon's profile picture
William Candillon4 months ago

It's TypeGPU

𝗕𝗮𝗻𝗱𝗶𝗻𝗼𝗽𝗹𝗮's profile picture
𝗕𝗮𝗻𝗱𝗶𝗻𝗼𝗽𝗹𝗮4 months ago

so yeah, it is the same concept, a node system that you write in ts and gets compiled into a shader. I was trying to understand. Looks cool, good job!

Maxim Whatevsmaker's profile picture
Maxim Whatevsmaker4 months ago

@meodai V cool 👌 what does "use gpu" use under the hood?

William Candillon's profile picture
William Candillon4 months ago

@meodai The bundler uses that directive to compile the code to WGSL

Christian Falch's profile picture
Christian Falch4 months ago

Congrats, @wcandillon - this is really impressive!!

William Candillon's profile picture
William Candillon4 months ago

Thank You 😊😊😊

microbians's profile picture
microbians4 months ago

Did u try a stress test?

William Candillon's profile picture
William Candillon4 months ago

I did and for me the best stress test was the postscript tiger. Of course how to accelerate these new primitives is very much an ongoing process 😊

Related Videos