zero01101 / openOutpaint

local offline javascript and html canvas outpainting gizmo for stable diffusion webUI API 🐠
MIT License
507 stars 44 forks source link

2022-12-13 Testing Pull #100

Closed seijihariki closed 1 year ago

seijihariki commented 1 year ago

For now, changes default to sync cursor and resolution. Also adds generation resolution (albeit smaller) to cursor render to make it more explicit.

seijihariki commented 1 year ago

Add drag area selection for dream generation. There is some duplicate code, but will handle that another day. Supposedly partially solves #91.

zero01101 commented 1 year ago

good heavens the drag-arbitrary-area dream tool is like 4x nicer than i was imagining given that i suggested an entirely different tool

i've actually already caught the secondary render resolution indicator in action a few times, saving me after i accidentally left sync off when testing #99 lol

seriously though 100% delightful 👍

zero01101 commented 1 year ago

:| just noticed the reuse random seed thing was actually quite broken without setting stableDiffusionData.seed ha ha ha

also makes fixed-seed makeMore() button work :)

seijihariki commented 1 year ago

Fixed (supposedly) #99. Let's wait for responses to #99 and #93 to merge this pull request.

zero01101 commented 1 year ago

new changes here are wonderful as always for what it's worth 👍

seijihariki commented 1 year ago

new changes here are wonderful as always for what it's worth +1

Yeah, but this pull is dragging a bit! Today (maybe tonight) will try doing the keep mask Gaussian blur and merge this thing

seijihariki commented 1 year ago

@zero01101 Do you think it's too big of a change? (this last commit)

seijihariki commented 1 year ago

Solving the incompatibility in another way would likely require modifying the viewport to use world coordinates for dragging the canvas, which is... How could I say... Hard.

zero01101 commented 1 year ago

Yeah, but this pull is dragging a bit!

i'm in no hurry lmao - this is still a silly little gizmo toy project to me, i'm just thrilled other people use it :) i'll likely be somewhat predisposed for the near foreseeable future anyhow :/

Do you think it's too big of a change? (this last commit)

i unfortunately won't get a chance to even try it for hours, will check this evening, a quick glance doesn't appear to be TOO overwhelming however and knowing you, it's pretty sure to be masterful :)

[edit]

OHH you probably mean, like, UX-wise i'm guessing? it admittedly did take me a bit to figure out what was going on there... i think people already used to just middle-click dragging will of course be pretty confused, and using bare middle-click panning does kind of fit with a more "universal" mouse functionality for, like, the greater scope of a web browser in general... however,

consistency with zoom

100% makes sense too... the more i think about that bit of it, yeah, "pan and zoom controls are handled with the mousewheel combined with the ctrl button" is quite reasonable :D

[/edit]

actually, i just pushed some changes i failed to last night (luckily no merge conflicts lol); you might want to give them a once-over and make sure i didn't ruin something inadvertently since i had to modify the _dream() output :|

zero01101 commented 1 year ago

hm, seems something's firing _dream_onwheel twice when changing reticle size... seems to have been introduced with https://github.com/zero01101/openOutpaint/pull/100/commits/9a81946eef6a80885afe7e4752aa120187685fd2

seijihariki commented 1 year ago

hm, seems something's firing _dream_onwheel twice when changing reticle size... seems to have been introduced with https://github.com/zero01101/openOutpaint/pull/100/commits/9a81946eef6a80885afe7e4752aa120187685fd2

Will give this a look.

Yeah, about the Ctrl for pan was mostly because it would be quite difficult to allow it to work as is without messing with other things and then I made up the consistency argument after that.

But the more I think about it, it seems more like a logical thing to do.

zero01101 commented 1 year ago

lol yeah i'm trying to figure out what causes it too, stepping through is weird; like the new swheel handler picks up first but fails to kick in as expected but i can't see what's causing the normal wheel handler to get too excited

seijihariki commented 1 year ago

There shouldn't be anything that could duplicate an event, I think. I'm via cellphone for now, but I can look into it a bit.

zero01101 commented 1 year ago

oh geez, of course no hurries at all lol, just finally getting a chance to check out your commits and noticed that so i started going back through each commit to see where it started :D

seijihariki commented 1 year ago

Got home, found the issue. (Duplicate listener registered) image

zero01101 commented 1 year ago

lmao and here i was THIS CLOSE to saying "ok ok ok i found something; look in current branch there's 3 handlers registered and one looks duplicated" but you had to be just a bit faster ;) image

confirmed fixed :D

[edit]

i JUST noticed that those are three different handlers and am now questioning my ability to read

seijihariki commented 1 year ago

lmao and here i was THIS CLOSE to saying "ok ok ok i found something; look in current branch there's 3 handlers registered and one looks duplicated" but you had to be just a bit faster ;) image

confirmed fixed :D

[edit]

i JUST noticed that those are three different handlers and am now questioning my ability to read

Haha yeah, I used the ol' debugging prints to check for wheel events specifically:

image

Will be merging this pull now.

zero01101 commented 1 year ago

working on wiki here and there, will also version bump main when that's all set. my sincerest gratitude as always :)

seijihariki commented 1 year ago

Okay, thanks! Created discussion to notify people about the pan control changes.

zero01101 commented 1 year ago

good plan; i'll also put a callout in the readme features about that 👍