Commit Graph

12915 Commits

Author SHA1 Message Date
psychedelicious
1ed43614c2 refactor(ui): divvy up canvas state a bit 2024-09-06 21:27:34 +10:00
psychedelicious
3a5295574f feat(ui): get region and base layer canvas to blob logic working 2024-09-06 21:27:34 +10:00
psychedelicious
475b1cb1b8 refactor(ui): node manager handles more tedious annoying stuff 2024-09-06 21:27:34 +10:00
psychedelicious
55260a886d feat(ui): use node manager for addRegions 2024-09-06 21:27:34 +10:00
psychedelicious
f77e03ceb0 feat(ui): persist bbox 2024-09-06 21:27:34 +10:00
psychedelicious
4f7bf5ad58 fix(ui): fix generation graphs 2024-09-06 21:27:34 +10:00
psychedelicious
460ea1aa07 feat(ui): add toggle for clipToBbox 2024-09-06 21:27:34 +10:00
psychedelicious
7aa5f5cb80 feat(ui): rename konva node manager 2024-09-06 21:27:34 +10:00
psychedelicious
9cc4133184 refactor(ui): create classes to abstract mgmt of konva nodes 2024-09-06 21:27:34 +10:00
psychedelicious
0d3721324d tidy(ui): organise renderers 2024-09-06 21:27:34 +10:00
psychedelicious
510249d282 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 21:27:34 +10:00
psychedelicious
77d840593b perf(ui): fix lag w/ region rendering
Needed to memoize these selectors
2024-09-06 21:27:34 +10:00
psychedelicious
8c9a5c4ab5 feat(ui): move canvas fill color picker to right 2024-09-06 21:27:34 +10:00
psychedelicious
ce497fff27 refactor(ui): remove unused ellipse & polygon objects 2024-09-06 21:27:34 +10:00
psychedelicious
c3cada6bd5 fix(ui): incorrect rect/brush/eraser positions 2024-09-06 21:27:34 +10:00
psychedelicious
bbacfe403c refactor(ui): enable global debugging flag 2024-09-06 21:27:34 +10:00
psychedelicious
159031a071 refactor(ui): disable the preview renderer for now 2024-09-06 21:27:34 +10:00
psychedelicious
4067927a23 tweak(ui): canvas editor layout 2024-09-06 21:27:34 +10:00
psychedelicious
d090343083 perf(ui): memoize layeractionsmenu valid actions 2024-09-06 21:27:34 +10:00
psychedelicious
ed130366db 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 21:27:34 +10:00
psychedelicious
d4ae40fec4 feat(ui): clip lines to bbox 2024-09-06 21:27:34 +10:00
psychedelicious
17c864dba3 fix(ui): document fit positioning 2024-09-06 21:27:34 +10:00
psychedelicious
398d6d1efd feat(ui): document bounds overlay 2024-09-06 21:27:34 +10:00
psychedelicious
30b46b0f9b tidy(ui): background layer 2024-09-06 21:27:34 +10:00
psychedelicious
2d123fa11c refactor(ui): use "entity" instead of "data" for canvas 2024-09-06 21:27:34 +10:00
psychedelicious
352a651ac0 feat(ui): brush size border radius = 1 2024-09-06 21:27:34 +10:00
psychedelicious
26b971978d fix(ui): canvas HUD doesn't interrupt tool 2024-09-06 21:27:34 +10:00
psychedelicious
478324ea62 refactor(ui): split up canvas entity renderers, temp disable preview 2024-09-06 21:27:34 +10:00
psychedelicious
fa447b2813 fix(ui): delete all layers button 2024-09-06 21:27:34 +10:00
psychedelicious
322790bfdb fix(ui): ignore keyboard shortcuts in input/textarea elements 2024-09-06 21:27:34 +10:00
psychedelicious
9ea7c18d66 fix(ui): canvas entity ids getting clobbered 2024-09-06 21:27:34 +10:00
psychedelicious
2a0d16d57d fix(ui): move lora followup fixes 2024-09-06 21:27:34 +10:00
psychedelicious
033e2b27a9 chore(ui): lint 2024-09-06 21:27:34 +10:00
psychedelicious
c7af454bf5 refactor(ui): move loras to canvas slice 2024-09-06 21:27:34 +10:00
psychedelicious
d2be9df7a7 fix(ui): layer is selected when added 2024-09-06 21:27:34 +10:00
psychedelicious
ae81f4e20a feat(ui): r to center & fit stage on document 2024-09-06 21:27:34 +10:00
psychedelicious
261c24b704 feat(ui): better HUD 2024-09-06 21:27:34 +10:00
psychedelicious
cc1995170e fix(ui): always use current brush width when making straight lines 2024-09-06 21:27:34 +10:00
psychedelicious
86c785fded feat(ui): hold shift w/ brush to draw straight line 2024-09-06 21:27:34 +10:00
psychedelicious
31c2b1af19 fix(ui): update bg on canvas resize 2024-09-06 21:27:34 +10:00
psychedelicious
90b973f529 refactor(ui): better hud 2024-09-06 21:27:34 +10:00
psychedelicious
1164763e1a refactor(ui): scaled tool preview border 2024-09-06 21:27:34 +10:00
psychedelicious
b4319630b1 refactor(ui): port remaining canvasV1 rendering logic to V2, remove old code 2024-09-06 21:27:34 +10:00
psychedelicious
0586c6bdf2 refactor(ui): fix more types 2024-09-06 21:27:34 +10:00
psychedelicious
c2f60f33e6 refactor(ui): metadata recall (wip)
just enough let the app run
2024-09-06 21:27:34 +10:00
psychedelicious
b118bc959d refactor(ui): undo/redo button temp fix 2024-09-06 21:27:34 +10:00
psychedelicious
6ef5c2e0c3 refactor(ui): fix renderer stuff 2024-09-06 21:27:34 +10:00
psychedelicious
728fd5b758 refactor(ui): fix misc types 2024-09-06 21:27:34 +10:00
psychedelicious
5bae455e4e refactor(ui): fix gallery stuff 2024-09-06 21:27:34 +10:00
psychedelicious
9387903491 refactor(ui): fix delete image stuff 2024-09-06 21:27:34 +10:00