Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix, feat: canvas followups 15 #6919

Merged
merged 20 commits into from
Sep 23, 2024
Merged

Conversation

psychedelicious
Copy link
Collaborator

Summary

Fixes

  • Fix: Transform UI translations
  • Fix: Last staged/progress image flashes when accepting staged image
  • Fix: Lag when discarding staging area entirely
  • Fix: Hide tool preview (e.g. the brush preview) while filtering
  • Fix: Bbox not centered on first app startup (janky fix but it works for now...)

Enhancements

  • Feat: Add fit bbox to canvas hotkey
  • Feat: Add color swatches to mask fill color picker
  • Feat: Handle FLUX bbox constraints
  • Feat: On accept staging area image, if a raster layer is selected, switch to the new raster layer, else do not switch selected layer
  • Feat: Improve layout of canvas toolbar view buttons
  • Feat: Rework isolated preview logic - now split into isolated staging preview, isolated filtering preview, isolated transforming preview - add toggles on canvas settings popover & filter/transform popups
  • Feat: Reworked models loaded listener, fixes bug where incorrect model type cold be selected for upscaling model
  • Feat: Canvas send-to alerts are not dismissable

Tidy

  • Tidy: Remove useless use size button on IP adapter images
  • Tidy: Mark core metadata node internal

Internal

  • Internal: Split up staging area toolbar components

Related Issues / Discussions

discord/offline discussions

QA Instructions

The big change is the reworked bbox constraints. It should be very difficult (hopefully impossible) to end up with a invalid width/height for FLUX or SD models, regardless of how you fiddle with bbox or model settings. If you do somehow end up with an invalid w/h, the invoke tooltip now is much more descriptive, saying whether it's the width or height that is invalid, and if its the bbox or scaled bbox.

T2I adapter does not have special handling, just better alerting in the invoke tooltip.

Merge Plan

n/a

Checklist

  • The PR has a short but descriptive title, suitable for a changelog
  • Tests added / updated (if applicable)
  • Documentation added / updated (if applicable)

@github-actions github-actions bot added python PRs that change python files invocations PRs that change invocations frontend PRs that change frontend files labels Sep 23, 2024
…yer currently selected

Also clean up some jank w/ the handling of accepting staging images - there was this no-op action & a listener for it... should just be a simple callback.
Need to destroy the progress image and staging image when we finish with them.
We need to ensure the getQueueCountsByDestination query is sync'd, invalidating its tags as queue items complete. Unfortunately it's 2 extra network requests per queue item.
Previously the setting was `showOnlyRasterLayersWhileStaging`. This has been renamed to `isolatedStagingPreview`. Works the same.

Also added `isolatedFilteringPreview` an `isolatedTransformingPreview`. These work the same way, but they isolate the current selected layer. There are toggles in the canvas settings popover _and_ the filter/transform popups (same setting).
- Use consistent logic for all model type handlers
- Fix bug where we could select invalid upscaling models (not sure how this hadn't caused problems...)
- Add logging for each action
- Only reset models when there is a change to be made - skip dispatching actions when there would be no change made to state
This serves no purpose and complicates bbox size handling.
- Update canvas slice's to track the current base model architecture instead of just the optimal dimension. This lets us derive both optimal dimension _and_ grid size for the currently selected model.
- Update all bbox size utilities to use derived grid size instead of hardcoded values of 8 or 64
- Review every damned instance of the number 8 in the whole frontend and update the ones that need to use the grid size
- Update the invoke button blocking logic to check against scaled bbox size, unless scaling is disabled.
- Update the invoke button blocking to say if it's width or height that is invalid and if its bbox or scaled, for both FLUX and the T2I adapter constraints
@hipsterusername hipsterusername merged commit af38757 into main Sep 23, 2024
14 checks passed
@hipsterusername hipsterusername deleted the psyche/canvas-followups-15 branch September 23, 2024 13:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
frontend PRs that change frontend files invocations PRs that change invocations python PRs that change python files
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants