Commit Graph

3108 Commits

Author SHA1 Message Date
psychedelicious
0b9ae74192 fix(stats): RuntimeError: dictionary changed size during iteration 2023-08-21 19:17:36 +10:00
psychedelicious
165c57c001 feat(ui): add select all to workflow editor 2023-08-21 19:17:36 +10:00
psychedelicious
2514af79a0 feat(ui): crude node outputs display
Resets on invoke. Nothing fancy for the UI yet, just simple text (for numbers and strings) or image. For other output types, the output in JSON.
2023-08-21 19:17:36 +10:00
psychedelicious
f952f8f685 feat(ui): add typegen customisation for invocation outputs
The `type` property is required on all of them, but because this is defined in pydantic as a Literal, it is not required in the OpenAPI schema. Easier to fix this by changing the generated types than fiddling around with pydantic.
2023-08-21 19:17:36 +10:00
psychedelicious
484b572023 feat(nodes): primitives have value instead of a as field names 2023-08-21 19:17:36 +10:00
psychedelicious
cd9baf8092 fix(stats): fix InvocationStatsService types
- move docstrings to ABC
- `start_time: int` -> `start_time: float`
- remove class attribute assignments in `StatsContext`
- add `update_mem_stats()` to ABC
- add class attributes to ABC, because they are referenced in instances of the class. if they should not be on the ABC, then maybe there needs to be some restructuring
2023-08-21 19:17:36 +10:00
psychedelicious
81385d7d35 fix(stats): fix fail case when previous graph is invalid
When retrieving a graph, it is parsed through pydantic. It is possible that this graph is invalid, and an error is thrown.

Handle this by deleting the failed graph from the stats if this occurs.
2023-08-21 19:17:36 +10:00
psychedelicious
519bcb38c1 feat(ui): node delete, copy, paste 2023-08-21 19:17:36 +10:00
psychedelicious
567d46b646 feat(ui): delete key works on workflow editor 2023-08-21 19:17:36 +10:00
psychedelicious
030802295b feat(ui): reset only specific nodes/cnet that use images
Previously if an image was used in nodes and you deleted it, it would reset all of node editor. Same for controlnet.

Now it only resets the specific nodes or controlnets that used that image.
2023-08-21 19:17:36 +10:00
psychedelicious
a495c8c156 feat(ui): misc cleanups 2023-08-21 19:17:36 +10:00
psychedelicious
ae6db67068 feat(ui): add width to mantine selects 2023-08-21 19:17:36 +10:00
psychedelicious
3d84e7756a fix(nodes): fix field names 2023-08-21 19:17:36 +10:00
psychedelicious
98431b3de4 feat: add Scheduler as field type
- update node schemas
- add `UIType.Scheduler`
- add field type to schema parser, input components
2023-08-21 19:17:36 +10:00
psychedelicious
210a3f9aa7 feat(ui): make mantine single selects *exactly* the same size as chakra ones 2023-08-21 19:17:36 +10:00
psychedelicious
9332ce639c fix(ui): fix node mouse interactions
Add "nodrag", "nowheel" and "nopan" class names in interactable elements, as neeeded. This fixes the mouse interactions and also makes the node draggable from anywhere without needing shift.

Also fixes ctrl/cmd multi-select to support deselecting.
2023-08-21 19:17:36 +10:00
psychedelicious
84cf8bdc08 feat(ui): field context menu, add/remove from linear ui 2023-08-21 19:17:36 +10:00
psychedelicious
64a6aa0293 fix(ui): move BoardContextMenu to use IAIContextMenu 2023-08-21 19:17:36 +10:00
psychedelicious
5ae14bffba fix(ui): clear exposedFields when resetting graph 2023-08-21 19:17:36 +10:00
psychedelicious
0909812c84 chore: black 2023-08-21 19:17:15 +10:00
psychedelicious
66c0aea9e7 fix(nodes): removed duplicate node 2023-08-21 19:17:15 +10:00
Damian Stewart
2bcded78e1 add BlendInvocation 2023-08-21 19:17:15 +10:00
Sergey Borisov
beb3e5aeb7 Report correctly to compel if we want get pooled in future(affects blend computation) 2023-08-21 19:05:40 +10:00
Kevin Turner
2fef478497 fix(convert_ckpt): Removed is_safetensors_available as safetensors is now a required dependency. 2023-08-18 11:05:59 -07:00
Kevin Turner
6df6abf6f6
Merge branch 'main' into dep/diffusers020 2023-08-18 11:02:52 -07:00
Martin Kristiansen
ce465acf04 Fixed OnnxRuntimeModel import 2023-08-18 15:52:04 +10:00
Martin Kristiansen
33ee418d8c Fixing class level import 2023-08-18 15:52:04 +10:00
Martin Kristiansen
537ae2f901 Resolving merge conflicts for flake8 2023-08-18 15:52:04 +10:00
psychedelicious
f6db9da06c chore(ui): rename file to not cause madge to fail 2023-08-18 13:20:29 +10:00
psychedelicious
a17dbd7df6 feat(ui): improve error toast messages 2023-08-18 13:20:29 +10:00
Kevin Turner
98a4cc20a9
Merge branch 'main' into dep/diffusers020 2023-08-17 20:04:11 -07:00
Lincoln Stein
4ebe839d54
Merge branch 'main' into bugfix/enable-links-in-autoimport 2023-08-17 18:55:45 -04:00
Lincoln Stein
bc16b50302 add followlinks to all os.walk() calls 2023-08-17 18:54:18 -04:00
Kevin Turner
4267132926 dep(diffusers): upgrade diffusers to 0.20
Removed `is_safetensors_available` as safetensors is now a required dependency of diffusers.
2023-08-17 13:42:29 -07:00
Lincoln Stein
1102c12084
Merge branch 'main' into fix/sdxl_controlnet 2023-08-17 15:40:51 -04:00
Lincoln Stein
b5cee7d20c blackify chore 2023-08-17 15:40:15 -04:00
Lincoln Stein
842eb4bb0a
Merge branch 'main' into bugfix/enable-links-in-autoimport 2023-08-17 07:20:26 -04:00
blessedcoolant
8923201fdf
Merge branch 'main' into seam-painting 2023-08-17 21:21:44 +12:00
mickr777
226409107b Fix for Image Deletion issue 2023-08-17 17:18:11 +10:00
Lincoln Stein
daf75a1361 blackify 2023-08-16 21:47:29 -04:00
Lincoln Stein
c39f8b478b fix misplaced ram_used and ram_changed attributes 2023-08-16 21:39:18 -04:00
Lincoln Stein
2ca8611723 add +/- sign in front of RAM delta 2023-08-16 15:53:01 -04:00
Lincoln Stein
b12cf315a8
Merge branch 'main' into feat/collect-more-stats 2023-08-16 09:19:33 -04:00
blessedcoolant
975586bb40 Merge branch 'main' into seam-painting 2023-08-17 01:05:42 +12:00
psychedelicious
a7ba142ad9 feat(ui): set min zoom on nodes to 0.1 2023-08-16 23:04:36 +10:00
psychedelicious
0d36bab6cc fix(ui): do not rerender top panel buttons 2023-08-16 23:04:36 +10:00
psychedelicious
c2e7f62701 fix(ui): do not rerender edges 2023-08-16 23:04:36 +10:00
psychedelicious
1f194e3688 chore(ui): lint 2023-08-16 23:04:36 +10:00
psychedelicious
f9b8b5cff2 fix(ui): improve node rendering performance
Previously the editor was using prop-drilling node data and templates to get values deep into nodes. This ended up causing very noticeable performance degradation. For example, any text entry fields were super laggy.

Refactor the whole thing to use memoized selectors via hooks. The hooks are mostly very narrow, returning only the data needed.

Data objects are never passed down, only node id and field name - sometimes the field kind ('input' or 'output').

The end result is a *much* smoother node editor with very minimal rerenders.
2023-08-16 23:04:36 +10:00
psychedelicious
f7c92e1eff fix(ui): disable awkward resize animation for <Flow /> 2023-08-16 23:04:36 +10:00