candle's website

this is my website where i put things related to digital creative tools and communities around them

exquisite tool

what is this

"exquisite" in the sense of "exquisite corpse". a series of incomplete iterations towards a tool streamlined for modification and customisation

exquisite tool a

a simple paint tool with plain text editors for editing the brushes, and a button to clone the editor with those changes. i invite you to try making some interesting brushes and publishing a copy of the tool on your own site

exquisite tool b

this iteration adds the ability to import additional brushes from another copy of exquisite tool b. create your own brushes and collect the brushes of others to create a personalised image editor

in the previous iteration it seemed neat to store the data as individual html elements, playing into the existing DOM structure. however i think it will just be simpler and easier to work with to keep everything in a couple of centralised JSON structures

in the previous iteration i was editing directly as a single html file, but this is too unwieldy for me. i'm thinking i ought to include tools to both unbundle the editor into multiple files for editing, and bundle those edited files back again into a more portable html file

exquisite tool c

in this iteration, brushes and images are unified into a single thing and the editor supports drawing multiple images. create new brushes by drawing with brushes you have collected elsewhere, pass those new brushes along

resizing of images is introduced to allow for multiple brush sizes

there is also a special 1x1 brush with its own color wheel interface to make it easier to introduce new colors into the brushes

erasing is also supported via a checkbox that turns the active brush into something that cuts holes according to its shape

because i'm using plain html canvases instead of webgl textures, it's a bit of a pain to keep multiple representations of the same brush/image up to date. this is also why i didn't bother to give the active image picker the same interface as the brush picker