psychedelicious
3e21106336
refactor(ui): create classes to abstract mgmt of konva nodes
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
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
09bf3e7d29
feat(ui): document bounds overlay
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
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
13bb45934c
chore(ui): lint
2024-09-06 22:56:24 +10:00
psychedelicious
856b0f81d5
feat(ui): r to center & fit stage on document
2024-09-06 22:56:24 +10:00
psychedelicious
060fe11663
feat(ui): better HUD
2024-09-06 22:56:24 +10:00
psychedelicious
058bf94c93
fix(ui): update bg on canvas resize
2024-09-06 22:56:24 +10:00
psychedelicious
1a0600772f
refactor(ui): better hud
2024-09-06 22:56:24 +10:00
psychedelicious
5fc0bc5136
refactor(ui): port remaining canvasV1 rendering logic to V2, remove old code
2024-09-06 22:56:24 +10:00
psychedelicious
11596e45d1
refactor(ui): undo/redo button temp fix
2024-09-06 22:56:24 +10:00
psychedelicious
7cdea43a37
refactor(ui): add adapterType to ControlAdapterData
2024-09-06 22:56:24 +10:00
psychedelicious
9a860dbab5
refactor(ui): update components & logic to use new unified slice
2024-09-06 22:56:24 +10:00
psychedelicious
acc1fefa77
refactor(ui): update size/prompts state
2024-09-06 22:56:24 +10:00
psychedelicious
94fc73ed95
refactor(ui): canvas v2 (wip)
...
delete unused file
2024-09-06 22:56:24 +10:00
psychedelicious
df9f998671
refactor(ui): canvas v2 (wip)
...
merge all canvas state reducers into one big slice (but with the logic split across files so it's not hell)
2024-09-06 22:56:24 +10:00
psychedelicious
be3ad43a07
refactor(ui): canvas v2 (wip)
...
Fix a few more components
2024-09-06 22:56:24 +10:00
psychedelicious
5aa155c39f
refactor(ui): canvas v2 (wip)
...
missed a spot
2024-09-06 22:56:24 +10:00
psychedelicious
c21a21c2aa
refactor(ui): canvas v2 (wip)
...
Redo all UI components for different canvas entity types
2024-09-06 22:56:24 +10:00
psychedelicious
91bcdc10eb
refactor(ui): canvas v2 (wip)
2024-09-06 22:56:24 +10:00
psychedelicious
f18c8e2239
refactor(ui): canvas v2 (wip)
2024-09-06 22:56:24 +10:00
psychedelicious
2db7608401
refactor(ui): canvas v2 (wip)
2024-09-06 22:56:24 +10:00
psychedelicious
506632206c
refactor(ui): canvas v2 (wip)
2024-09-06 22:56:24 +10:00
psychedelicious
234a1b6571
feat(ui): bbox tool
2024-09-06 22:56:24 +10:00
psychedelicious
c0177516f2
fix(ui): multiple stages
2024-09-06 22:56:24 +10:00
psychedelicious
accf2b5831
feat(ui): decouple konva logic from nanostores
2024-09-06 22:56:24 +10:00
psychedelicious
2f14f83a9a
feat(ui): store all stage attrs in nanostores
2024-09-06 22:56:24 +10:00
psychedelicious
262968d0c9
feat(ui): round stage scale
2024-09-06 22:56:24 +10:00
psychedelicious
b919bcfc8c
feat(ui): generation bbox transformation working
...
whew
2024-09-06 22:56:24 +10:00
psychedelicious
c21e44cf6b
feat(ui): wip generation bbox
2024-09-06 22:56:24 +10:00
psychedelicious
593ff0be75
feat(ui): wip generation bbox
2024-09-06 22:56:24 +10:00
psychedelicious
6fd042df96
feat(ui): CL zoom and pan, some rendering optimizations
2024-09-06 22:56:24 +10:00
psychedelicious
5b3d86ab14
feat(ui): layers manage their own bbox
2024-09-06 22:56:24 +10:00
psychedelicious
d10954f47a
fix(ui): show color picker when using rect tool
2024-09-06 22:56:24 +10:00
psychedelicious
32e86ba72d
feat(ui): do not fill brush preview when drawing
2024-09-06 22:56:24 +10:00
psychedelicious
699fbb4e55
feat(ui): wip raster layers
...
I meant to split this up into smaller commits and undo some of it, but I committed afterwards and it's tedious to undo.
2024-09-06 22:56:24 +10:00
psychedelicious
5fa93de8c4
feat(ui): support image objects on raster layers
...
Just the UI and internal state, not rendering yet.
2024-09-06 22:56:24 +10:00
psychedelicious
dd829e9d6a
feat(ui): raster layer reset, object group util
2024-09-06 22:56:24 +10:00
psychedelicious
d0572730a8
feat(ui): cancel shape drawing on esc
2024-09-06 22:56:24 +10:00
psychedelicious
e1b9cac1df
feat(ui): raster layer logic
...
- Deduplicate shared logic
- Split up giant renderers file into separate cohesive files
- Tons of cleanup
- Progress on raster layer functionality
2024-09-06 22:56:24 +10:00
psychedelicious
d927b631c5
feat(ui): add raster layer rendering and interaction (WIP)
2024-09-06 22:56:24 +10:00
psychedelicious
17dc5d98d1
feat(ui): scaffold out raster layers
...
Raster layers may have images, lines and shapes. These will replace initial image layers and provide sketching functionality like we have on canvas.
2024-09-06 22:56:24 +10:00