[HN Gopher] Moss is a pixel canvas where every brush is a tiny p...
___________________________________________________________________
Moss is a pixel canvas where every brush is a tiny program
Author : smusamashah
Score : 136 points
Date : 2026-03-04 10:21 UTC (12 hours ago)
(HTM) web link (www.moss.town)
(TXT) w3m dump (www.moss.town)
| heyitsgarrett wrote:
| Oh thanks for sharing this! I love asesprite, procreate, pico8
| and had this idea for programmable brushes bonking around my head
| for years now. Recently took some time between projects to put it
| together.
|
| MOSS is a drawing toy where each brush is a tiny script that
| knows about every pixel on the canvas. You define how it paints
| with noise, randomness, patterns, stroke speed, pressure, and
| every touch executes the code.
|
| So you can have a brush that scatters pixels like a real spray
| can or one that stamps shapes that mutate as you drag. Or
| perspective lines that actually converge. Or a fill bucket with
| smart gap awareness (I called it "Fill of my Dreams" and added to
| the brush list).
|
| Happy to share brush code in the comments or explore ideas
| together. There's a (?) in the bottom right toolbar with API
| docs, and a prompt copy at the bottom if you wanted to work with
| the API through an agent.
| Lambdanaut wrote:
| I love how fun this is. It has so much personality. Definitely
| can see the pico8 and aseprite inspiration.
|
| I think what could be really interesting is some procedural
| generation brushes... Like a brush that generates a random
| city-scape as you draw it. That sounds so exciting..
|
| Maybe using wave function collapse:
|
| > https://nathanmcoleman.com/projects/wavecollapse/
| azeirah wrote:
| I wrote a program that has programmable brushes about ten years
| ago, it's a bit different from moss in that it has a physics
| simulation underneath rather than a sort of shader, but I've
| always thought this kind of approach has a lot of potential.
|
| It feels _amazing_ to draw a bird in a single stroke!
|
| Maybe this can give you some inspiration!
|
| https://laura.fm/generative-art/wind/wind.html
| vunderba wrote:
| Very cool. Side note, but I've always thought that a
| combination of a pixel art editor like Aseprite coupled
| "cellular sand sim" would be really cool.
| squokko wrote:
| Is this open source? Is there a GitHub repo?
| mpalmer wrote:
| Absolutely lovely design, thanks for the share and the
| inspiration
| RodgerTheGreat wrote:
| Moss looks much more general and powerful, but Decker has a
| similar mechanism for custom brush behavior; here's an
| interactive tutorial with a variety of examples, for comparison:
| http://beyondloom.com/decker/brushes.html
| od0 wrote:
| This is the most fun I've had drawing with pixels since I was a
| kid
| Klonoar wrote:
| This is amazing.
|
| Could you add support for holding `Shift` to keep your line
| straight while painting, ala MSPaint?
| heyitsgarrett wrote:
| Added that! Great idea. Hold shift before or during a line draw
| and it will preview the line, then apply on release.
| olivia-banks wrote:
| This is a seriously fun tool. Bravo!
| adammarples wrote:
| In what way is a brush a program? How do I program it? I've spent
| 5 minutes and clicked on every single thing I can find but I give
| up looking.
| jammaloo wrote:
| Click "Editor", then click "Add a brush".
| heyitsgarrett wrote:
| If you hover next to the brush in the Edit mode as well, theres
| a tiny pencil icon there that opens that brush's code. Sorry it
| was hard to discover!
| boothby wrote:
| It's way cooler on desktop than mobile.
| graypegg wrote:
| That's such a neat idea! It's like a paintable version of
| https://www.shadertoy.com
|
| Is there a way to share brushes in the app/a brush sharing
| gallery? For sharing, I can see the "weekly" section from the
| homepage, which looks to be a weekly art prompt and everyone's go
| at it, which is really fun! But for the more artistically
| challenged (myself), it'd probably want to share a brush on it's
| own haha
| juliushuijnk wrote:
| Reminds me of my evolving small image file format prototype, back
| from when I had no AI help..
|
| https://medium.com/@JuliusHuijnk/experiment-in-evolving-the-...
| lukevp wrote:
| Cool concept!
|
| I noticed with the Aquarelle brush on iOS, if you swipe fast, you
| can clearly see the polling rate of the touch events on the
| canvas. The line looks smooth so I guess you already have an
| interpolation algorithm going, but this brush darkens as the
| dwell time is longer so I'm not sure if it's doubling the points
| that are reported or what but it looks very bandy/patchy.
| sen wrote:
| This is so much fun, and some an awesome idea. Playing around
| with it gives me that same feeling as playing with MSPaint as a
| kid, exploring different brushes and seeing how they interact.
___________________________________________________________________
(page generated 2026-03-04 23:00 UTC)