Our Paint – a Featureless but Programmable Painting Program
Posted3 months agoActive3 months ago
wellobserve.comTechstory
excitedpositive
Debate
40/100
Digital PaintingProgrammable SoftwareColor Management
Key topics
Digital Painting
Programmable Software
Color Management
Our Paint is a featureless but programmable painting program that has garnered interest on HN due to its unique features and color management capabilities.
Snapshot generated from the HN discussion
Discussion Activity
Moderate engagementFirst comment
6d
Peak period
7
180-192h
Avg / period
4.8
Comment distribution24 data points
Loading chart...
Based on 24 loaded comments
Key moments
- 01Story posted
Oct 12, 2025 at 2:54 PM EDT
3 months ago
Step 01 - 02First comment
Oct 18, 2025 at 12:39 PM EDT
6d after posting
Step 02 - 03Peak activity
7 comments in 180-192h
Hottest window of the conversation
Step 03 - 04Latest activity
Oct 20, 2025 at 5:07 AM EDT
3 months ago
Step 04
Generating AI Summary...
Analyzing up to 500 comments to identify key contributors and discussion patterns
ID: 45560738Type: storyLast synced: 11/20/2025, 7:40:50 PM
Want the full context?
Jump to the original sources
Read the primary article or dive into the live Hacker News thread when you're ready.
Is that allowed under GPL V3 to limit commercial use?
My speculation: it was intended to mean: use it under terms of GPLv3 (for commercial purposes or not), OR contact to negotiate different terms.
But there's a built-in assumption that no commercial entity would _want_ to use it under GPLv3 terms.
We also have a fairly strict no GPL dependency at work which I find surprising. Especially for a software like this one that you only use, never ship nor modify I don't understand the risks this license poses. It's like we went from a reasonable "be careful around it" to a "don't touch it with a 10 foot pole". And it's leaving me wondering if there is a more concerted effort to demonize this license
- Other GPL software can just include features in my programs if they wanted to.
- I can remove myself from the responsibilities of potential free maintenance burden if approached by commercial entities.
- On paper it prevent crappy Chinese companies here from taking the code as their own (which is unlikely judging by the nature of this program, but if they want they probably would do it anyway just like the case with ffmpeg).
https://web.archive.org/web/20250719210835/https://www.wello...
The project is a mix of licenses since it's a mix of components. If I had to guess, they intend source code and maybe the binaries under GPLv3 that they own, fonts under SIL Open Font, but "brushes" and "splash images" under CC_BY_NC, etc. mean they could probably constrain certain uses:
My personal opinion is that if that's what they intended, it seems quite reasonable.Painters don't categorize colors using standard terms: red, blue, green etc. Rather they categorize according to pigment. Different pigments (i.e. chemical base to the paint) have different properties.
For example, a Prussian blue appears almost black when applied thickly, but is very chromatic when applied thinly. In contrast, a cobalt blue is pretty much the same however it is applied.
ASAIK, this is the only app that supports this feature out the box.
The digital painting toolset has been pretty much in stasis for years, but this app offers node based brushes! I am very intrigued. Downloading it now.
Overall I enjoyed it but nonetheless see it as being in the same family as every other painting app.
I would love to see painting apps stop trying to emulate real media and instead try to do things that are uniquely digital. My dream digi-daub app would feature...
- 16 bit as standard. Do a gradient in an 8 bit Photoshop document and you will see how limited 8 bit info is. (OUR PAINT supports this).
- A brush that can paint both behind and in front of previous strokes. Of course, this would need to be supported by a depth channel.
- Supporting this, I want an adjustment parameter that can adjust based on depth. Depth-based contrast is a uniquely powerful force in image-making.
- Also a brush that increases/decreases neighboring regional contrasts.
- Almost all digital brushes are simply repeated stamps. This is now ancient technology. I would love to see a brush that can paint entire objects or the textured components of those objects. For example, with one stroke I would love to be able to paint a tree, or hair and fur. Of course, such a tool would likely be AI.
- An AI powered style randomizer.
For interest, this seems to be an active issue for the HTML <canvas> element in browsers. There's a proposal[1] to extend the canvas data type to include both "unorm8" (the beloved default) and a new "float16" (normalised?) format - which should meet your desire?
Typically, the proposal seems to have shipped already in Chrome/Edge browsers. Documentation around what the new functionality is for and how to make best use of it is (of course!) sparse - MDN barely mentions it. As a canvas library maintainer I find this upsetting (eg: Ignore it and it might Go Away).
(I think for now my unhelpful response is: manipulate your RGB images as much as you like; just do it in the OKLAB color space.)
[1] - https://github.com/w3c/ColorWeb-CG/blob/main/hdr_html_canvas...
Good advice. I am often introducing photographers to color editing in Lab. They are always amazed at how much more sensitive their lightness and saturation adjustments are.
Be careful, OKLAB also isn't quite handling energy correctly (Or, the gradient of the energy slope in this color space had quite some irregularities). In most cases you can get a more "natural" transition (like blue doesn't visually shift to purple when transitioning to white), so make sure you know what you are doing.
> A brush that can paint both behind and in front of previous strokes. Of course, this would need to be supported by a depth channel.
> Also a brush that increases/decreases neighboring regional contrasts.
I believe you can just use Blender Grease Pencil for that. You can paint with depth and sculpt the opacity/contrast to your desire. (Or honestly any vector drawing program? I believe adobe illustrator does this too)
> Almost all digital brushes are simply repeated stamps. This is now ancient technology. I would love to see a brush that can paint entire objects or the textured components of those objects. For example, with one stroke I would love to be able to paint a tree, or hair and fur. Of course, such a tool would likely be AI.
> An AI powered style randomizer.
You won't want that in this context. If that being an asset production tool or a diagram tool then maybe yes, but otherwise nope. This tool is intended to create images, and human (supposedly) perceive an image with spatial arrangement of shapes and gradients, and the way artists interpret and represent shapes and edges is mainly what natural painting process is all about. So the basic structure of an artwork in this sense is just a bunch of abstract shapes arranged in a certain order, not a statistic probability of pixel values.
In hind sight I may need to show a message for when this application is running in xwayland and notify the color management quirks to the user.
It runs on LaMDWiki which seems to be a self-developed Wiki installation that looks a bit like microblogging. Described at https://www.wellobserve.com/index.php?post=20211107011347 Code seems to be available at a Forgejo instance at https://www.wellobserve.com/repositories/chengdulittlea/ but the repo link gives a 500 right now https://www.wellobserve.com/repositories/chengdulittlea/LaMD...
I guess it's not that important because nobody else is gonna use it anyway...
not mad at all
https://youtu.be/TW-JlKTlYoI?si=FtHHR1iesDPJlTMD
To answer some questions...
- Our Paint is 16 bit per channel (8/128 bit on mobile due to GLES limitation).
- I really didn't implement much stuff other than just straight up painting features, and a cropping/moving feature (able to move stuff 1000px at a time), that's why it's sort of featureless because it lacks a lot of tricks like selection and free transform.
- The "Programmable" is maybe a weird term yeah, I intend it to mean the node based brushes cause it does support branching and looping in the evaluation.
- My site is slow because it's only got like 500KB/s bandwidth otherwise it's pretty expensive. But it works :P
I have _some_ timelapse videos of me painting and drawing stuff using it on my youtube channel. Here: https://www.youtube.com/playlist?list=PLa86QFowwyVRKiUURCyWu...
But yeah if you are a lay person who is expecting some similar features from other software you probably are gonna be disappointed because it's not intended to replace other art programs. Our Paint is more like a restriction so you get consistency and creativity when you use it to create images.
Yiming