psychedelicious
80a5abf1ad
feat(ui): layer opacity via caching
2024-08-30 22:18:49 +10:00
psychedelicious
7a6e8de60f
feat(ui): reset view fits all visible objects
2024-08-30 22:18:49 +10:00
psychedelicious
8364fa74cf
fix(ui): rerenders when changing canvas scale
2024-08-30 22:18:49 +10:00
psychedelicious
14f4566dd0
fix(ui): do not render rasterized layer unless renderObjects=true
2024-08-30 22:18:49 +10:00
psychedelicious
6145378923
feat(ui): revise app layout strategy, add interaction scopes for hotkeys
2024-08-30 22:18:49 +10:00
psychedelicious
68e2606427
feat(ui): tweak mask patterns
2024-08-30 22:18:49 +10:00
psychedelicious
0f3eb04d1a
fix(ui): dynamic prompts recalcs when presets are loaded
2024-08-30 22:18:49 +10:00
psychedelicious
4a355323b2
fix(ui): use style preset prompts correctly
2024-08-30 22:18:49 +10:00
psychedelicious
8601fbb4ea
fix(ui): discard selected staging image not all other images
2024-08-30 22:18:49 +10:00
psychedelicious
db885aa180
fix(ui): respect image size in staging preview
2024-08-30 22:18:49 +10:00
psychedelicious
c18fb980a2
tidy(ui): cleanup after events change
2024-08-30 22:18:49 +10:00
psychedelicious
b630dbdf20
feat(ui): move socket event handling out of redux
...
Download events and invocation status events (including progress images) are very frequent. There's no real need for these to pass through redux. Handling them outside redux is a significant performance win - far fewer store subscription calls, far fewer trips through middleware.
All event handling is moved outside middleware. Cleanup of unused actions and listeners to follow.
2024-08-30 22:18:49 +10:00
psychedelicious
29ac1b5e01
fix(ui): rebase conflicts
2024-08-30 22:18:49 +10:00
psychedelicious
506d3b079e
fix(ui): update compositing rect when fill changes
2024-08-30 22:18:49 +10:00
psychedelicious
0670e6b53a
feat(ui): add canvas background style
2024-08-30 22:18:49 +10:00
psychedelicious
76124ea35b
feat(ui): mask layers choose own opacity
2024-08-30 22:18:49 +10:00
psychedelicious
6eae3470cd
feat(ui): mask fill patterns
2024-08-30 22:18:49 +10:00
psychedelicious
c7ba7ac876
build(ui): add vite types to tsconfig
2024-08-30 22:18:49 +10:00
psychedelicious
edc733abd9
fix(ui): do not smooth pixel data when using eyeDropper
2024-08-30 22:18:49 +10:00
psychedelicious
a56ded664e
tidy(ui): tool components & translations
2024-08-30 22:18:49 +10:00
psychedelicious
31ace5fb0c
feat(ui): rough out eyedropper tool
...
It's a bit slow bc we are converting the stage to canvas on every mouse move. Also need to improve the visual but it works.
2024-08-30 22:18:49 +10:00
psychedelicious
11010236b3
fix(ui): ip adapters work
2024-08-30 22:18:49 +10:00
psychedelicious
5f061ac1e2
feat(ui): rename layers
2024-08-30 22:18:49 +10:00
psychedelicious
72919fa34e
feat(ui): revise entity menus
2024-08-30 22:18:49 +10:00
psychedelicious
d5ca99fc3c
feat(ui): split control layers from raster layers for UI and internal state, same rendering as raster layers
2024-08-30 22:18:49 +10:00
psychedelicious
e49b72ee4e
feat(ui): implement cache for image rasterization, rip out some old controladapters code
2024-08-30 22:18:49 +10:00
psychedelicious
abe8db8154
feat(ui, app): use layer as control (wip)
2024-08-30 22:18:49 +10:00
psychedelicious
e0e5941384
feat(ui): add contextmenu for canvas entities
2024-08-30 22:18:49 +10:00
psychedelicious
86e1f4e8b0
feat(ui): more better logging & naming
2024-08-30 22:18:49 +10:00
psychedelicious
447d873ef0
feat(ui): better logging w/ path
2024-08-30 22:18:49 +10:00
psychedelicious
b21d613ce4
feat(ui): always show marks on canvas scale slider
2024-08-30 22:18:49 +10:00
psychedelicious
fc91adb32f
fix(ui): do not import button from chakra
2024-08-30 22:18:49 +10:00
psychedelicious
71885db5fd
fix(ui): scaled bbox preview
2024-08-30 22:18:49 +10:00
psychedelicious
b88d14b3df
feat(ui): tidy up atoms
2024-08-30 22:18:49 +10:00
psychedelicious
d98d35a8a8
feat(ui): convert all my pubsubs to atoms
...
its the same but better
2024-08-30 22:18:49 +10:00
psychedelicious
87bc0ebd73
feat(ui): add trnalsation
2024-08-30 22:18:49 +10:00
psychedelicious
7b6ba3f690
fix(ui): give up on thumbnail loading, causes flash during transformer
2024-08-30 22:18:49 +10:00
psychedelicious
b0d8948428
fix(ui): depth anything v2
2024-08-30 22:18:49 +10:00
psychedelicious
b32d681cee
tidy(ui): remove unused code, comments
2024-08-30 22:18:49 +10:00
psychedelicious
11a66d1d09
fix(ui): staging area works
2024-08-30 22:18:49 +10:00
psychedelicious
e41987f08c
feat(nodes): temp disable canvas output crop
2024-08-30 22:18:49 +10:00
psychedelicious
34b57ec188
fix(ui): max scale 1 when reset view
2024-08-30 22:18:49 +10:00
psychedelicious
d74843be31
feat(ui): better scale changer component, reset view functionality
2024-08-30 22:18:49 +10:00
psychedelicious
1216c6f9c9
fix(ui): img2img
2024-08-30 22:18:49 +10:00
psychedelicious
865b6017d3
feat(ui): add manual scale controls
2024-08-30 22:18:49 +10:00
psychedelicious
922a021821
fix(ui): do not await clearBuffer
2024-08-30 22:18:49 +10:00
psychedelicious
0b5f4cac57
feat(ui): dnd image into layer
2024-08-30 22:18:49 +10:00
psychedelicious
c988c58c63
fix(ui): do not await commitBuffer
2024-08-30 22:18:49 +10:00
psychedelicious
ceb8cbf59e
fix(ui): properly destroy entities in manager cleanup
2024-08-30 22:18:49 +10:00
psychedelicious
52e9f43c46
tidy(ui): clearer component names for regional guidance
2024-08-30 22:18:49 +10:00
psychedelicious
4e5e7761fc
tidy(ui): clearer component names for ip adapter
2024-08-30 22:18:49 +10:00
psychedelicious
9879999a65
tidy(ui): clearer component names for inpaint mask
2024-08-30 22:18:49 +10:00
psychedelicious
bedaca70a3
tidy(ui): clearer component names for control adapters
2024-08-30 22:18:49 +10:00
psychedelicious
2dd2225d2e
feat(ui): simplify canvas list item headers
2024-08-30 22:18:49 +10:00
psychedelicious
d82031eec1
fix(ui): ip adapter list item
2024-08-30 22:18:49 +10:00
psychedelicious
e5f2860b74
tidy(ui): clean up unused logic
2024-08-30 22:18:49 +10:00
psychedelicious
fa3560bb61
feat(ui): clean up state, add mutex for image loading, add thumbnail loading
2024-08-30 22:18:49 +10:00
psychedelicious
9b23f6ce30
chore(ui): add async-mutex
dep
2024-08-30 22:18:49 +10:00
psychedelicious
5d6aa6cfd5
feat(ui): txt2img, img2img, inpaint & outpaint working
2024-08-30 22:18:49 +10:00
psychedelicious
7d1819335f
feat(ui): no padding on transformer outlines
2024-08-30 22:18:49 +10:00
psychedelicious
539e7a3f2d
feat(ui): restore object count to layer titles
2024-08-30 22:18:49 +10:00
psychedelicious
1686924ac8
tidy(ui): "useIsEntitySelected" -> "useEntityIsSelected"
2024-08-30 22:18:49 +10:00
psychedelicious
556c1dc67b
tidy(ui): move transformer statics into class
2024-08-30 22:18:49 +10:00
psychedelicious
00f7093e65
tidy(ui): massive cleanup
...
- create a context for entity identifiers, massively simplifying UI for each entity int he list
- consolidate common redux actions
- remove now-unused code
2024-08-30 22:18:49 +10:00
psychedelicious
79eb11dce9
perf(ui): do not add duplicate points to lines
2024-08-30 22:18:49 +10:00
psychedelicious
0bf48c0d41
feat(ui): up line tension to 0.3
2024-08-30 22:18:49 +10:00
psychedelicious
3f33e5f770
perf(ui): disable stroke, perfect draw on compositing rect
2024-08-30 22:18:49 +10:00
psychedelicious
da3888ba9e
tidy(ui): remove unused code, initial image
2024-08-30 22:18:49 +10:00
psychedelicious
a2f91b1055
tidy(ui): remove unused state & actions
2024-08-30 22:18:49 +10:00
psychedelicious
d26095dfa1
feat(ui): region mask rendering
2024-08-30 22:18:49 +10:00
psychedelicious
83e786bd1e
feat(ui): esc cancels drawing buffer
...
maybe this is not wanted? we'll see
2024-08-30 22:18:49 +10:00
psychedelicious
4cae12a507
fix(ui): render transformer over objects, fix issue w/ inpaint rect color
2024-08-30 22:18:49 +10:00
psychedelicious
d8e3708e0f
fix(ui): brush preview fill for inpaint/region
2024-08-30 22:18:49 +10:00
psychedelicious
f4de2fd3b1
fix(ui): no objects rendered until vis toggled
2024-08-30 22:18:49 +10:00
psychedelicious
e1cb30bbb4
feat(ui): inpaint mask transform
2024-08-30 22:18:49 +10:00
psychedelicious
97e0edc549
fix(ui): layer accidental early set isFirstRender=false
2024-08-30 22:18:49 +10:00
psychedelicious
f4e66bf14f
fix(ui): inpaint mask rendering
2024-08-30 22:18:49 +10:00
psychedelicious
a6a7fe8aba
feat(ui): wip inpaint mask uses new API
2024-08-30 22:18:49 +10:00
psychedelicious
a273f72560
feat(ui): move updatePosition to transformer
2024-08-30 22:18:49 +10:00
psychedelicious
b5126f45d6
feat(ui): move resetScale to transformer
2024-08-30 22:18:49 +10:00
psychedelicious
ba3bb7cbf3
tidy(ui): more imperative naming
2024-08-30 22:18:49 +10:00
psychedelicious
608279487b
tidy(ui): use imperative names for setters in stateapi
2024-08-30 22:18:49 +10:00
psychedelicious
72b5374916
fix(ui): commit drawing buffer on tool change, fixing bbox not calculating
2024-08-30 22:18:49 +10:00
psychedelicious
08b03212ca
fix(ui): sync transformer when requesting bbox calc
2024-08-30 22:18:49 +10:00
psychedelicious
7e341a05a1
tidy(ui): rename union CanvasEntity -> CanvasEntityState
2024-08-30 22:18:49 +10:00
psychedelicious
e665d08ee1
fix(ui): request rect calc immediately on transform, hiding rect
2024-08-30 22:18:49 +10:00
psychedelicious
ba6362dc9d
feat(ui): move bbox calculation to transformer
2024-08-30 22:18:49 +10:00
psychedelicious
48f0797c43
feat(ui): use set for transformer subscriptions
2024-08-30 22:18:49 +10:00
psychedelicious
640b0c4939
tidy(ui): clean up worker tasks when complete
2024-08-30 22:18:49 +10:00
psychedelicious
287c61e277
tidy(ui): remove unused code in CanvasTool
2024-08-30 22:18:49 +10:00
psychedelicious
f7b2516109
feat(ui): use pubsub for isTransforming on manager
2024-08-30 22:18:49 +10:00
psychedelicious
b530eb49d4
docs(ui): update transformer docstrings
2024-08-30 22:18:49 +10:00
psychedelicious
fa94979ab6
feat(ui): revised event pubsub, transformer logic split out
2024-08-30 22:18:49 +10:00
psychedelicious
54f2acf5b9
feat(ui): add simple pubsub
2024-08-30 22:18:49 +10:00
psychedelicious
b6d845a4d0
feat(ui): document & clean up object renderer
2024-08-30 22:18:49 +10:00
psychedelicious
1095b7c37f
feat(ui): split out object renderer
2024-08-30 22:18:49 +10:00
psychedelicious
136ffd97ca
fix(ui): unable to hold shit while transforming to retain ratio
2024-08-30 22:18:49 +10:00
psychedelicious
80163d0af2
tidy(ui): rename canvas stuff
2024-08-30 22:18:49 +10:00
psychedelicious
e1c6e926e7
tidy(ui): consolidate getLoggingContext builders
2024-08-30 22:18:49 +10:00
psychedelicious
2bb74abf31
fix(ui): align all tools to 1px grid
...
- Offset brush tool by 0.5px when width is odd, ensuring each stroke edge is exactly on a pixel boundary
- Round the rect tool also
2024-08-30 22:18:49 +10:00
psychedelicious
0d4b91afe0
feat(ui): disable image smoothing on layers
2024-08-30 22:18:49 +10:00
psychedelicious
6c688d6878
fix(ui): round position when rasterizing layer
2024-08-30 22:18:49 +10:00
psychedelicious
243feecef9
feat(ui): continue modularizing transform
2024-08-30 22:18:49 +10:00
psychedelicious
abd22ba087
feat(ui): fix a few things that didn't unsubscribe correctly, add helper to manage subscriptions
2024-08-30 22:18:49 +10:00
psychedelicious
ab25546e97
feat(ui): merge bbox outline into transformer
2024-08-30 22:18:49 +10:00
psychedelicious
925f0fca2a
fix(ui): update parent's pos not transformers
2024-08-30 22:18:49 +10:00
psychedelicious
066366d885
feat(ui): merge interaction rect into transformer class
2024-08-30 22:18:49 +10:00
psychedelicious
61d52e96b7
feat(ui): prepare staging area
2024-08-30 22:18:49 +10:00
psychedelicious
051e88ca90
feat(ui): typing for logging context
2024-08-30 22:18:49 +10:00
psychedelicious
e873b69850
feat(ui): remove inheritance of CanvasObject
...
JS is terrible
2024-08-30 22:18:49 +10:00
psychedelicious
661fd55556
feat(ui): split & document transformer logic, iterate on class structures
2024-08-30 22:18:49 +10:00
psychedelicious
402f5a4717
feat(ui): rotation snap to nearest 45deg when holding shift
2024-08-30 22:18:49 +10:00
psychedelicious
81bf52ef37
feat(ui): expose subscribe method for nanostores
2024-08-30 22:18:49 +10:00
psychedelicious
8ff92796df
tidy(ui): remove layer scaling reducers
2024-08-30 22:18:49 +10:00
psychedelicious
68af60e12e
fix(ui): pixel-perfect transforms
2024-08-30 22:18:49 +10:00
psychedelicious
cce6bf9428
fix(ui): layer visibility toggle
2024-08-30 22:18:49 +10:00
psychedelicious
078908fbea
fix(nodes): fix canvas mask erode
...
it wasn't eroding enough and caused incorrect transparency in result images
2024-08-30 22:18:49 +10:00
psychedelicious
7275caaf5b
fix(ui): do not reset layer on first render
2024-08-30 22:18:49 +10:00
psychedelicious
d9487c1df4
feat(ui): revised logging and naming setup, fix staging area
2024-08-30 22:18:49 +10:00
psychedelicious
3a9f955388
feat(ui): add repr
methods to layer and object classes
2024-08-30 22:18:49 +10:00
psychedelicious
e46c7acd2e
feat(ui): use nanoid(10) instead of uuidv4 for canvas
...
Shorter ids makes it much more readable
2024-08-30 22:18:49 +10:00
psychedelicious
b771664851
build(ui): add nanoid as explicit dep
2024-08-30 22:18:49 +10:00
psychedelicious
7c21819d20
fix(ui): move CanvasImage's konva image to correct object
2024-08-30 22:18:49 +10:00
psychedelicious
a57e618d47
fix(ui): prevent flash when applying transform
2024-08-30 22:18:49 +10:00
psychedelicious
c9849a79ea
build(ui): add eslint rules for async stuff
2024-08-30 22:18:49 +10:00
psychedelicious
f1643fec08
feat(ui): trying to fix flicker after transform
2024-08-30 22:18:49 +10:00
psychedelicious
951e63ca87
feat(ui): transform cleanup
2024-08-30 22:18:49 +10:00
psychedelicious
8e539c8a8c
feat(ui): fix transform when rotated
2024-08-30 22:18:49 +10:00
psychedelicious
1e689a4902
fix(ui): use pixel bbox when image is in layer
2024-08-30 22:18:49 +10:00
psychedelicious
7bbd25b5ec
fix(ui): transforming when axes flipped
2024-08-30 22:18:49 +10:00
psychedelicious
b1c7236117
feat(ui): hallelujah (???)
2024-08-30 22:18:49 +10:00
psychedelicious
ae3e473024
feat(ui): add debug button
2024-08-30 22:18:49 +10:00
psychedelicious
fd616f247c
fix(ui): transformer padding
2024-08-30 22:18:48 +10:00
psychedelicious
45dca2c821
feat(ui): wip transform mode 2
2024-08-30 22:18:48 +10:00
psychedelicious
40dc108c84
feat(ui): wip transform mode
2024-08-30 22:18:48 +10:00
psychedelicious
a421c25952
feat(ui): wip transform mode
2024-08-30 22:18:48 +10:00
psychedelicious
562d0afdbb
fix(ui): dnd to canvas broke
2024-08-30 22:18:48 +10:00
psychedelicious
2ce4698eef
fix(ui): conflicts after rebasing
2024-08-30 22:18:48 +10:00
psychedelicious
cb53108041
fix(ui): imageDropped listener
2024-08-30 22:18:48 +10:00
psychedelicious
5fa65e5cc6
wip
2024-08-30 22:18:48 +10:00
psychedelicious
e8b0b6cef5
fix(ui): transform tool seems to be working
2024-08-30 22:18:48 +10:00
psychedelicious
eca2712828
fix(ui): move tool fixes, add transform tool
2024-08-30 22:18:48 +10:00
psychedelicious
2804c0aede
feat(ui): move tool now only moves
2024-08-30 22:18:48 +10:00
psychedelicious
0429f0480d
feat(ui): layer bbox calc in worker
2024-08-30 22:18:48 +10:00
psychedelicious
024759a0fc
feat(ui): tweaked entity & group selection styles
2024-08-30 22:18:48 +10:00
psychedelicious
9a94aef2b0
feat(ui): canvas entity list headers
2024-08-30 22:18:48 +10:00
psychedelicious
e329cb45cd
tidy(ui): CanvasRegion
2024-08-30 22:18:48 +10:00
psychedelicious
0dc38bd684
tidy(ui): CanvasRect
2024-08-30 22:18:48 +10:00
psychedelicious
98ebca5f8c
tidy(ui): CanvasLayer
2024-08-30 22:18:48 +10:00
psychedelicious
05cb3e03cf
tidy(ui): CanvasInpaintMask
2024-08-30 22:18:48 +10:00