Gerschel / sd_web_ui_preset_utils

Preset Manager moved private
252 stars 20 forks source link

Sorting the list #31

Open Woisek opened 1 year ago

Woisek commented 1 year ago

In the title. I miss a convenient way to sort the preset list. Any chance to get this ... ?

Great and helpful tool otherwise, thanks.

Gerschel commented 1 year ago

I'm considering it. It makes sense. I'm at a crossroads with this tool. I think I will like to update it, but going back to version 1 and updating it feels like a regression, because I had 100 hours into a version 2.

If you weren't aware, at one point I had a version 2. Some changes in the webui broke it near daily, so I gave up on it.
I figured out how to fix it, and the things that were changing seem stable, like they will only change when a gradio update occurs or some refactor of the ui. So, techinically it could've worked for weeks at this point.
That and a few other little things (more than one person stealing code from several projects and submitting as built-in as their own work) frustrated me and gave me burn out.
So I had closed this project, but two users for a long time that I had back and forth conversations with convinced me to reopen it.

But the burnout was still there.
https://github.com/AUTOMATIC1111/stable-diffusion-webui/discussions/6808#discussioncomment-4743509 ( the issues it had in the first announcement did get fix) I had pondered about submitting a cleaner version, chunks at a time to the core app.

Now I'm considering trimming version 2 down and merging it with this version.
What version 2 featured was control on every option on every tab, presets for anything. The issue was, it had to live between every tab change, so it technically lived in the quicksettings area, but was pulled from the flow and was a draggable collapsible window. But that seemed to be a nuissance, even to me, because when it was pulled from the flow, then it felt like it was in the way somewhere all the time, but, technically a person wouldn't need to use the ui after they configured their presets for the tab.
https://github.com/AUTOMATIC1111/stable-diffusion-webui/discussions/6808

It was unfortunate that the timing from the volunteer tester kept testing it after ui changes occured that broke it. Like serious bad luck.

So right now I am considering updating this project, but slimmed down from version 2, just focus on the two main tabs, no floating window, maybe an option to inject it to some other tabs or turn on "all tabs" as an exeperimental mode that can be triggered off.

What are your thoughts? I can update to a mid version, whatever it would be called, it would technically be a rewrite, but I have two versions of code to go off of. It would work for txt2img and img2img by default, all elements including scripts. Is this a middle ground for the time?
C.R.U.D. and sort makes sense either way.

Woisek commented 1 year ago

@Gerschel Hey, thanks for this detailed explanation and your thoughts. Being a developer myself, I can totally relate to your go-through. And I think it's great that you are going on. :)

Like I always say, I don't know how Gradio works, but I always try to think and keep things simple. I think the presets panel is OK in those two tabs, no need to be anywhere else, too. And for the sorting thing, I think the settings page would be the right place to put it. There you have (I hope) any possibilities to implement it. From a fancy drag and drop to a simple sorting number. Anything is OK, because I assume "sorting" won't be used on a daily basis or even hourly. :) But overall, just take your time to think about it. Maybe you also get an idea on how to implement the new controlnet options into the preset options. ;) hint hint

Thanks again!

NoppaiKohai commented 1 year ago

Sorting would be handy, but I understand the pain. Thank you for working on it as much as you have, this extension is absolutely amazing!!!

I don't know if you've tried it, but ChatGPT using GPT4 is really really good at coding and might be able to help as well if you are struggling with something. A lot of programmers I've seen have been blown away by how good it is, so it might save you a lot of head aches