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
47b94d563c
feat(ui): organize konva state and files
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
6f05654db5
feat(ui): transformable layers
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
5dcc6ee203
feat(ui): revised canvas progress & staging image handling
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
b823c31ec6
feat(ui): staging area image visibility toggle
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
ae60292ac8
feat(ui): temp disable image caching while testing
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
dd54d19f00
feat(ui): inpaint mask rendering (wip)
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
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
2c5896cb0c
fix(ui): incorrect rect/brush/eraser positions
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
psychedelicious
007e2553a8
refactor(ui): split up canvas entity renderers, temp disable preview
2024-08-23 19:46:03 +10:00
psychedelicious
be5094fcb4
fix(ui): ignore keyboard shortcuts in input/textarea elements
2024-08-23 19:46:03 +10:00
psychedelicious
e8cdc9ae62
feat(ui): r to center & fit stage on document
2024-08-23 19:46:03 +10:00
psychedelicious
f6a324b633
fix(ui): always use current brush width when making straight lines
2024-08-23 19:46:03 +10:00