#Multi-Canvas

23 messages · Page 1 of 1 (latest)

vestal otter
#

Currently, parameters in the left panel are shared among all the tabs (generate, canvas, upscaling), while the multi-canvas feature, to provide higher degree of isolation between work in different canvases, would require separated parameters per canvas.

Now it would be easy to keep parameters separated per tab.

What are the pros/cons for separating them?
How about your thoughts and concerns?

tight tiger
#

In my opinion parameters should be kept separate between tabs. With Recall Metadata it is easy to transfer them to new tab if needed.

In my view i would use another tab if i suddenly need to work on completely different thing. Maybe some quick concept exploration or full scale project for example and want to keep my initial settings intact.
Ideally project file save would fit better for this purpose.

Other question, how it would handle memory wise? I already see struggle in switching between modes if a have multiple raster and control layers (say 20-30). Now multiply it by amount of tabs you have.

I already hear people complaining about robbing them of vertical space populated by tabs 🤭.

Those are my initial thoughts and i want to see what others have to say.

vestal otter
#

Actually, the term tab is used for the modes: generate, canvas, upscaling, etc. Here I'm asking opinions about parameters separated between these modes. Currently, they are shared.

#

Performance is a matter we need to keep an eye on and ideally this feature should not have an adverse impact on it.

tight tiger
#

I rarely use Generate mode. Most of my time i spend in canvas. The upscale definitely needs to have separate settings, because models, steps, scheduler and so on often have to be changed when upscaling an image. We already have them separated in some degree, but further disconnection from generate/canvas is quite welcome.

vestal otter
tight tiger
#

I just remember people complaining about little preview thumbnails on the bottom and had that thought when i saw the canvas tabs.

#

I have one idea, but it most likely stupid to have them crammed into most upper row. Add separator after "image viewer" and have them populate otherwise empty space.

vestal otter
#

My idea is having a small canvas instance selector tool in the toolbox + hotkeys for quick access

tight tiger
#

I'm not a fan of hiding stuff like tabs behind a sub menus. I regularly using a tablet for my stuff and TBH hate them 🙃

zealous thicket
vestal otter
#

Multi-canvas is a relatively complex change with some major, but still open discussions.

#

I've already implemented most of the Redux related schema changes, but multi-slice migration is an open discussion.
How this feature affects the CanvasManager hasn't been discussed either.

#

Requested changes have been added, but current status of the PR hasn't been reviewed yet.

#

I'm aware that this PR currently introduces multiple minor regressions, but I don't want to make further progress until I receive feedback.

zealous thicket
#

Thanks for the update. I personally think it's a great feature and if you can get it all fixed up, I'd love to see a Workflow version as well.

vestal otter
#

I expect that after sorting out the Multi-Canvas feature, it will be much easier to extend the Workflow one as well.

thorny kraken
#

That's my hope as well. I looked into getting a canvas attached to workflows, but it's all wrapped up in the fact that there's one global canvas, and piggybacking on multi canvas would be a lot easier.

vestal otter
#

@distant acorn, rough list of major tasks:

  • Refactor Redux selectors: replace direct state access with selector functions to decouple slices and simplify future refactors. Define reusable selectors alongside their corresponding reducers to encapsulate implementation details within each slice file.
  • Implement inter-slice migration: explore refactoring the migration process to leverage the redux-remigrate package
  • Implement visual representation: build a basic visual prototype; refine UX and visuals during pre-release based on user feedback
  • Refactor slices: introduce active canvas
vestal otter
#

Let me know your thoughts on how to better break this large task into smaller pieces. After that, we can create the related subtasks and I’ll proceed with the implementation.

zealous thicket
#

I would also like to know about the difficulty of multi-workflow - could both be implemented at the same time?