Stoatworks Labs

Burin

Draw vector artwork in Resolume, at any size

Releasedv0.1.8Plugin & ModuleC++ / GLSL
Burin — Draw vector artwork in Resolume, at any size
The same drawing at the same zoom, rendered by the plugin's own offline harness rather than captured from Resolume. Left is a PNG export magnified — what you get without the rebuild. Right is the plugin, having re-rasterised at the size being shown. The drawing ships with the repo and is generated by a script, so nothing here depends on anyone else's artwork.

What it does

Point it at an SVG and it draws it — in Resolume Arena and Avenue, and in DaVinci Resolve, Nuke, Natron and Vegas from the same code. It ships as two plugins rather than one, because FFGL resolves a single entry point per binary: Burin is a source that draws on its own background, and Burin Over is an effect that draws over the clip it sits on.

A bitmap zoomed eight times is eight times blurrier. A vector zoomed eight times is not — but only if something re-rasterises it, and re-rasterising a thousand-path drawing every frame is not a budget a show has. So the scale is snapped onto a ladder of half-octave rungs and the drawing is rebuilt only when the rung changes, always rounding up so the hardware only ever shrinks it and never magnifies. A six-octave zoom rebuilds thirteen times across six hundred frames; a still frame never rebuilds at all. The raster covers what is on screen rather than the whole document, so going from 1:1 to fifty times does not grow it.

What that buys beyond sharpness is everything you can only do while the paths are still separate. Fill and stroke are the file's own paint, tested independently, so Stroke Only on artwork composed entirely as solids gives you the wireframe of something whose author never drew one. The write-on draws each stroke in along its own measured length, with a stagger between shapes and an order — document, reversed, longest first, shortest first or a stable scatter — so a technical drawing can build structure first and detail last. Recolour replaces fill or stroke while keeping each shape's own alpha, and can walk the hue across the drawing shape by shape.

One limitation worth knowing before you export: live text is not rendered. The SVG parser has no text support whatever — no fonts, no glyph outlines — so a drawing whose content is live text parses without error and comes out empty. Convert text to outlines first. The plugin counts what it had to ignore and says so in its log, and the web demo warns about it in the browser, because a file that looks right in a preview and blank in a show is the worst way to find out.

  • Rebuilt at the size it is being shown, on a half-octave ladder that only ever rounds up
  • The raster covers the visible window, not the document, so a deep zoom stays bounded
  • Fills, strokes or both — the file's own paint, not an edge detect
  • Write-on along each stroke's own length, with per-shape stagger and five orders
  • Isolate a range of shapes by index, for building a drawing up piece by piece
  • Recolour fill or stroke keeping each shape's alpha, with a hue walk across the drawing
  • Zoom, pan, rotate and spin, free-running or locked to the host's beat or bar
  • A stroke-width floor in device pixels, so hairlines thin instead of vanishing
  • Universal macOS bundle (Apple Silicon and Intel), a Windows DLL, and an OpenFX bundle for macOS, Windows and Linux

Where it stands

Released at v0.1.7; the point release changed nothing but the Windows installer, which no longer touches the system PATH — the earlier one could overwrite it. The central claim is measured rather than asserted: its offline harness renders a hard edge at six zoom levels and requires the transition to stay at one device pixel from 1× to 32×, then repeats the measurement with the rebuild removed and requires that to blow up to twenty-five pixels, so the result is a comparison and not a restatement. The GPU and CPU renderers agree bit-exactly, which is what keeps Resolume and Resolve honest against each other. Both FFGL plugins load and render in Resolume Arena, confirmed after release — though that is "it loads and it draws" rather than a sweep of every control in a live host. The OpenFX build has not been opened in Resolve, Nuke or Natron. Check it in your own rig before trusting it in a show.

Watch it running

Burin video thumbnail

Nothing loads from YouTube until you press play.Watch it there instead