Patternshop, a widget for many-layered drawing. It’s like underpaint mode, but can do many layers through a contraption and multiple cards.

%%WGT0{"w":[{"name":"patternshop1","type":"contraption","size":[512,342],"pos":[0,0],"def":"patternshop","widgets":{"vis":{},"beg":{},"fin":{}}}],"d":{"patternshop":{"name":"patternshop","size":[512,342],"margin":[0,0,0,0],"script":"on view do\n if !lock.text+0\n me.show:\"transparent\" vis.show:\"transparent\"\n s:(beg.text=\"\") e:0 i:image[(first deck.cards).size]\n each c in keys deck.cards\n s:(!c=beg.text)&s e:(c=fin.text)|(c=deck.card.name)|e\n if (!e)&s i:deck.cards[c].image.copy[].paste[i 0,0 1] end\n end\n vis.paste[i]\n end \nend\n\non set_patternshop x do 1 end\n\non get_patternshop do 1 end\n\non set_canvas x do vis.paste[x] end\n\non get_canvas do vis.copy[] end\n\non set_locked x do lock.text: x+0 end\n\non get_locked do lock.text+0 end\n\non set_clear x do vis.paste[image[card.parent.size]] end\n\non get_clear do vis.paste[image[card.parent.size]] end\n\non set_start x do beg.text: x end\n\non get_start do beg.text end\n\non set_final x do fin.text: x end\n\non get_final do fin.text end","attributes":{"name":[],"label":[],"type":[]},"widgets":{"vis":{"type":"canvas","size":[512,342],"pos":[0,0],"locked":1,"show":"transparent","border":0,"scale":1},"beg":{"type":"field","size":[1,1],"pos":[-32,-32],"locked":1,"show":"none","style":"plain"},"fin":{"type":"field","size":[1,1],"pos":[-32,-32],"locked":1,"show":"none","style":"plain"}}}}}
Usage:
- The first card is the first layer, no contraption needed
- Each additional card is a layer, add a Patternshop contraption to it
- Use the arrow keys to flip left and right between layers
- Use the regular Decker drawing tools to draw on a layer (turn them on in the Decker menu)
- Switch back to interact mode (pointer finger or the menu) to have the layers composed - you’ll have to do this when you switch to a layer. Missooni has it part of the layer selection to automatically do that in Patternshop Cinnanom.
It has several properties for programming:
.canvas: get/set the image
.clear: clear the image
.locked: disable composition
.start: the card to start composition, defaults to the first card
.final: the card to end composition (non-inclusive!), defaults to never ending
- See https://woodring.itch.io/patternshop-neo for the playable deck
- See https://woodring.itch.io/patternshop for the original
- See https://missooni.itch.io/patternshop-cinnamon, a more complete tool than Neo and simpler than the original
Thanks to Missooni for inspiration.

