psychedelicious
eafa536c56
feat(ui): sdxl graphs
2024-09-06 22:56:24 +10:00
psychedelicious
abdb5abbc1
feat(ui): sd1 outpaint graph
2024-09-06 22:56:24 +10:00
psychedelicious
a1dbf426ec
tests(ui): add missing tests for Graph class
2024-09-06 22:56:24 +10:00
psychedelicious
30ba131704
feat(ui): add Graph.getid() util
2024-09-06 22:56:24 +10:00
psychedelicious
e3f0fb539e
feat(ui): outpaint graph, organize builder a bit
2024-09-06 22:56:24 +10:00
psychedelicious
d6667c773b
feat(ui): inpaint sd1 graph
2024-09-06 22:56:24 +10:00
psychedelicious
3bd180882c
feat(ui): temp disable image caching while testing
2024-09-06 22:56:24 +10:00
psychedelicious
1bb7f40b0a
feat(ui): txt2img & img2img graphs
2024-09-06 22:56:24 +10:00
psychedelicious
93d1140a31
feat(ui): minor change to canvas bbox state type
2024-09-06 22:56:24 +10:00
psychedelicious
4235885d47
feat(ui): simplified konva node to blob/imagedata utils
2024-09-06 22:56:24 +10:00
psychedelicious
6dc8f5b42e
feat(ui): node manager getter/setter
2024-09-06 22:56:24 +10:00
psychedelicious
bf8d2250ca
feat(ui): generation mode calculation, fudged graphs
2024-09-06 22:56:24 +10:00
psychedelicious
1b2d045be1
feat(ui): add utils for getting images from canvas
2024-09-06 22:56:24 +10:00
psychedelicious
04df9f5873
feat(ui): even more simplified API - lean on the konva node manager to abstract imperative state API & rendering
2024-09-06 22:56:24 +10:00
psychedelicious
849b775e55
feat(ui): revised docstrings for renderers & simplified api
2024-09-06 22:56:24 +10:00
psychedelicious
728e21b5ae
feat(ui): inpaint mask UI components
2024-09-06 22:56:24 +10:00
psychedelicious
d3a183fe1d
feat(ui): inpaint mask rendering (wip)
2024-09-06 22:56:24 +10:00
psychedelicious
9ab9d0948f
fix(ui): models loaded handler
2024-09-06 22:56:24 +10:00
psychedelicious
7bb6f18175
feat(ui): internal state for inpaint mask
2024-09-06 22:56:24 +10:00
psychedelicious
ac0f93f2c2
refactor(ui): divvy up canvas state a bit
2024-09-06 22:56:24 +10:00
psychedelicious
8a75b1411a
feat(ui): get region and base layer canvas to blob logic working
2024-09-06 22:56:24 +10:00
psychedelicious
0d552d0ba6
refactor(ui): node manager handles more tedious annoying stuff
2024-09-06 22:56:24 +10:00
psychedelicious
6ee0064ce0
feat(ui): use node manager for addRegions
2024-09-06 22:56:24 +10:00
psychedelicious
5c6cd1e897
feat(ui): persist bbox
2024-09-06 22:56:24 +10:00
psychedelicious
5fcaae39df
fix(ui): fix generation graphs
2024-09-06 22:56:24 +10:00
psychedelicious
7899c0ef78
feat(ui): add toggle for clipToBbox
2024-09-06 22:56:24 +10:00
psychedelicious
543af856de
feat(ui): rename konva node manager
2024-09-06 22:56:24 +10:00
psychedelicious
3e21106336
refactor(ui): create classes to abstract mgmt of konva nodes
2024-09-06 22:56:24 +10:00
psychedelicious
9295985082
tidy(ui): organise renderers
2024-09-06 22:56:24 +10:00
psychedelicious
3ccd58af50
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-09-06 22:56:24 +10:00
psychedelicious
3f56c93b8c
perf(ui): fix lag w/ region rendering
...
Needed to memoize these selectors
2024-09-06 22:56:24 +10:00
psychedelicious
1311276a27
feat(ui): move canvas fill color picker to right
2024-09-06 22:56:24 +10:00
psychedelicious
327788b1d6
refactor(ui): remove unused ellipse & polygon objects
2024-09-06 22:56:24 +10:00
psychedelicious
1c6015ca73
fix(ui): incorrect rect/brush/eraser positions
2024-09-06 22:56:24 +10:00
psychedelicious
4eaedbb981
refactor(ui): enable global debugging flag
2024-09-06 22:56:24 +10:00
psychedelicious
2c52b77187
refactor(ui): disable the preview renderer for now
2024-09-06 22:56:24 +10:00
psychedelicious
70527bf931
tweak(ui): canvas editor layout
2024-09-06 22:56:24 +10:00
psychedelicious
2911de8d7b
perf(ui): memoize layeractionsmenu valid actions
2024-09-06 22:56:24 +10:00
psychedelicious
62037ce577
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-09-06 22:56:24 +10:00
psychedelicious
e5bff7646a
feat(ui): clip lines to bbox
2024-09-06 22:56:24 +10:00
psychedelicious
ce4b1f7f8d
fix(ui): document fit positioning
2024-09-06 22:56:24 +10:00
psychedelicious
09bf3e7d29
feat(ui): document bounds overlay
2024-09-06 22:56:24 +10:00
psychedelicious
18d61c2408
tidy(ui): background layer
2024-09-06 22:56:24 +10:00
psychedelicious
efac5c8f06
refactor(ui): use "entity" instead of "data" for canvas
2024-09-06 22:56:24 +10:00
psychedelicious
dd9f71203d
feat(ui): brush size border radius = 1
2024-09-06 22:56:24 +10:00
psychedelicious
3b51509f18
fix(ui): canvas HUD doesn't interrupt tool
2024-09-06 22:56:24 +10:00
psychedelicious
324033bdf8
refactor(ui): split up canvas entity renderers, temp disable preview
2024-09-06 22:56:24 +10:00
psychedelicious
d5c32dc2e7
fix(ui): delete all layers button
2024-09-06 22:56:24 +10:00
psychedelicious
b8c8276645
fix(ui): ignore keyboard shortcuts in input/textarea elements
2024-09-06 22:56:24 +10:00
psychedelicious
c6bf9193e2
fix(ui): canvas entity ids getting clobbered
2024-09-06 22:56:24 +10:00