Spade-Editor / Spade

Cross-platform raster graphics editor inspired by Paint.NET
GNU General Public License v3.0
41 stars 10 forks source link

Image 'Effects' vs. Image 'Operations' #67

Closed BurntPizza closed 10 years ago

BurntPizza commented 10 years ago

While we seem to be in 'theoretical' mode ;) Possible distinction I pondered:

What if what we currently call 'Effects' in the ui were called, let's say, 'Scripts' or 'Operations,' as they are applied once to the image, but had a different class of things called 'Effects' that are stacked up (probably per-layer) and are applied continuously and don't go away until you either remove them from the stack or Apply / Finalize them?

Another idea (call this B, the above para A):

Could even do it for Tools, allowing for script-able brushes, weird selection shapes, etc. I think moving the current Tool ui from the InfoBar to another floating frame might be useful.


Concerns about A: mainly performance, as this is essentially 'live' effects across the whole image. There are of course space-partitioning optimization methods, but still.

Also is it useful? I personally like the B idea even more, but I thought of A first so that's why it's A :)

If this sounds worthwhile to you guys, I'll assign it to myself.

Edit: Hmm, it seems I cannot add labels, that's annoying.

HeroesGrave commented 10 years ago

Some parts of the Github API are quite limited, so I can't let you manage issues without giving write-access. I just added the labels I thought appropriate.

The difference between image operations and effects is quite simple:

Image operations manipulate the image as a whole. Eg: Transformations (resize etc). Image operations are allowed to effect things outside the selection/selected layer. Effects are like tools but applied to the whole image. Eg: Noise functions, blur, sharpen etc. They must only be applied to the selection/selected layer.

I agree that somewhere we need to bring tools and effects closer together, but we need to be careful about performance, and if things look nasty, we'll just have to deal with implementing some things twice as both tools and effects.

With the difference between effects and image operations explained, would you mind gving me a more detailed explanation as to what you're thinking?

I think moving the current Tool ui from the InfoBar to another floating frame might be useful.

Yep. It's better we do this now rather than after 1.0. Go ahead and do it if you want. If not, I'll sort it out this weekend. (Edit: Issue #70.)

BurntPizza commented 10 years ago

Yeah, I know it's Github; still annoying I can't label issues I have opened, that's all.

My argument is that blur, sharpen, etc are still single-time operations, they still manipulate the image, and they do it atomically, and therefore I think classify as Operations. I'm still trying to think of a good example of my idea of Effect (one that makes sense as a 'live' modification, and is significantly more useful that way than just applying something after you've drawn it), and that's why I question it's usefulness as a feature.

The Tool effect stack idea popped into my head while writing out A, and I like it a lot more. Maybe I'll try it (performance testing/estimation etc) and have it be some kind of hidden feature.

HeroesGrave commented 10 years ago

I'm going to go ahead and close this.

If you have a reason to keep this open, feel free to comment and I'll re-open it.