Feature Request: Select next layer in drop down menu when removing most recent '[Control]' layer
Suggestion
Select next available layer from "Layers" docker in the Control Layer's drop down when deleting a generated control layer from the docker and the layer was selected in the Control Layer drop down layer menu.
Reason
When removing a generated control layer e.g., '[Control] <Soft Edge, Canny Edge, Depth>' the Control Layer is removed.
Steps To Reproduce
- Add Control Layer [Canny, Soft, Depth, ..] # I haven't tested all control layers
- Generate control layer
- In "Layers" docker remove the generated '[Control]
' layer
Manual fix
Before removing generated control layer from "Layers" docker, select a different layer in the Control Layer drop down menu.
Conclusion
Control Layer options panels in the AI Image Generation docker are removed when the current layer selected in the Control Layer's drop down menu is removed. This requires adding the Control Layer again by clicking "Add Control Layer".
The idea was that if you remove the layer, you no longer want the control layer.
I think it's maybe not the best solution, but is switching to the next layer really better? It is unlikely to be a suited layer.
@Acly Appreciate your work and your quick reply.
Yeah, I thought you already put some thoughts into this and I see where you're coming from. Maybe my issue is with my lack of understanding of how these layers actual work and more importantly what gets passed to ComfyUI (is it all layers | is it only visible layers | is it the current selected layer (visible or not) etc (?) and that I've been struggling to get consistent layers out of canny.
So what I've done (this might be the actual problem, and my request is merely fixing my own 'symptoms' which is obviously not a good request then), is to keep trying to ensure that the paint layer e.g., a face I want the canny layer from, is selected and generate another canny control layer with different range/strengths, causing a lot of generated control layers to build up trying to get the results I'm hoping for, then I remove these control layers because I'm unsure of the inner workings and fear that these additional layers "muddy" the control layer generation.
I have a lot of respect for all you've done and keep doing for the community, your project is second to none, and, you've done an outstanding job with documentation as well which, with all respect, is a little encumbered by the fact that the plugin has developed so much so rapidly.
To maybe just end this issue here, I've begun to review the workflows after trying things and likely I will just "get it" eventually.
One thing I found was that a lot of good resources is "hidden away" here on github e.g., in the release pages. If you could somehow include those detailed release notes in the source (anywhere basically) then deepwiki could pick it up and you wouldn't have to build onto docs.interstice.cloud (which I really like for its simplicity.
Sorry this just became a feedback post but, also, to my former point about the rapid development I see a bunch of "not found" for things that do work, likely because there now is e.g., a newer model of control layer etc. but it can be difficult to figure out which actually is actively support. In my example I've been wondering why it doesn't find flux1-redux-dev.safetensors and lcm sd1.5 lora but in sources at ../presets/*.json there's no reference of lcm.
This is not a rant, this is the most thought out and well implemented project I've ever seen and I really do hope to be able to contribute in a more active way in the future.
Thanks again
This kind of feedback is usually a lot more useful than a direct feature request :)
This info could probably be added to docs somewhere:
- Control images (eg the canny lines) are always generated from the current content in the canvas (all visible layers). The sliders like strength/range have no effect on generating the control image.
- You can change the content in the canvas and click the button again without adding a new control layer. It will create a new Krita layer and switch the control layer to use that.
- Each control layer you create sends the content of its selected layer - you usually don't want multiple of the same kind. But additional Krita layers have no effect at all if they're not selected, they're just regular layers.
- Active Layer has no effect in any case
Kinda sounds like you just want to do 2. a bunch of times, choose the result you like, then delete the Krita layers you don't need?