steffest / DPaint-js

Webbased image editor, modeled after the legendary Deluxe Paint with a focus on retro Amiga file formats: read and write Amiga icon files and IFF ILBM images
https://www.stef.be/dpaint/
MIT License
481 stars 28 forks source link

Usability: Selection: moving pixels is hard #35

Open teadrinker opened 2 weeks ago

teadrinker commented 2 weeks ago

Been playing around for 1-2 hours, and the most strange thing to me is the behaviour of the selection tool. After I make a selection I cannot move the pixels it seems, if I cut/copy and paste, the pixels are moved, but only to the corner of a new layer... Eventually I figured out I can use ctrl+E to copy to brush, which is very nice, as I'm an old deluxe paint user :)

I might have missed something...

Anyway, it would be nice to have ps-style pixel-moving shortcuts:

steffest commented 2 weeks ago

Mister Teadrinker! Nice to see you here.

About the selection: I had the somewhat naïve idea to decouple the "selection" from all the "drawing and moving" actions. I don't really like how selections in e.g. Photoshop work, so I thought: let's try something else. Selections are currently mainly used to copy/cut pixels to a new layer. (Ctrl-J or Ctrl-K) You can move a selection using the cursor keys, or you can move a layer if you hit "T" or "V" (Layer -> Free transform) and then drag or the cursor keys. However, you can't directly "move the selected pixels" as you can in e.g. PhotoShop. I always move the selected pixels to a new layer first, move that layer, then merge back if needed. Likewise; drawing actions are also not limited to the selection as e.g. PhotoShop does.

At the time it made sense to me, but I often hear that this is super confusing for users so I'll probably change that in the future.

For now: The "control drag" would be:

As I type it, this seems cumbersome indeed :-)

teadrinker commented 2 weeks ago

must confess I did not look through all the menus, then I would have found T/V!

I do think improving selection/transform behaviour would benefit new users... One thing you could perhaps try is to automatically cut-to-new-layer and switch to transform if the user clicks the selection without dragging? (again, not sure if this is a good idea but in my head it feels like it might work)

Additionally (but unrelated), in the transform mode, clicking without dragging could switch to rotation instead of scaling (basically the behaviour in inkscape if I remember correctly)