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 12 #6884

Merged
merged 35 commits into from
Sep 19, 2024
Merged

Conversation

psychedelicious
Copy link
Collaborator

Summary

Fixes

  • Do not add canvas intermediates to boards
  • Do not show intermediates for board thumbnails
  • Do not count intermediates in board totals
  • Disable canvas hotkeys when viewer is open
  • Node execution states (i.e. the status of individual nodes in a workflow) not updating while running graph
  • Minor translation fixes

Enhancements

  • Revised canvas zoom UI & hotkeys (same as affinity/PS: mod+0 for fit, mod+1/2/3/4 for 100%/200%/400%/800%)
  • Cleaned up canvas toolbar (zoom buttons, fit buttons, added undo/redo buttons)
  • Removed auto-save canvas setting
  • Add simple swatches to color picker menu
  • Add d hotkey to set color to white (mirrors similar functionality in affinity/PS, though it doesn't match 1-to-1)
  • Show alert on viewer while staging
  • Add "New Canvas from Image" to image context menu
  • Differentiate "Add Layer" and "Add Layer of Type" icons - "Add Layer" is unchanged (plus sign), "Add Layer of Type" is a rectangle, similar to the icon in affinity/PS
  • Reworked send-to toggle* design, and it is disabled while staging
  • Canvas metadata recall

*Pending offline discussion

Related Issues / Discussions

n/a

QA Instructions

Try it out

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 services PRs that change app services frontend PRs that change frontend files labels Sep 19, 2024
This setting's interactions with canvas were unintuitive and at odds with the modal nature of canvas v2 generations.
This mirrors affinity/photoshop's default `d` hotkey, which sets the fg/bg to white/black. We don't have a concept of "background color", and white is more useful for control images, so it sets to white.
- Add buttons to zoom in/out
- Update hotkeys for fit & 100% to match affinity (e.g. ctrl+0, ctrl+1)
- Add hotkeys for 200%, 400%, 800%
- Update tooltips
Also update the verbiage for the alerts:
- "Sending to Canvas" -> "Staging Generations on Canvas"
- "Sending to Gallery" -> "Sending Generations to Gallery"
- Renamed "Send to Canvas" -> "New Layer from Image"
- Added "New Canvas from Image"

This clarifies the purpose of the menu items and gives tablet users a way to easily add images tot he canvas.
- Add async zod refiner to `zImageWithDims` which fetches the image as part of validation
- Add `zServerValidatedModelIdentifierField`, a zod-refined version of `zModelIdentifierField` which fetches the model as part of validation
- Add `zCanvasMetadata` zod schema, which contains only canvas entities - no bbox, and no `isHidden` flags
- Allow `uploadImage` util to accept `metadata` to embed in the image
- Update compositor to support `metadata` field when uploading rasterized composite layer
- Add parser, recaller and handler
- Add redux action to rehydrate the whole shebang at once
We must ignore the cache when validating metadata, else a recently-deleted image may still be cached and we get erroneously successful validation.
Fixes an issue where indeterminate progress wasn't shown.
@psychedelicious psychedelicious merged commit 13db18f into main Sep 19, 2024
14 checks passed
@psychedelicious psychedelicious deleted the psyche/canvas-followups-12 branch September 19, 2024 13:36
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 python PRs that change python files services PRs that change app services
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants