psychedelicious
4a556f84e0
feat(ui): control adapter image rendering
2024-08-23 19:46:03 +10:00
psychedelicious
2f21a2220d
fix(ui): do not floor bbox calc, it cuts off the last pixels
2024-08-23 19:46:03 +10:00
psychedelicious
91a420b13e
feat(ui): fix issue where creating line needs 2 points
2024-08-23 19:46:03 +10:00
psychedelicious
c27da3581b
fix(ui): edge cases when holding shift and drawing lines
2024-08-23 19:46:03 +10:00
psychedelicious
961dfbce93
fix(ui): set buffered rect color to full alpha
2024-08-23 19:46:03 +10:00
psychedelicious
df39c825ae
fix(ui): handle mouseup correctly
2024-08-23 19:46:03 +10:00
psychedelicious
3f6ee1b7a4
feat(ui): buffered rect drawing
2024-08-23 19:46:03 +10:00
psychedelicious
908e504a6f
fix(ui): buffered drawing edge cases
2024-08-23 19:46:03 +10:00
psychedelicious
f2fa41afc5
perf(ui): do not use stage.find
2024-08-23 19:46:03 +10:00
psychedelicious
440ff40ad5
perf(ui): object groups do not listen
2024-08-23 19:46:03 +10:00
psychedelicious
5c15458e15
perf(ui): buffered drawing (wip)
2024-08-23 19:46:03 +10:00
psychedelicious
be5b474f1e
tidy(ui): organise files
2024-08-23 19:46:03 +10:00
psychedelicious
cee178c2b6
tidy(ui): organise files
2024-08-23 19:46:03 +10:00
psychedelicious
27657f8b7a
tidy(ui): organise files
2024-08-23 19:46:03 +10:00
psychedelicious
e0cde3815a
fix(ui): background rendering
2024-08-23 19:46:03 +10:00
psychedelicious
09d0421de4
pkg(ui): remove unused deps react-konva & use-image
2024-08-23 19:46:03 +10:00
psychedelicious
47b94d563c
feat(ui): organize konva state and files
2024-08-23 19:46:03 +10:00
psychedelicious
0b5d20c9f0
fix(ui): merge conflicts in image deletion listener
2024-08-23 19:46:03 +10:00
psychedelicious
80e7e1293a
fix(ui): region rendering
2024-08-23 19:46:03 +10:00
psychedelicious
3a82b0cbc1
fix(ui): inpaint mask rendering
2024-08-23 19:46:03 +10:00
psychedelicious
a27cbc13b6
fix(ui): staging area rendering
2024-08-23 19:46:03 +10:00
psychedelicious
a8f962eb3f
fix(ui): stale selected entity
2024-08-23 19:46:03 +10:00
psychedelicious
7f40d23f19
fix(ui): staging area image offset
2024-08-23 19:46:03 +10:00
psychedelicious
918354cd9d
feat(ui): tweak layer ui component
2024-08-23 19:46:03 +10:00
psychedelicious
eef9278ee6
fix(ui): resetting layer resets position
2024-08-23 19:46:03 +10:00
psychedelicious
2c32e2e5c1
feat(ui): updated layer list component styling
2024-08-23 19:46:03 +10:00
psychedelicious
6f05654db5
feat(ui): transformable layers
2024-08-23 19:46:03 +10:00
psychedelicious
1d31b6902f
feat(ui): move tool icon is pointer like in other apps
2024-08-23 19:46:03 +10:00
psychedelicious
5a7d615e64
feat(ui): do not floor cursor position
2024-08-23 19:46:03 +10:00
psychedelicious
1dbf9e4ed4
feat(ui): disable gallery hotkeys while staging
2024-08-23 19:46:03 +10:00
psychedelicious
5dcc6ee203
feat(ui): revised canvas progress & staging image handling
2024-08-23 19:46:03 +10:00
psychedelicious
84a4e6ae3f
feat(ui): show queue item origin in queue list
2024-08-23 19:46:03 +10:00
psychedelicious
f283bfd68f
chore(ui): typegen
2024-08-23 19:46:03 +10:00
psychedelicious
6e5ff7b79c
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-23 19:46:03 +10:00
psychedelicious
7c3800d03f
fix(ui): denoise start on outpainting
2024-08-23 19:46:03 +10:00
psychedelicious
941db90518
feat(ui): add redux events for queue cleared & batch enqueued socket events
2024-08-23 19:46:03 +10:00
psychedelicious
0d9ecf0f90
feat(ui): canvas staging area works
2024-08-23 19:46:03 +10:00
psychedelicious
9c77023a11
feat(ui): switch to view tool when staging
2024-08-23 19:46:03 +10:00
psychedelicious
b55378c63c
tidy(ui): disable preview images on every enqueue
2024-08-23 19:46:03 +10:00
psychedelicious
946c2a49ab
feat(ui): rough out save staging image
2024-08-23 19:46:03 +10:00
psychedelicious
b823c31ec6
feat(ui): staging area image visibility toggle
2024-08-23 19:46:03 +10:00
psychedelicious
ec6361e5cb
fix(ui): batch building after removing canvas files
2024-08-23 19:46:03 +10:00
psychedelicious
0c26d28278
feat(ui): make Graph class's getMetadataNode public
2024-08-23 19:46:03 +10:00
psychedelicious
c5172d4c5a
tidy(ui): remove old canvas graphs
2024-08-23 19:46:03 +10:00
psychedelicious
89de04775e
fix(ui): do not select already-selected entity
2024-08-23 19:46:03 +10:00
psychedelicious
b4c3c940b5
tidy(ui): naming things
2024-08-23 19:46:03 +10:00
psychedelicious
aee2aad959
tidy(ui): file organisation
2024-08-23 19:46:03 +10:00
psychedelicious
5ca48a8a5f
fix(ui): reset cursor pos when fitting document
2024-08-23 19:46:03 +10:00
psychedelicious
1806aa187b
feat(ui): staging area works more better
2024-08-23 19:46:03 +10:00
psychedelicious
7824cb7a1a
feat(ui): staging area barely works
2024-08-23 19:46:03 +10:00
psychedelicious
9807a896f4
feat(ui): consolidate konva API
2024-08-23 19:46:03 +10:00
psychedelicious
19866f057d
feat(ui): consolidate konva API
2024-08-23 19:46:03 +10:00
psychedelicious
ec4eae3c9c
feat(ui): staging area (rendering wip)
2024-08-23 19:46:03 +10:00
psychedelicious
bea0cba038
tidy(ui): type "Dimensions" -> "Size"
2024-08-23 19:46:03 +10:00
psychedelicious
48ee75af9c
feat(ui): add updateNode to Graph
2024-08-23 19:46:03 +10:00
psychedelicious
929c593d2f
feat(ui): sdxl graphs
2024-08-23 19:46:03 +10:00
psychedelicious
221f32eca7
feat(ui): sd1 outpaint graph
2024-08-23 19:46:03 +10:00
psychedelicious
c3acc15e8b
tests(ui): add missing tests for Graph class
2024-08-23 19:46:03 +10:00
psychedelicious
1b653278fc
feat(ui): add Graph.getid() util
2024-08-23 19:46:03 +10:00
psychedelicious
cc9062ee46
feat(ui): outpaint graph, organize builder a bit
2024-08-23 19:46:03 +10:00
psychedelicious
91c0feb0ad
feat(ui): inpaint sd1 graph
2024-08-23 19:46:03 +10:00
psychedelicious
ae60292ac8
feat(ui): temp disable image caching while testing
2024-08-23 19:46:03 +10:00
psychedelicious
a6ca17b19d
feat(ui): txt2img & img2img graphs
2024-08-23 19:46:03 +10:00
psychedelicious
6a4a5ece74
feat(ui): minor change to canvas bbox state type
2024-08-23 19:46:03 +10:00
psychedelicious
9b81860307
feat(ui): simplified konva node to blob/imagedata utils
2024-08-23 19:46:03 +10:00
psychedelicious
5f4a3928d2
feat(ui): node manager getter/setter
2024-08-23 19:46:03 +10:00
psychedelicious
b703884763
feat(ui): generation mode calculation, fudged graphs
2024-08-23 19:46:03 +10:00
psychedelicious
32da98ab8f
feat(ui): add utils for getting images from canvas
2024-08-23 19:46:03 +10:00
psychedelicious
bd5a85bf70
feat(ui): even more simplified API - lean on the konva node manager to abstract imperative state API & rendering
2024-08-23 19:46:03 +10:00
psychedelicious
d045f24014
feat(ui): revised docstrings for renderers & simplified api
2024-08-23 19:46:03 +10:00
psychedelicious
2aad3f89c3
feat(ui): inpaint mask UI components
2024-08-23 19:46:03 +10:00
psychedelicious
dd54d19f00
feat(ui): inpaint mask rendering (wip)
2024-08-23 19:46:03 +10:00
psychedelicious
0ed6591d8c
fix(ui): models loaded handler
2024-08-23 19:46:03 +10:00
psychedelicious
712e090134
feat(ui): internal state for inpaint mask
2024-08-23 19:46:03 +10:00
psychedelicious
8fc2a1d1cf
refactor(ui): divvy up canvas state a bit
2024-08-23 19:46:03 +10:00
psychedelicious
cc15c1593e
feat(ui): get region and base layer canvas to blob logic working
2024-08-23 19:46:03 +10:00
psychedelicious
9997d3abda
refactor(ui): node manager handles more tedious annoying stuff
2024-08-23 19:46:03 +10:00
psychedelicious
031471e785
feat(ui): use node manager for addRegions
2024-08-23 19:46:03 +10:00
psychedelicious
2e860c6791
feat(ui): persist bbox
2024-08-23 19:46:03 +10:00
psychedelicious
d071a9e17d
fix(ui): fix generation graphs
2024-08-23 19:46:03 +10:00
psychedelicious
ed53d33321
feat(ui): add toggle for clipToBbox
2024-08-23 19:46:03 +10:00
psychedelicious
382bc6d978
feat(ui): rename konva node manager
2024-08-23 19:46:03 +10:00
psychedelicious
dab42e258c
refactor(ui): create classes to abstract mgmt of konva nodes
2024-08-23 19:46:03 +10:00
psychedelicious
81556410bb
tidy(ui): organise renderers
2024-08-23 19:46:03 +10:00
psychedelicious
1f2dfd473c
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-23 19:46:03 +10:00
psychedelicious
8f0f51be2c
perf(ui): fix lag w/ region rendering
...
Needed to memoize these selectors
2024-08-23 19:46:03 +10:00
psychedelicious
7179e250ed
feat(ui): move canvas fill color picker to right
2024-08-23 19:46:03 +10:00
psychedelicious
5bec091fd6
refactor(ui): remove unused ellipse & polygon objects
2024-08-23 19:46:03 +10:00
psychedelicious
2c5896cb0c
fix(ui): incorrect rect/brush/eraser positions
2024-08-23 19:46:03 +10:00
psychedelicious
93ff252dc0
refactor(ui): enable global debugging flag
2024-08-23 19:46:03 +10:00
psychedelicious
ac52224455
refactor(ui): disable the preview renderer for now
2024-08-23 19:46:03 +10:00
psychedelicious
4087cad23d
tweak(ui): canvas editor layout
2024-08-23 19:46:03 +10:00
psychedelicious
e936b1ff8f
perf(ui): memoize layeractionsmenu valid actions
2024-08-23 19:46:03 +10:00
psychedelicious
b7f9c5e221
refactor(ui): decouple konva renderer from react
...
Subscribe to redux store directly, skipping all the react overhead.
With react in dev mode, a typical frame while using the brush tool on almost-empty canvas is reduced from ~7.5ms to ~3.5ms. All things considered, this still feels slow, but it's a massive improvement.
2024-08-23 19:46:03 +10:00
psychedelicious
fc5467150e
feat(ui): clip lines to bbox
2024-08-23 19:46:03 +10:00
psychedelicious
4dcab357a0
fix(ui): document fit positioning
2024-08-23 19:46:03 +10:00
psychedelicious
695e464255
feat(ui): document bounds overlay
2024-08-23 19:46:03 +10:00
psychedelicious
9999b60c3b
tidy(ui): background layer
2024-08-23 19:46:03 +10:00
psychedelicious
e7df53e260
refactor(ui): use "entity" instead of "data" for canvas
2024-08-23 19:46:03 +10:00
psychedelicious
844590a571
feat(ui): brush size border radius = 1
2024-08-23 19:46:03 +10:00