psychedelicious
77be9836d2
tidy(ui): type "Dimensions" -> "Size"
2024-08-27 11:01:20 +10:00
psychedelicious
4427960acb
feat(ui): add updateNode to Graph
2024-08-27 11:01:20 +10:00
psychedelicious
84aa4fb7bc
feat(ui): sdxl graphs
2024-08-27 11:01:20 +10:00
psychedelicious
01df96cbe0
feat(ui): sd1 outpaint graph
2024-08-27 11:01:20 +10:00
psychedelicious
1ac0634f57
tests(ui): add missing tests for Graph class
2024-08-27 11:01:20 +10:00
psychedelicious
8e7d3634b1
feat(ui): add Graph.getid() util
2024-08-27 11:01:20 +10:00
psychedelicious
fadafe5c77
feat(ui): outpaint graph, organize builder a bit
2024-08-27 11:01:20 +10:00
psychedelicious
b2ea1f6690
feat(ui): inpaint sd1 graph
2024-08-27 11:01:20 +10:00
psychedelicious
0a03c1f882
feat(ui): temp disable image caching while testing
2024-08-27 11:01:20 +10:00
psychedelicious
ce8b490ed8
feat(ui): txt2img & img2img graphs
2024-08-27 11:01:20 +10:00
psychedelicious
86eccba80d
feat(ui): minor change to canvas bbox state type
2024-08-27 11:01:20 +10:00
psychedelicious
97453e7c6c
feat(ui): simplified konva node to blob/imagedata utils
2024-08-27 11:01:20 +10:00
psychedelicious
9e1084b701
feat(ui): node manager getter/setter
2024-08-27 11:01:20 +10:00
psychedelicious
41aec81f3f
feat(ui): generation mode calculation, fudged graphs
2024-08-27 11:01:20 +10:00
psychedelicious
a5741a0551
feat(ui): add utils for getting images from canvas
2024-08-27 11:01:20 +10:00
psychedelicious
72f73c231a
feat(ui): even more simplified API - lean on the konva node manager to abstract imperative state API & rendering
2024-08-27 11:01:20 +10:00
psychedelicious
b8fcaa274e
feat(ui): revised docstrings for renderers & simplified api
2024-08-27 11:01:20 +10:00
psychedelicious
a33bbf48bb
feat(ui): inpaint mask UI components
2024-08-27 11:01:20 +10:00
psychedelicious
98d9490fb9
feat(ui): inpaint mask rendering (wip)
2024-08-27 11:01:20 +10:00
psychedelicious
51c643c4f8
fix(ui): models loaded handler
2024-08-27 11:01:20 +10:00
psychedelicious
2d7370ca6c
feat(ui): internal state for inpaint mask
2024-08-27 11:01:20 +10:00
psychedelicious
0d68141387
refactor(ui): divvy up canvas state a bit
2024-08-27 11:01:20 +10:00
psychedelicious
e88a8c6639
feat(ui): get region and base layer canvas to blob logic working
2024-08-27 11:01:20 +10:00
psychedelicious
2d04bb286e
refactor(ui): node manager handles more tedious annoying stuff
2024-08-27 11:01:20 +10:00
psychedelicious
6d9ba24c32
feat(ui): use node manager for addRegions
2024-08-27 11:01:20 +10:00
psychedelicious
7645a1c86e
feat(ui): persist bbox
2024-08-27 11:01:20 +10:00
psychedelicious
dc284b9a48
fix(ui): fix generation graphs
2024-08-27 11:01:20 +10:00
psychedelicious
8a38332d44
feat(ui): add toggle for clipToBbox
2024-08-27 11:01:20 +10:00
psychedelicious
2407d7d148
feat(ui): rename konva node manager
2024-08-27 11:01:20 +10:00
psychedelicious
23275cf607
refactor(ui): create classes to abstract mgmt of konva nodes
2024-08-27 11:01:20 +10:00
psychedelicious
8a0e02d335
tidy(ui): organise renderers
2024-08-27 11:01:20 +10:00
psychedelicious
913873623c
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-27 11:01:20 +10:00
psychedelicious
5d81e7dd4d
perf(ui): fix lag w/ region rendering
...
Needed to memoize these selectors
2024-08-27 11:01:20 +10:00
psychedelicious
418650fdf3
feat(ui): move canvas fill color picker to right
2024-08-27 11:01:20 +10:00
psychedelicious
7c24e56d9f
refactor(ui): remove unused ellipse & polygon objects
2024-08-27 11:01:20 +10:00
psychedelicious
f6faed46c3
fix(ui): incorrect rect/brush/eraser positions
2024-08-27 11:01:20 +10:00
psychedelicious
1d393eecf1
refactor(ui): enable global debugging flag
2024-08-27 11:01:20 +10:00
psychedelicious
03a72240c0
refactor(ui): disable the preview renderer for now
2024-08-27 11:01:20 +10:00
psychedelicious
acf62450fb
tweak(ui): canvas editor layout
2024-08-27 11:01:20 +10:00
psychedelicious
d0269310cf
perf(ui): memoize layeractionsmenu valid actions
2024-08-27 11:01:20 +10:00
psychedelicious
43618a74e7
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-27 11:01:20 +10:00
psychedelicious
56fed637ec
feat(ui): clip lines to bbox
2024-08-27 11:01:20 +10:00
psychedelicious
944ae4a604
fix(ui): document fit positioning
2024-08-27 11:01:20 +10:00
psychedelicious
f3da609102
feat(ui): document bounds overlay
2024-08-27 11:01:20 +10:00
psychedelicious
11c8a8cf72
tidy(ui): background layer
2024-08-27 11:01:20 +10:00
psychedelicious
656978676f
refactor(ui): use "entity" instead of "data" for canvas
2024-08-27 11:01:20 +10:00
psychedelicious
d216e6519f
feat(ui): brush size border radius = 1
2024-08-27 11:01:20 +10:00
psychedelicious
0a2bcae0e3
fix(ui): canvas HUD doesn't interrupt tool
2024-08-27 11:01:20 +10:00
psychedelicious
31cf244420
refactor(ui): split up canvas entity renderers, temp disable preview
2024-08-27 11:01:20 +10:00
psychedelicious
d761effac1
fix(ui): delete all layers button
2024-08-27 11:01:20 +10:00