hanatos / vkdt

raw photography workflow that sucks less
https://jo.dreggn.org/vkdt
BSD 2-Clause "Simplified" License
389 stars 36 forks source link

Modules Reset When Switching Images #139

Open jedypod opened 2 months ago

jedypod commented 2 months ago

In the latest version of vkdt (compiled today), it looks like when i click on a module in the darkroom view, it expands the module's parameters but removes all other modules. And if I switch images, the module view resets. Not sure if this is intentional or not but I did enjoy the previous design where the module state (what is expanded or not) remains when switching images, and being able to expand and see the parameters of multiple modules at the same time was kind of nice in case I wanted to adjust parameters from two modules at the same time.

Not sure if this change was intentional or not, or if I'm missing some other workflow, but just thought I would weigh in with my thoughts!

Here's a screenrecording as well, which will probably make the issue more clear:

https://github.com/user-attachments/assets/4a1f7abc-7336-4576-8f61-23a583065de3

Hope it helps!

jedypod commented 2 months ago

Maybe there's an easy way to customize the contents of the favourites tab? It looks like the readme on this doesn't exist yet :)

hanatos commented 2 months ago

thanks for the screencast! and yes, workflow discussions very much welcomed.

so there's three things here:

1) hiding the list of modules when expanding one of them: yes this was intentional.. i was bothered by all the clutter with all the modules open at the same time. i suppose once you're used to the gui/are an expert user there's some value in keeping stuff open. if you think the old behaviour is better, shout, and i'll make it an option.

2) keeping the same module open for the next image: this sounds like a useful side effect.. it's a bit dangerous to do internally because the graph might be completely different. i think i should explicitly make this work.

3) favourites! the quick explanation is: find darkroom.ui in the vkdt folder, copy it to ~/.config/vkdt/darkroom.ui and edit to taste. the version in git looks like:

colour:01:exposure:slider:-10:10
filmcurv:01:light:slider:0:10
filmcurv:01:contrast:slider:0:2
crop:01:perspect:quad
crop:01:crop:axquad
crop:01:rotate:straight
llap:01:clarity:slider:-1.0:10.0
llap:01:shadows:slider:0.0:2.0
llap:01:hilights:slider:0.0:2.0
denoise:01:strength:slider:0:1
rt:01:cam:grab
quake:main:cam:grab

every line represents one ui element, and the file determines the order in which these will appear in the favourites ui tab. the first two strings identify the module and instance, if these aren't on your current graph, the element will not be shown.

the third is the name of the parameter, the fourth identifies the ui element used to change the parameter, followed by optional arguments for the ui element (slider ranges, which you can btw always override by mouse clicking the number+typing).

these ui widget descriptions are mostly a straight copy from the params.ui file in the respective module subdirectories. i suppose there would be value in a simple gui way of modifying this.

darkroom.ui is read from vkdt's data directory, and the version in your home will take precedence if it's found.

(i should write these docs)

jedypod commented 1 month ago

Thanks for the detailed reply (and apologies for the delay in getting back to you on this).

I am kindof leaning towards liking the old behavior better, where all modules were shown when expanding the parameters of a single module. Hiding the all modules except the current one is more disorienting than helpful I think, but this might just be because I was used to the old way, and am often adjusting parameters of multiple modules at the same time or as part of the same processing steps. I guess I could code modules that have more parameters combined together, but I kindof like the node-based compositing application motto that one node should do one simple thing and keep complexity to a minimum.

It helps a lot knowing how to customize the favorites. I think if there were an easy user-controllable way of customizing what showed up in the favorites (e.g. right-click on parameter, add "pin" to favorites, and maybe the ability to remove from the favorites easily) - this might go a long way towards being able to easily customize the non-technical user's desired parameters as they wish.

Thanks for 07d75b1 as well, this helps a lot.