PDA

View Full Version : "Cancel Changes" Button for Surface Editor



hesido
05-23-2005, 06:05 AM
http://www.hesido.com/display/cgtalk/texeditorsug.png

I admire you guys with all the best habits like saving your object and scene 420 times per hour all with seperate names (I only save 40 times per hour with 20 seperate names), but this would come in handy.

I marked the button for you to see better :D

Programming this as easy as: Copy all layers upon opening the editor in a seperate place, Replace All Layers with Copied content upon pressing Cancel Changes. No need to build lightwave from scratch. :rolleyes:

edit: After Lightwolf has remarked that this be tested further, I tested this simple method for:
All layer settings
Expressions attached to those layers.
Crossreferences from layers we are working on to other layers.
Crossreferences from other layers to the layers we are working on.

And it works without glitches. Tho this is far more than enough for daily tasks (many doesn't use channel followers for stills, for example, it simply *works* for them too) If anyone comes up with what could be further tested, please test it yourselves, lol, and report here! I need support, this is so simple it could even be put in 8.3.1.

mrunion
05-23-2005, 06:26 AM
PLEASE don't read this as me being a smart-*****, but doesn't the "X" in the top right "cancel" the changes? I think it does (but I'm not in front of LW so I can't test it).

hesido
05-23-2005, 06:37 AM
PLEASE don't read this as me being a smart-*****, but doesn't the "X" in the top right "cancel" the changes? I think it does (but I'm not in front of LW so I can't test it).

You have conformed yourself to current workflow so much that I guess so you don't remember what the X does :)

Well that X button does not cancel changes, that's what I have here. I don't even use the use texture button, I just make changes and close using "X" button. I don't even know why they put a "use texture" button there.

And even if it did cancel, I'd have asked for an: "Are you sure?" dialogue :)

Ztreem
05-23-2005, 08:37 AM
I think it's a good feature. It gives the texture editor a better workflow and makes it easier to understand and offcourse gives it a good new feature.

Lightwolf
05-23-2005, 09:26 AM
Hm, what happens if you press any other [T] in the interface, which opens _that_ texture in the current texture editor panel? Would thta be the same as o.k. or cancel?

Also, what happens when you remove an envelope form a texture? Would a "Cancel" restore it? I don't think the underlying architecture is up to that.

A decent undo system that takes care of issues like that would imho be more useful. (since even this small feature would require a bit of an architecture change).

Cheers,
Mike - not wanting to burst your bubble...

Dodgy
05-23-2005, 10:18 AM
I'll second the call for undo instead :) Not that we're likely to see it for a while, but I hold out hope :)

Ztreem
05-23-2005, 10:33 AM
I agree with a "real" undo button that can undo all the things we do in LW, but I think I vote for both. :D

hesido
05-23-2005, 01:16 PM
Hm, what happens if you press any other [T] in the interface, which opens _that_ texture in the current texture editor panel? Would thta be the same as o.k. or cancel?

Also, what happens when you remove an envelope form a texture? Would a "Cancel" restore it? I don't think the underlying architecture is up to that.

A decent undo system that takes care of issues like that would imho be more useful. (since even this small feature would require a bit of an architecture change).

Cheers,
Mike - not wanting to burst your bubble...

Well actually, you have indeed burst my bubble in the sense you have taken the discussion into a much more complex "undo" system without even testing my suggestion, scaring people away. If you had taken some time to test it, you would know that copying pasting layers retain all envelope data, be it for a removed envelope, or an envelope with changed keys.

Also, how about thinking ways to overcome any issues you come forward instead of telling why it can't be done? (Well, when I say issues, there is actually only one issue, as there are *no* problems retaining the envelopes.) Ok, please stay with me on this:

That issue is "What happens if the user opens another texture dialogue". Ok let's see the ways to fix this problem:
Solution 1-) We can assume user pressed "OK", This is not anyhting worst than today's situation, is it?

Solution 2-) We can assume the user pressed "Cancel" and revert the texture IF the user agrees on the warning dialogue that "all changes would be lost". If the user doesn't agree, there is no switching to that other texture. I'd prefer this over solution 1.

Solution 3-) Or, we can simply test if the user changed anything in that window. This is easy, we have the original settings backed up, right? Test the settings against the backed up settings (which is very, very simple, byte for byte comparison is farily enough), and if there is a change, ask the user with a dialogue. This is the best solution. And it simply needs a few more lines to code.

Solution 4-) Allow for multiple texture dialogues.

I can safely say I want a decent undo system twice the amount of an avarage lightwave user. But I am bringing out a suggestion that people would find useful EVEN when we have a proper undo system.

My points, re-hashed:
First: This is DEAD easy to implement. Uses out of the box Lightwave functions.

Second: Why wait until lightwave 12?

Third: It DOES retain the removed envelope, or revert to old envelope settings. Try it for yourself, (copy all layers-remove or change envelope/paste - replace existing layers) Please do. You'll see *everything* is reverted.

Fourth: Every window can have a similar cancel changes system, all with the SAME basic princplie. Copy every setting to a memory location, and when cancelled, paste everything back in. Simple.

Fifth: This is useful EVEN when there is a proper undo system.
-------------

Karmacop
05-24-2005, 12:34 AM
The amount of times I've pushed remove texture instead of remove layer ... :o

Lightwolf
05-24-2005, 02:53 AM
Third: It DOES retain the removed envelope, or revert to old envelope settings. Try it for yourself, (copy all layers-remove or change envelope/paste - replace existing layers) Please do. You'll see *everything* is reverted.

Have you tried that with expressions, channel plugins or FPrime? The case I'm most worried about is other channels plugins referencing channels/envelopes from the texture panel you're working on at the moment.

Cheers,
Mike - he who loves expressions...

hesido
05-24-2005, 04:09 AM
The amount of times I've pushed remove texture instead of remove layer ... :o

:)

Yes, there should be a confirmation dialogue box. How hard can it be to implement?! Is making mistakes a bad habit that can be overcome? No, we always make mistakes. So there should be a confirmation dialogue for removing textures. We don't remove textures all day long. It saves much more time than it loses you pressing an extra button. And for guys who are always against this confirmation dialogue box when removing a texture (which is not addressed in my suggestion, but now that you have mentioned), I say, make it an option in preferences to turn these on and off. (I am sure everybody would turn it on after a while anyway)


Have you tried that with expressions, channel plugins or FPrime? The case I'm most worried about is other channels plugins referencing channels/envelopes from the texture panel you're working on at the moment.

I have tried it expresssions because you mention and it *works*. I didn't even feel like testing others. Have you ever *tried* copying and pasting layers to other textures?

Lightwolf
05-24-2005, 04:17 AM
Yes, there should be a confirmation dialogue box. How hard can it be to implement?!
Well, that shouldn't be a problem at all. And there is a central preferences setting for that, the alert level (Which I always keep at expert because those confirmations are quite distracting to me, but at least we have a choice).


I have tried it expresssions because you mention and it *works*. I didn't even feel like testing others. Have you ever *tried* copying and pasting layers to other textures?
Yep, but not with expressions that reference the copied layers (i.e. a motion channel that reads an envelope belonging to one of the copied layers).

Cheers,
Mike

hesido
05-24-2005, 04:26 AM
Also, I am baffled about the fact that we even need to discuss this. :(
There are some feature suggestions I propose open for discussion or have room for improvement, but my fragile little mind can't understand why we have to discuss this.

Whether this "cancel changes" button would work for envelopes, channel expressions etc. (which I tested, my workaround works) should have been NT's problem even if it didn't work.

Whether we have a proper undo system doesn't change the fact we need a "cancel changes" button either -for clarity and user friendliness. It is hard to be sure if you have or haven't made a change anyway with the always confirm system as we have now, if you do not have a cancel button to make sure.

If you are talking about a per-action undo in a texture window, how many undo's does one have to make before restoring to the original surface settings? If you are indeed talking about an undo between the first time we opened a texture dialogue and the time we closed it, that's what this feature suggestion addresses anyway. It could provide a step for the proper undo system itself.

Lightwolf
05-24-2005, 04:36 AM
Also, I am baffled about the fact that we even need to discuss this. :(
Well, since you started discussion the viability of it: "Programming this as easy as: Copy all layers upon opening the editor in a seperate place, Replace All Layers with Copied content upon pressing Cancel Changes. No need to build lightwave from scratch." I wondered if you took all caveats into account.
Because, if it isn't "as easy as" then there might be a reason for it. I'm not dismissing your suggestion, I just have my doubts on the "easy" bit, especially since the dev team has limited ressources and will (I assume) change the texturing system in the future anyhow. Once it will be more nodal (assuming again, since just about any 3D app goes nodal at the moment) a simple "cancel" will be even harder to implement.

Cheers,
Mike :cool:

hesido
05-24-2005, 04:51 AM
Well, since you started discussion the viability of it: "Programming this as easy as: Copy all layers upon opening the editor in a seperate place, Replace All Layers with Copied content upon pressing Cancel Changes. No need to build lightwave from scratch." I wondered if you took all caveats into account.
Because, if it isn't "as easy as" then there might be a reason for it. I'm not dismissing your suggestion, I just have my doubts on the "easy" bit, especially since the dev team has limited ressources and will (I assume) change the texturing system in the future anyhow. Once it will be more nodal (assuming again, since just about any 3D app goes nodal at the moment) a simple "cancel" will be even harder to implement.

Cheers,
Mike :cool:

OK, I surrender.

Lightwolf
05-24-2005, 05:06 AM
OK, I surrender.
Hey, cheer up ... or is that what the shield in you avatar is for? ;) :p

Cheers,
Mike

hesido
05-26-2005, 05:54 AM
Hahah, yeah it saves me when people throw rocks of reality after I make baseless feature suggestions such as this one ;)

Actually I have not tested what happens if there are references to copied channels. I will test now, and report if there are problems. If there are none, there should be absolutely NO reason for NT to add that simple button. (Still, I want it even if it can't save all data.. User could be warned about it at least..)

hesido
05-26-2005, 07:08 AM
It WORKS! NT, please add that simple button. I can safely say it is simple now. Just add it please, and if there is anything it cannot do, it would be reported as a bug :) Because so far this simple copy all layers, paste them back when cancel changes works for:
All layer settings
Expressions attached to those layers
Crossreferences from layers we are working on to other layers.
Crossreferences from other layers to the layers we are working on.

There is nothing so far it could not retain.
----
I tested a cross reference like this: I added some channel followers to some channels in color texture, and tied to channels in diffuse texture. In diffuse texture, I copied all layers and started torturing the diffuse texture, removed layers, added new envelopes.. Then I pasted back what I had. The cross references from color texture channels were alive and kickin. (Actually, they went operational even after I closed the texture dialogue, opened it, and pasted the layers, for scrutiny.)
---

What this tells us that, this can even provide a step in a proper undo system.

Lightwolf
05-27-2005, 02:44 AM
Hahah, yeah it saves me when people throw rocks of reality after I make baseless feature suggestions such as this one ;)
I guess after running into loads of brick walls as far as the LW SDK is concerned, I'm just to weary to assume that LW does _anything_ correctly or as expected internally...

Cheers,
Mike

hesido
05-27-2005, 02:57 AM
Eheh I can guess so..

But given the fact that this works so far, even with the potential glitches that I haven't come across yet, it will be a invaluable edition to the workflow..

I have given up on my other suggestions actually, I see no reason why they would bother unless a "studio" needs one of those suggestions, but this one I really want lightwave to implement. (I also have not given up on text-field for object referencing, it is a *must* if you are rendering anything more than a single object in your scene. It is a must if you are rigging, it is a must with crowded scenes, it is a must)




I'll keep on making suggestions tho, but from now on, I'll never say how easy they are to implement ;) (But this one is easy to implement, lol)