InvokeAI/invokeai/frontend/web
psychedelicious 4599517c6c feat: add private node for linear UI image outputting
Add a LinearUIOutputInvocation node to be the new terminal node for Linear UI graphs. This node is private and hidden from the Workflow Editor, as it is an implementation detail.

The Linear UI was using the Save Image node for this purpose. It allowed every linear graph to end a single node type, which handled saving metadata and board. This substantially reduced the complexity of the linear graphs.

This caused two related issues:
- Images were saved to disk twice
- Noticeable delay between when an image was decoded and showed up in the UI

To resolve this, the new LinearUIOutputInvocation node will handle adding an image to a board if one is provided.

Metadata is no longer provided in this unified node. Instead, the metadata graph helpers now need to know the node to add metadata to and provide it to the last node that actually outputs an image. This is a `l2i` node for txt2img & img2img graphs, and a different image-outputting node for canvas graphs.

HRF poses another complication, in that it changes the terminal node. To handle this, a new metadata util is added called `setMetadataReceivingNode()`. HRF calls this to change the node that should receive the graph's metadata.

This resolves the duplicate images issue and improves perf without otherwise changing the user experience.
2023-11-16 18:56:59 +11:00
..
.husky fix(ui): post-onnx fixes 2023-08-01 07:59:01 -04:00
.yarn/releases all files migrated; tweaks needed 2023-03-03 00:02:15 -05:00
config export theme nad move chakra to peer dep 2023-08-01 08:54:03 +10:00
dist revert frontend dist files to main 2023-11-10 17:57:18 -05:00
docs dummy commit to make github actions run 2023-06-04 22:55:35 +10:00
public/locales feat(ui): add Update All Nodes button 2023-11-16 12:42:25 +11:00
scripts fix(ui): simplify typegen script 2023-08-23 23:06:42 +10:00
src feat: add private node for linear UI image outputting 2023-11-16 18:56:59 +11:00
static/docs feat(api): serve app via route & add cache-control: no-store 2023-10-19 08:52:02 +11:00
tests Partial migration of UI to nodes API (#3195) 2023-04-22 13:10:20 +10:00
__init__.py Run python black 2023-07-28 09:46:44 -04:00
.eslintignore feat: workflow saving and loading 2023-08-24 21:42:32 +10:00
.eslintrc.js feat(ui): add eslint rule react/jsx-no-bind 2023-11-13 10:01:14 +11:00
.gitignore build(ui): add yalc to gitignore 2023-05-11 11:55:51 +10:00
.prettierignore fix(ui): prettier ignores translation files 2023-10-12 21:37:45 +11:00
.prettierrc.js feat(ui): migrate theming to chakra ui 2023-03-06 20:03:39 +11:00
.yarnrc all files migrated; tweaks needed 2023-03-03 00:02:15 -05:00
.yarnrc.yml all files migrated; tweaks needed 2023-03-03 00:02:15 -05:00
favicon.ico all files migrated; tweaks needed 2023-03-03 00:02:15 -05:00
index.html Prevent caching to ensure updated UI is shown 2023-10-04 22:32:00 +11:00
package.json chore(ui): update all deps 2023-11-10 09:50:00 +11:00
tsconfig.json feat: add multi-select to gallery 2023-08-03 11:46:59 +10:00
tsconfig.node.json feat(ui): improved node parsing 2023-06-26 11:53:54 +10:00
vite.config.ts build(ui): treeshake lodash via lodash-es 2023-04-28 21:56:43 +10:00
yarn.lock chore(ui): manually update vite to fix security issue in hoisted dep 2023-11-10 06:58:22 -08:00