🏠 back to Observable

Two new fast stippling notebooks with SVG export

I know, you must be thinking “Dude, enough with the stippling stuff…” but this time it’s quite nice!

The LBG implementation got another optimization pass or two and it’s mostly processed in a worker, so it’s really fast. Aaaand there’s an SVG export button, and HSL-based color stippling (which also lets you do grayscale stippling)

Haven’t published them yet because there’s still some rough edges

Also, does anyone else have really hard time to debug these kinds of things because they keep getting distracted by seeing an image emerge?

EDIT: also, one thing I’d like to add at some point is rasterbator-like tiled printing support :slight_smile:

4 Likes

It looks like “invert” only inverts the coloring of the SVG, but not the source channel?

You may also want to tie the invalidation of the worker to the invoking cell. Promise.race([invalidation, argInvalidation]) works well for this.

1 Like

You have to restart the render if you change a setting for it to take effect - it just so happens that the invert setting is also used in the output render before you do that. I probably should change that.

1 Like

Anyone have any clue why Chrome is so much less performant than Firefox in this case, btw?