
Show HN: An app to let you create a composition like Piet Mondrian [video] - dereklimbus
https://www.youtube.com/watch?v=XM-OzrMd0_M
======
gus_massa
direct link:
[https://composition.dereklimbus.com/](https://composition.dereklimbus.com/)

Add a button to paint with the color white, to fix mistakes. And perhaps
another button to clear the image to start over (with a confirmation).

I still feel that the method to deselect the current block and start a new
block is weird. It's very different from the usual methods (aka paintbrush).
(It may be good for this particular app, but it's different.)

~~~
dereklimbus
Thanks for the advice. Since this is more like a fun experiment than a
product, I tried to keep it minimal and ideal. My idea is that everything is
composed of dots, from there, we have lines and planes. Therefore, you're
basically connecting dots on the canvas. In terms of color, white is more like
being null, so there's no color as a null. If you color some dots by mistake,
just unselect the color you use like unselecting dots.

I'm learning Redux now, so I'll integrate it with Redux some time. I do feel
it's weird that you need to move your mouse over the dots to deselect, so I'll
think about that when I change my code.

~~~
gus_massa
After a few tries, I understood how to unpaint some parts and make them white
again. It's not intuitive at all. Just add a white color button.

I still think the selection is also not intuitive, but I didn't play too much
with your project. Perhaps your selection method is better. Follow your
instinct but try it with a few more users. (As an alternative, show the
expanded selection automatically when the user moves the mouse, but change the
corner only when the user clicks.)

~~~
dereklimbus
I just remember that another reason why I don't have white paint is about
mobile layout. If you check the 320px-width mobile really quick, you will find
there is no space for extra paint, because I need to keep the paint large
enough to be touchable. But still, your point is valid, so I'll consider that
in the next version.

But your second point is brilliant! Really appreciated!

