Commit Graph

8073 Commits

Author SHA1 Message Date
psychedelicious
08dae5b047 feat(ui): add snapToRect util 2024-08-30 22:18:48 +10:00
psychedelicious
8d2f056407 fix(ui): fiddle with control adapter filters
some jank still
2024-08-30 22:18:48 +10:00
psychedelicious
e66ef2e25e feat(ui): temp disable doc size overlay 2024-08-30 22:18:48 +10:00
psychedelicious
4d3ee7e082 feat(ui): no animation on layer selection
Felt sluggish
2024-08-30 22:18:48 +10:00
psychedelicious
fe48fda2f3 feat(ui): use canvas as source for control images (wip) 2024-08-30 22:18:48 +10:00
psychedelicious
0f66753aa1 fix(ui): control adapter translate & scale 2024-08-30 22:18:48 +10:00
psychedelicious
a18878474b tidy(ui): removed unused state related to non-buffered drawing 2024-08-30 22:18:48 +10:00
psychedelicious
0aa4568fd4 feat(ui): control adapter image rendering 2024-08-30 22:18:48 +10:00
psychedelicious
1de7e5760a fix(ui): do not floor bbox calc, it cuts off the last pixels 2024-08-30 22:18:48 +10:00
psychedelicious
135d6f2763 feat(ui): fix issue where creating line needs 2 points 2024-08-30 22:18:48 +10:00
psychedelicious
061767ede3 fix(ui): edge cases when holding shift and drawing lines 2024-08-30 22:18:48 +10:00
psychedelicious
7204844bcb fix(ui): set buffered rect color to full alpha 2024-08-30 22:18:48 +10:00
psychedelicious
f2279ecadd fix(ui): handle mouseup correctly 2024-08-30 22:18:48 +10:00
psychedelicious
75694869d2 feat(ui): buffered rect drawing 2024-08-30 22:18:48 +10:00
psychedelicious
d029680ac1 fix(ui): buffered drawing edge cases 2024-08-30 22:18:48 +10:00
psychedelicious
41c195d936 perf(ui): do not use stage.find 2024-08-30 22:18:48 +10:00
psychedelicious
03ea005e9c perf(ui): object groups do not listen 2024-08-30 22:18:48 +10:00
psychedelicious
6d936a7c44 perf(ui): buffered drawing (wip) 2024-08-30 22:18:48 +10:00
psychedelicious
fba17b93a6 tidy(ui): organise files 2024-08-30 22:18:48 +10:00
psychedelicious
73a7a27ea1 tidy(ui): organise files 2024-08-30 22:18:48 +10:00
psychedelicious
79287c2d16 tidy(ui): organise files 2024-08-30 22:18:48 +10:00
psychedelicious
662c5f4b77 fix(ui): background rendering 2024-08-30 22:18:48 +10:00
psychedelicious
7728ca6843 pkg(ui): remove unused deps react-konva & use-image 2024-08-30 22:18:48 +10:00
psychedelicious
9607372f89 feat(ui): organize konva state and files 2024-08-30 22:18:48 +10:00
psychedelicious
d27f948b78 fix(ui): merge conflicts in image deletion listener 2024-08-30 22:18:48 +10:00
psychedelicious
b7aab81717 fix(ui): region rendering 2024-08-30 22:18:48 +10:00
psychedelicious
2998287f61 fix(ui): inpaint mask rendering 2024-08-30 22:18:48 +10:00
psychedelicious
55d7f0ff5b fix(ui): staging area rendering 2024-08-30 22:18:48 +10:00
psychedelicious
4564f36d4a fix(ui): stale selected entity 2024-08-30 22:18:48 +10:00
psychedelicious
319de5c4e9 fix(ui): staging area image offset 2024-08-30 22:18:48 +10:00
psychedelicious
eee499faa3 feat(ui): tweak layer ui component 2024-08-30 22:18:48 +10:00
psychedelicious
63c5e42f2a fix(ui): resetting layer resets position 2024-08-30 22:18:48 +10:00
psychedelicious
bd16dc4479 feat(ui): updated layer list component styling 2024-08-30 22:18:48 +10:00
psychedelicious
49371ddec9 feat(ui): transformable layers 2024-08-30 22:18:48 +10:00
psychedelicious
6a10d31b19 feat(ui): move tool icon is pointer like in other apps 2024-08-30 22:18:48 +10:00
psychedelicious
c951e733d3 feat(ui): do not floor cursor position 2024-08-30 22:18:48 +10:00
psychedelicious
7ed24cf847 feat(ui): disable gallery hotkeys while staging 2024-08-30 22:18:48 +10:00
psychedelicious
821b7a0435 feat(ui): revised canvas progress & staging image handling 2024-08-30 22:18:48 +10:00
psychedelicious
1b0344c412 feat(ui): show queue item origin in queue list 2024-08-30 22:18:48 +10:00
psychedelicious
03ca3c4b3d chore(ui): typegen 2024-08-30 22:18:48 +10:00
psychedelicious
b939192b16 feat(app): add origin to session queue
The origin is an optional field indicating the queue item's origin. For example, "canvas" when the queue item originated from the canvas or "workflows" when the queue item originated from the workflows tab. If omitted, we assume the queue item originated from the API directly.

- Add migration to add the nullable column to the `session_queue` table.
- Update relevant event payloads with the new field.
- Add `cancel_by_origin` method to `session_queue` service and corresponding route. This is required for the canvas to bail out early when staging images.
- Add `origin` to both `SessionQueueItem` and `Batch` - it needs to be provided initially via the batch and then passed onto the queue item.
-
2024-08-30 22:18:48 +10:00
psychedelicious
7ccf559a06 fix(ui): denoise start on outpainting 2024-08-30 22:18:48 +10:00
psychedelicious
9eb091f873 feat(ui): add redux events for queue cleared & batch enqueued socket events 2024-08-30 22:18:48 +10:00
psychedelicious
3bd5521641 feat(ui): canvas staging area works 2024-08-30 22:18:48 +10:00
psychedelicious
ced748e419 feat(ui): switch to view tool when staging 2024-08-30 22:18:48 +10:00
psychedelicious
fbd137da9f tidy(ui): disable preview images on every enqueue 2024-08-30 22:18:48 +10:00
psychedelicious
03baebced6 feat(ui): rough out save staging image 2024-08-30 22:18:48 +10:00
psychedelicious
cb19c1c370 feat(ui): staging area image visibility toggle 2024-08-30 22:18:47 +10:00
psychedelicious
788bad61d0 fix(ui): batch building after removing canvas files 2024-08-30 22:18:47 +10:00
psychedelicious
8f5f9bd44e feat(ui): make Graph class's getMetadataNode public 2024-08-30 22:18:47 +10:00
psychedelicious
2873e3e084 tidy(ui): remove old canvas graphs 2024-08-30 22:18:47 +10:00
psychedelicious
b004f17ae3 fix(ui): do not select already-selected entity 2024-08-30 22:18:47 +10:00
psychedelicious
bea1e8c99b tidy(ui): naming things 2024-08-30 22:18:47 +10:00
psychedelicious
111493223f tidy(ui): file organisation 2024-08-30 22:18:47 +10:00
psychedelicious
0a5ac2baec fix(ui): reset cursor pos when fitting document 2024-08-30 22:18:47 +10:00
psychedelicious
eec3c3b884 feat(ui): staging area works more better 2024-08-30 22:18:47 +10:00
psychedelicious
07b72c3d70 feat(ui): staging area barely works 2024-08-30 22:18:47 +10:00
psychedelicious
766e8c4eb0 feat(ui): consolidate konva API 2024-08-30 22:18:47 +10:00
psychedelicious
57c257d10d feat(ui): consolidate konva API 2024-08-30 22:18:47 +10:00
psychedelicious
d497da0e61 feat(ui): staging area (rendering wip) 2024-08-30 22:18:47 +10:00
psychedelicious
62310e7929 tidy(ui): type "Dimensions" -> "Size" 2024-08-30 22:18:47 +10:00
psychedelicious
d79aa173a6 feat(ui): add updateNode to Graph 2024-08-30 22:18:47 +10:00
psychedelicious
fbfdd3e003 feat(ui): sdxl graphs 2024-08-30 22:18:47 +10:00
psychedelicious
a62b4a26ef feat(ui): sd1 outpaint graph 2024-08-30 22:18:47 +10:00
psychedelicious
817d4168c6 tests(ui): add missing tests for Graph class 2024-08-30 22:18:47 +10:00
psychedelicious
7e0a6d1538 feat(ui): add Graph.getid() util 2024-08-30 22:18:47 +10:00
psychedelicious
ebc498ad19 feat(ui): outpaint graph, organize builder a bit 2024-08-30 22:18:47 +10:00
psychedelicious
b97b8c6ce6 feat(ui): inpaint sd1 graph 2024-08-30 22:18:47 +10:00
psychedelicious
b8abff65a1 feat(ui): temp disable image caching while testing 2024-08-30 22:18:47 +10:00
psychedelicious
a953dc1dbd feat(ui): txt2img & img2img graphs 2024-08-30 22:18:47 +10:00
psychedelicious
a7c9848e99 feat(ui): minor change to canvas bbox state type 2024-08-30 22:18:47 +10:00
psychedelicious
73a1449eaf feat(ui): simplified konva node to blob/imagedata utils 2024-08-30 22:18:47 +10:00
psychedelicious
59f57ff542 feat(ui): node manager getter/setter 2024-08-30 22:18:47 +10:00
psychedelicious
e9204b87e3 feat(ui): generation mode calculation, fudged graphs 2024-08-30 22:18:47 +10:00
psychedelicious
7dd11bd60a feat(ui): add utils for getting images from canvas 2024-08-30 22:18:47 +10:00
psychedelicious
275fc2ccf9 feat(ui): even more simplified API - lean on the konva node manager to abstract imperative state API & rendering 2024-08-30 22:18:47 +10:00
psychedelicious
a2ef8d9d47 feat(ui): revised docstrings for renderers & simplified api 2024-08-30 22:18:47 +10:00
psychedelicious
196779ff19 feat(ui): inpaint mask UI components 2024-08-30 22:18:47 +10:00
psychedelicious
aee3147365 feat(ui): inpaint mask rendering (wip) 2024-08-30 22:18:47 +10:00
psychedelicious
eaca940956 fix(ui): models loaded handler 2024-08-30 22:18:47 +10:00
psychedelicious
06006733e2 feat(ui): internal state for inpaint mask 2024-08-30 22:18:47 +10:00
psychedelicious
14d0bfbef6 refactor(ui): divvy up canvas state a bit 2024-08-30 22:18:47 +10:00
psychedelicious
0c9cf73702 feat(ui): get region and base layer canvas to blob logic working 2024-08-30 22:18:47 +10:00
psychedelicious
3b864921ac refactor(ui): node manager handles more tedious annoying stuff 2024-08-30 22:18:47 +10:00
psychedelicious
f41539532f feat(ui): use node manager for addRegions 2024-08-30 22:18:47 +10:00
psychedelicious
657009c254 feat(ui): persist bbox 2024-08-30 22:18:47 +10:00
psychedelicious
c47e02c309 fix(ui): fix generation graphs 2024-08-30 22:18:47 +10:00
psychedelicious
ce8a7bc178 feat(ui): add toggle for clipToBbox 2024-08-30 22:18:47 +10:00
psychedelicious
488ca87787 feat(ui): rename konva node manager 2024-08-30 22:18:47 +10:00
psychedelicious
d965df8ca9 refactor(ui): create classes to abstract mgmt of konva nodes 2024-08-30 22:18:47 +10:00
psychedelicious
995c26751e tidy(ui): organise renderers 2024-08-30 22:18:47 +10:00
psychedelicious
dd09723a2a refactor(ui): create entity to konva node map abstraction (wip)
Instead of chaining konva `find` and `findOne` methods, all konva nodes are added to a mapping object. Finding and manipulating them is much simpler.

Done for regions and layers, wip for control adapters.
2024-08-30 22:18:47 +10:00
psychedelicious
5ff5af3ba2 perf(ui): fix lag w/ region rendering
Needed to memoize these selectors
2024-08-30 22:18:47 +10:00
psychedelicious
4cb85404c0 feat(ui): move canvas fill color picker to right 2024-08-30 22:18:47 +10:00
psychedelicious
50bc2f100d refactor(ui): remove unused ellipse & polygon objects 2024-08-30 22:18:47 +10:00
psychedelicious
f65ce6a019 fix(ui): incorrect rect/brush/eraser positions 2024-08-30 22:18:47 +10:00
psychedelicious
c28b635f2d refactor(ui): enable global debugging flag 2024-08-30 22:18:47 +10:00
psychedelicious
e55896240d refactor(ui): disable the preview renderer for now 2024-08-30 22:18:47 +10:00
psychedelicious
2b478ee7e1 tweak(ui): canvas editor layout 2024-08-30 22:18:47 +10:00
psychedelicious
69912a35ea perf(ui): memoize layeractionsmenu valid actions 2024-08-30 22:18:47 +10:00