Opened 3 weeks ago
Last modified 4 days ago
#19819 assigned defect
lighting gui enhancements
| Reported by: | Zach Pearson | Owned by: | Zach Pearson |
|---|---|---|---|
| Priority: | moderate | Milestone: | 1.12 |
| Component: | UI | Version: | |
| Keywords: | Cc: | Elaine Meng, Tom Goddard | |
| Blocked By: | Blocking: | ||
| Notify when closed: | Platform: | all | |
| Project: | ChimeraX |
Description (last modified by )
Per Elaine:
(1) only the "simple" preset restores light colors and directions. IMO for reproducibility they should all restore light colors and directions, at least for the lights they are using (e.g. "flat" has 0 key light intensity, so maybe it's OK it does not restore key light color and direction). Still I think it would be cleanest for the sake of reproducibility if they all restored all the lighting values as listed here:
<https://rbvi.ucsf.edu/chimerax/docs/user/commands/lighting.html#simple>
But if you (TomG) think not all lighting presets should restore those things, let me know what exactly each one is supposed to restore so that I can correct the docs. You might want to consider also having the presets other than flat turn off silhouettes, but I'm fairly neutral on that.
The rest may be issues with the GUI:
Lighting tab:
(2) changing the preset, e.g. from simple to full, does not change the lighting intensities reported on the dialog even though the change is in effect according to what is reported by using the command "lighting" without arguments Maybe the sliders moved to the right place (not sure) but the values reported to the right of them don't change.
(3) maybe the preset name should be grayed out or change to something else (e.g. "none" or "--") as soon as you change some parameter, since the settings no longer reflect that preset.
(4) (minor quibble) the way a directionality arrow disappears when it goes behind the sphere is a little weird, you don't see it change orientation, just blip in and out of existence at the edge of the sphere.
(5) one time I changed the colors in the GUI but they did not appear to affect the main graphics window. That one time, when I then adjusted the directions, the GUI colors snapped back to white. I think Eric saw it, but I haven't reproduced this behavior, so maybe it is hard to get.
Shininess tab:
(6) using the "Sharpness" slider does not work. Error indicates incorrect keyword, should probably be "exponent" and not "specularExponent"
Depth Cue tab, leading to thoughts about the whole GUI:
(7) (minor quibble) the sphere is irrelevant to this tab, right? I.e. its appearance is not supposed to change? A possible GUI rearrangement is to not have tabs and instead put the shininess and lighting parameters all on the left at once. The color wells and blank space around the text could be a lot smaller. The lefthand text could be something like:
Lighting preset [blah]
Key intensity []
Key color []
Fill intensity []
Fill color []
Ambient intensity []
Ambient color []
Material preset [blah]
Sharpness []
Reflectivity []
Might make more sense to put GUI controls for the depth-cue parameters on the Side View instead, even though I they're controlled by the "lighting" command.
(8) If you use "lighting" commands directly to change anything, the dialog, or at least the Lighting tab stuff, does not update to show the current values.
e.g. if you show the Lighting dialog and then use
light color 100,0,0
the "Key color" color well in the GUI just stays white, the sphere shows white light, etc.
Regarding (7), my previously suggested dialog rearrangement, one part of that is that it would be very helpful to add a "Material preset" menu analogous to the "Lighting preset" menu because (A) we have material presets, and also because (B) it is well nigh impossible to get back to the initial value by moving the slider, and there is no type-in field.
I would also add another thing
(9) the title bar should be "Lighting" not "Lighting GUI" because Lighting is what you choose from the Tools menu and expect to see in the list of active dialogs at the bottom of that menu.
Additionally related to my previous comment #7, seems like there should be more material properties in the GUI than only two, one of which does not work (comment #6).
Change History (25)
comment:1 by , 10 days ago
comment:2 by , 10 days ago
| Description: | modified (diff) |
|---|
comment:3 by , 10 days ago
| Cc: | added |
|---|
comment:4 by , 10 days ago
Was it possible that your 'reflectivity' was set to 0 for (5)? The colors change for me.
comment:5 by , 9 days ago
| Cc: | added |
|---|
Tom, would you be opposed to me making 'lighting simple' restore light intensities only, leaving 'lighting default' as the only subcommand to also restore direction? I could work around simple's current behavior in the gui, by saving the light directions and then restoring them, but then it would be odd to see 'lighting simple' in the log and not be able to reproduce the gui behavior with the command.
comment:6 by , 9 days ago
I'm not sure why you need a command to restore the intensities only. Is there a button on the GUI that is supposed to do that? Elaine
comment:7 by , 9 days ago
Yes, the preset dropdown. As you noted in your original email, all presets except 'simple' restore intensity but not direction (or color, for that matter).
comment:8 by , 9 days ago
Yeah my complaint was the opposite thing, I'd expected all of them to restore the directions!
comment:9 by , 9 days ago
There should be a way in the GUI to restore the directions. Don't take away that capability, if that's where you're going. I was resigned to having the simple preset be the only way, but it sounds like you don't want there to be any way to do it.
comment:10 by , 9 days ago
I'm (erroneously) omitting 'default' from the preset list, since 'default' and 'simple' do the same thing. But ideally simple wouldn't restore direction or color, and default would do what simple does now, and I'd list them both in the presets dropdown menu. Does that work or should it be a dedicated button?
comment:11 by , 9 days ago
I personally don't want any preset that restores fewer settings than it does now, but I'll let you and TomG hash it out if you think there needs to be a new one (maybe for backwards compatibility a different name than "default") that is like "simple" except that doesn't restore as many things. Here is the current documentation of the lighting presets and what they restore, which should probably stay the same in case anybody has used them in their existing movie/image scripts: <https://rbvi.ucsf.edu/chimerax/docs/user/commands/lighting.html#simple>
comment:12 by , 9 days ago
The lighting "presets" simple, soft, gentle, full, flat are all intended to be useful shadow settings. Prior to the lighting GUI the only way to change light directions and light colors was the lighting command so I think essentially no one changed light directions or colors. The "default" lighting preset on the other hand is meant to reset all the lighting parameters: shadows, directions, and colors.
I'm not sure how it came about that simple is currently the same as default setting directions and colors. While I say that "simple" was intended to control shadow settings (and not directions and colors) it hasn't mattered what it did with directions and colors because almost no one has changed those since it is cumbersome to try different directions and colors via command.
I suggest we change "simple" so it does not change directions and colors, and leave "default" reseting all the lighting settings to defaults. Usually I am reluctant to change behavior of things people have frequently used (the simple lighting toolbar icon) but I think in this case no one will see a difference.
I think Elaine's desire that the lighting presets all change everything is to get back to a fully determined lighting state. We discussed it in email some months ago. But in practice the presets (other than "default") are intended to try different shadowing. Choosing shadow style is much more common than light directions or colors. But if someone has a reason to change directions or colors, how will they switch between shadow styles without constantly reseting their directions and colors? I think for someone changing directions and colors they surely want the shadow presets (simple, soft, gentle, full, flat) not to modify the directions and colors. If they want to get back to factory settings including directions and colors, that is what "default" is for.
To clarify the lighting behavior in the new lighting gui I'd suggest the label "Preset" be changed to "Shadows" or "Shadow preset". I would not put "default" in that menu. I would put a "Reset" button (and Close and Help buttons) at the bottom, and have Reset use "lighting default" and also "material default".
comment:13 by , 9 days ago
All of that sounds OK with me. I agree not many people have changed lighting colors and directions in the absence of the GUI, and after those earlier discussions with Tom G I understand it makes sense that most of the presets won't reset everything. I just wanted there to be at least one preset and and one easy GUI way to reset everything. If Iunderstand correctly these suggestions are consistent with that: "default" preset, and GUI button "Reset"
comment:14 by , 7 days ago
Got through (3). Now when you move the intensity sliders or change the colors of the lights, the preset dropdown shows -- as a placeholder. It switches back to a preset if you select one from the dropdown, use the toolbar buttons, or issue a command like 'lighting simple'
I also did (1) and brought simple in line with the other presets. It no longer restores direction or color. While I was there, I made the other presets turn silhouettes off, to counteract 'flat' turning them on.
I also added a 'Restore defaults' (Elaine feel free to correct the language) button to the bottom of the lighting form and changed the 'Preset' label to 'Shadow preset', though maybe it should go under everything (as in the form and the sphere) since, as Tom suggested, it runs both 'lighting default' and 'material default'.
comment:15 by , 7 days ago
Please remove the newly added silhouette false from the simple,soft,full,gentle presets. These are very often used with silhouettes when making a publication image and it will be highly annoying if they turn off silhouettes. They are meant to adjust shadows only. The flat preset is an odd-ball because it really needs silhouettes to be on, but the others can have them on or off and should not change the current setting.
comment:17 by , 7 days ago
The "default" lighting preset should not turn off silhouettes. Silhouettes are not part of lighting. It is muddied by the "flat" preset which enables silhouettes. "flat" is treated as a lighting preset even though it isn't strictly lighting. We didn't have another place for "flat". But to the extent feasible the other lighting presets should stick to lighting.
comment:18 by , 7 days ago
Oh, yeah that should have been taken out with the git revert I did. I guess that line polluted the previous commit. It's gone.
comment:19 by , 7 days ago
Yes, and I don't want to have to change all my previous carefully crafted descriptions of all these presets, including how to deal with the sihouettes issue: <https://rbvi.ucsf.edu/chimerax/docs/user/tools/lighting.html> <https://rbvi.ucsf.edu/chimerax/docs/user/commands/lighting.html#simple>
comment:20 by , 4 days ago
After re-evaluating the current Lighting tool: (A) thanks for the fixes (Sharpness traceback, values not updating, etc.) (B) the "Restore Defaults" button is useful -- I would suggest it also run a third command to turn off the silhouttes, unless there are any objections from TomG (C) revisiting my original comments, I would now more strongly advocate for #7 which I no longer consider a minor quibble, namely: putting all the lighting and shininess settings in there at once, rather than in different tabs, and moving depthcue settings to Side View. Reasoning: - Restore Defaults acts on lighting and shininess only - sphere with arrows pertains to lighting and shininess only - the current dialog has very inefficient use of space, there could be a lot less blank padding, and the color wells are almost comically enormous compared to the color wells in any other tools - why make the person click back and forth between Lighting and Shininess? - depth cueing is intimately related to side view because moving the planes is the other way to effectively adjust its appearance. At first I thought: show the side view instead of the sphere when you're in the Depth Cue tab. Then I thought: oh, that's dumb, we should just put the depth-cueing settings on the Side View tool instead.
comment:21 by , 4 days ago
Elaine's suggestions sound reasonable to me. Only I'm not sure resetting silhouettes makes sense. Silhouettes are not part of lighting. I realize they make an appearance in the Flat preset. There isn't any silhouette toggle in this Lighting GUI so I think reset should probably not reset silhouettes unless a silhouette toggle was added.
comment:22 by , 4 days ago
There's a potential pitfall of "restore defaults" -- due to smart initial styling the lighting is not always simple at first, depending on what's open. So somebody might think they'll restore what they had originally, but by clicking that button they will get simple lighting instead. Menu: Presets... Original Look will use the smart initial styling including the indicated light (shadows) preset depending on scene contents. Larger systems could have full or soft lighting, as explained here: <https://rbvi.ucsf.edu/chimerax/docs/user/autostyle.html> Possible responses to this: (A) nothing, i.e. keep current behavior of Restore Defaults (I recommend also turning off silhouettes, for a total of 3 commands) (B) make Restore Defaults use an additional command after those three, after determining the appropriate lighting preset based on scene contents with the smart styling logic. You'd still need "lighting default" first, however, to reset colors/directions (C) change button label to "Default Lighting" (albeit not a verb but less implication that you are restoring something you had before)
comment:23 by , 4 days ago
I personally would advocate for turning off silhouettes with the restore button, unless you are going to put a seahorse icon directly on the Lighting gui. Otherwise seems unnecessarily annoying to make them figure out how to turn it off elsewhere.
comment:24 by , 4 days ago
I think the "Default lighting" button is maybe a bit more accurate than "Restore lighting". I would not try to deduce what the auto-styling lighting was, since the first model that set that lighting might not even be open any more.
I guess I still don't understand why the "default lighting" button in the gui would turn off silhouettes when there is no control to turn them on in that gui. I think if the user is changing lighting because they are making a presentation image and the already turned on silhouettes some time before with the toolbar they might be rather annoyed that "Default lighting" turns of silhouettes.
I do think that silhouettes have a kinship with lighting and having a toggle in the lighting gui for them might be nice. But it might be hard to find a place where that makes sense in the gui. Chimera had a separate "Effects" tab that included "depth cue", "silhouettes" and "graphics quality".
comment:25 by , 4 days ago
I'll go with what Tom G prefers on the silhouettes, however. Sorry for the too many comments.
I think 2, 6, 8, 9 are solved.