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
psychedelicious
9f1bd98c7e
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-30 22:18:47 +10:00
psychedelicious
b531d6b7f0
feat(ui): clip lines to bbox
2024-08-30 22:18:47 +10:00
psychedelicious
8aa963fb81
fix(ui): document fit positioning
2024-08-30 22:18:47 +10:00
psychedelicious
b76e0ab4e4
feat(ui): document bounds overlay
2024-08-30 22:18:47 +10:00
psychedelicious
aea03b4e92
tidy(ui): background layer
2024-08-30 22:18:47 +10:00
psychedelicious
b39e95966c
refactor(ui): use "entity" instead of "data" for canvas
2024-08-30 22:18:47 +10:00
psychedelicious
d53e5e0158
feat(ui): brush size border radius = 1
2024-08-30 22:18:47 +10:00
psychedelicious
0368dd651b
fix(ui): canvas HUD doesn't interrupt tool
2024-08-30 22:18:47 +10:00
psychedelicious
84a4a1024e
refactor(ui): split up canvas entity renderers, temp disable preview
2024-08-30 22:18:47 +10:00
psychedelicious
af4f258489
fix(ui): delete all layers button
2024-08-30 22:18:47 +10:00
psychedelicious
ddfc8785b4
fix(ui): ignore keyboard shortcuts in input/textarea elements
2024-08-30 22:18:47 +10:00
psychedelicious
d8515b6efc
fix(ui): canvas entity ids getting clobbered
2024-08-30 22:18:47 +10:00
psychedelicious
6a07f007a4
fix(ui): move lora followup fixes
2024-08-30 22:18:47 +10:00
psychedelicious
7a5a0c8075
chore(ui): lint
2024-08-30 22:18:47 +10:00