psychedelicious
3b6a76cbf3
fix(ui): do not await commitBuffer
2024-08-23 19:46:04 +10:00
psychedelicious
e0b60e4320
fix(ui): properly destroy entities in manager cleanup
2024-08-23 19:46:04 +10:00
psychedelicious
2159319035
tidy(ui): clearer component names for regional guidance
2024-08-23 19:46:04 +10:00
psychedelicious
b170fc232e
tidy(ui): clearer component names for ip adapter
2024-08-23 19:46:04 +10:00
psychedelicious
594da60f2f
tidy(ui): clearer component names for inpaint mask
2024-08-23 19:46:04 +10:00
psychedelicious
6a432f6518
tidy(ui): clearer component names for control adapters
2024-08-23 19:46:04 +10:00
psychedelicious
eb8eacfec6
feat(ui): simplify canvas list item headers
2024-08-23 19:46:04 +10:00
psychedelicious
c8d04d42e2
fix(ui): ip adapter list item
2024-08-23 19:46:04 +10:00
psychedelicious
d39c9de81e
tidy(ui): clean up unused logic
2024-08-23 19:46:04 +10:00
psychedelicious
a27d39b9ff
feat(ui): clean up state, add mutex for image loading, add thumbnail loading
2024-08-23 19:46:04 +10:00
psychedelicious
6b385614f0
chore(ui): add async-mutex
dep
2024-08-23 19:46:04 +10:00
psychedelicious
3ae7250ef7
feat(ui): txt2img, img2img, inpaint & outpaint working
2024-08-23 19:46:04 +10:00
psychedelicious
a42d0ce1d2
feat(ui): no padding on transformer outlines
2024-08-23 19:46:04 +10:00
psychedelicious
d9131f7563
feat(ui): restore object count to layer titles
2024-08-23 19:46:04 +10:00
psychedelicious
bdce958f29
tidy(ui): "useIsEntitySelected" -> "useEntityIsSelected"
2024-08-23 19:46:04 +10:00
psychedelicious
3c86f1e979
tidy(ui): move transformer statics into class
2024-08-23 19:46:04 +10:00
psychedelicious
894b8a29b9
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-23 19:46:04 +10:00
psychedelicious
8436a44973
perf(ui): do not add duplicate points to lines
2024-08-23 19:46:04 +10:00
psychedelicious
f9f9ec3688
feat(ui): up line tension to 0.3
2024-08-23 19:46:04 +10:00
psychedelicious
5a98d7a1f6
perf(ui): disable stroke, perfect draw on compositing rect
2024-08-23 19:46:04 +10:00
psychedelicious
f9bc96e497
tidy(ui): remove unused code, initial image
2024-08-23 19:46:04 +10:00
psychedelicious
56350ff5dc
tidy(ui): remove unused state & actions
2024-08-23 19:46:04 +10:00
psychedelicious
6c1139340c
feat(ui): region mask rendering
2024-08-23 19:46:04 +10:00
psychedelicious
641b1a7e6f
feat(ui): esc cancels drawing buffer
...
maybe this is not wanted? we'll see
2024-08-23 19:46:04 +10:00
psychedelicious
674a3f462f
fix(ui): render transformer over objects, fix issue w/ inpaint rect color
2024-08-23 19:46:04 +10:00
psychedelicious
2283186d3a
fix(ui): brush preview fill for inpaint/region
2024-08-23 19:46:04 +10:00
psychedelicious
340af1fe50
fix(ui): no objects rendered until vis toggled
2024-08-23 19:46:04 +10:00
psychedelicious
9378656d78
feat(ui): inpaint mask transform
2024-08-23 19:46:04 +10:00
psychedelicious
5f0413e222
fix(ui): layer accidental early set isFirstRender=false
2024-08-23 19:46:04 +10:00
psychedelicious
c3e47515b1
fix(ui): inpaint mask rendering
2024-08-23 19:46:04 +10:00
psychedelicious
5dcef6fa0d
feat(ui): wip inpaint mask uses new API
2024-08-23 19:46:04 +10:00
psychedelicious
31ac02cd93
feat(ui): move updatePosition to transformer
2024-08-23 19:46:04 +10:00
psychedelicious
ab16976084
feat(ui): move resetScale to transformer
2024-08-23 19:46:04 +10:00
psychedelicious
8e2b7845e1
tidy(ui): more imperative naming
2024-08-23 19:46:04 +10:00
psychedelicious
3973bce342
tidy(ui): use imperative names for setters in stateapi
2024-08-23 19:46:04 +10:00
psychedelicious
f63847a504
fix(ui): commit drawing buffer on tool change, fixing bbox not calculating
2024-08-23 19:46:04 +10:00
psychedelicious
07e3529948
fix(ui): sync transformer when requesting bbox calc
2024-08-23 19:46:04 +10:00
psychedelicious
03e1c60694
tidy(ui): rename union CanvasEntity -> CanvasEntityState
2024-08-23 19:46:04 +10:00
psychedelicious
d766ed71fc
fix(ui): request rect calc immediately on transform, hiding rect
2024-08-23 19:46:04 +10:00
psychedelicious
ae68ef142a
feat(ui): move bbox calculation to transformer
2024-08-23 19:46:04 +10:00
psychedelicious
20f55768c4
feat(ui): use set for transformer subscriptions
2024-08-23 19:46:04 +10:00
psychedelicious
c4fad4456e
tidy(ui): clean up worker tasks when complete
2024-08-23 19:46:04 +10:00
psychedelicious
78f5ec44ad
tidy(ui): remove unused code in CanvasTool
2024-08-23 19:46:04 +10:00
psychedelicious
e14ba86942
feat(ui): use pubsub for isTransforming on manager
2024-08-23 19:46:04 +10:00
psychedelicious
d4e7720f6b
docs(ui): update transformer docstrings
2024-08-23 19:46:04 +10:00
psychedelicious
a3f0e7e1cb
feat(ui): revised event pubsub, transformer logic split out
2024-08-23 19:46:04 +10:00
psychedelicious
30a696c476
feat(ui): add simple pubsub
2024-08-23 19:46:04 +10:00
psychedelicious
66d6c64e16
feat(ui): document & clean up object renderer
2024-08-23 19:46:04 +10:00
psychedelicious
d15be9b57c
feat(ui): split out object renderer
2024-08-23 19:46:04 +10:00
psychedelicious
e5da902fd0
fix(ui): unable to hold shit while transforming to retain ratio
2024-08-23 19:46:04 +10:00
psychedelicious
fc558094c2
tidy(ui): rename canvas stuff
2024-08-23 19:46:04 +10:00
psychedelicious
ad9312e989
tidy(ui): consolidate getLoggingContext builders
2024-08-23 19:46:04 +10:00
psychedelicious
8e1a70b008
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-23 19:46:04 +10:00
psychedelicious
17f88cd5ad
feat(ui): disable image smoothing on layers
2024-08-23 19:46:04 +10:00
psychedelicious
298f1919fa
fix(ui): round position when rasterizing layer
2024-08-23 19:46:04 +10:00
psychedelicious
4d20cc11d4
feat(ui): continue modularizing transform
2024-08-23 19:46:04 +10:00
psychedelicious
14f249a2f0
feat(ui): fix a few things that didn't unsubscribe correctly, add helper to manage subscriptions
2024-08-23 19:46:04 +10:00
psychedelicious
b9746a6c2c
feat(ui): merge bbox outline into transformer
2024-08-23 19:46:04 +10:00
psychedelicious
94f298a6f4
fix(ui): update parent's pos not transformers
2024-08-23 19:46:04 +10:00
psychedelicious
8d3a8178da
feat(ui): merge interaction rect into transformer class
2024-08-23 19:46:04 +10:00
psychedelicious
cad4212fe8
feat(ui): prepare staging area
2024-08-23 19:46:04 +10:00
psychedelicious
cff28dfaa9
feat(ui): typing for logging context
2024-08-23 19:46:04 +10:00
psychedelicious
70d7509fcc
feat(ui): remove inheritance of CanvasObject
...
JS is terrible
2024-08-23 19:46:04 +10:00
psychedelicious
cf83af7a27
feat(ui): split & document transformer logic, iterate on class structures
2024-08-23 19:46:04 +10:00
psychedelicious
5c5a405c0f
feat(ui): rotation snap to nearest 45deg when holding shift
2024-08-23 19:46:04 +10:00
psychedelicious
0208e4b232
feat(ui): expose subscribe method for nanostores
2024-08-23 19:46:04 +10:00
psychedelicious
e940754795
tidy(ui): remove layer scaling reducers
2024-08-23 19:46:04 +10:00
psychedelicious
dc9fa1a735
fix(ui): pixel-perfect transforms
2024-08-23 19:46:04 +10:00
psychedelicious
08591fbf6d
fix(ui): layer visibility toggle
2024-08-23 19:46:04 +10:00
psychedelicious
74db71bb5d
fix(nodes): fix canvas mask erode
...
it wasn't eroding enough and caused incorrect transparency in result images
2024-08-23 19:46:04 +10:00
psychedelicious
60dbe798a5
fix(ui): do not reset layer on first render
2024-08-23 19:46:04 +10:00
psychedelicious
0e676605fe
feat(ui): revised logging and naming setup, fix staging area
2024-08-23 19:46:04 +10:00
psychedelicious
3f781016f6
feat(ui): add repr
methods to layer and object classes
2024-08-23 19:46:04 +10:00
psychedelicious
17cd2f6b02
feat(ui): use nanoid(10) instead of uuidv4 for canvas
...
Shorter ids makes it much more readable
2024-08-23 19:46:04 +10:00
psychedelicious
99102a1b34
build(ui): add nanoid as explicit dep
2024-08-23 19:46:04 +10:00
psychedelicious
8d72e7d9e8
fix(ui): move CanvasImage's konva image to correct object
2024-08-23 19:46:04 +10:00
psychedelicious
0b6b6f97ad
fix(ui): prevent flash when applying transform
2024-08-23 19:46:04 +10:00
psychedelicious
fb2f6382b1
build(ui): add eslint rules for async stuff
2024-08-23 19:46:04 +10:00
psychedelicious
1ddea87c35
feat(ui): trying to fix flicker after transform
2024-08-23 19:46:04 +10:00
psychedelicious
ea02323095
feat(ui): transform cleanup
2024-08-23 19:46:04 +10:00
psychedelicious
49733091c7
feat(ui): fix transform when rotated
2024-08-23 19:46:04 +10:00
psychedelicious
cf833fd6e2
fix(ui): use pixel bbox when image is in layer
2024-08-23 19:46:04 +10:00
psychedelicious
ba5cf07ab8
fix(ui): transforming when axes flipped
2024-08-23 19:46:04 +10:00
psychedelicious
d15321a373
feat(ui): hallelujah (???)
2024-08-23 19:46:04 +10:00
psychedelicious
de597a5eb4
feat(ui): add debug button
2024-08-23 19:46:04 +10:00
psychedelicious
e5f5cbdf5c
fix(ui): transformer padding
2024-08-23 19:46:04 +10:00
psychedelicious
7d4342bbff
feat(ui): wip transform mode 2
2024-08-23 19:46:04 +10:00
psychedelicious
7f8a1d8d20
feat(ui): wip transform mode
2024-08-23 19:46:04 +10:00
psychedelicious
65353ac1e1
feat(ui): wip transform mode
2024-08-23 19:46:04 +10:00
psychedelicious
7f9a31ca4a
fix(ui): dnd to canvas broke
2024-08-23 19:46:04 +10:00
psychedelicious
592eb2886c
fix(ui): conflicts after rebasing
2024-08-23 19:46:04 +10:00
psychedelicious
c220dd8987
fix(ui): imageDropped listener
2024-08-23 19:46:04 +10:00
psychedelicious
a263beb0d5
wip
2024-08-23 19:46:04 +10:00
psychedelicious
46b7c510eb
fix(ui): transform tool seems to be working
2024-08-23 19:46:04 +10:00
psychedelicious
f405e472ea
fix(ui): move tool fixes, add transform tool
2024-08-23 19:46:04 +10:00
psychedelicious
7bdfd3ef5f
feat(ui): move tool now only moves
2024-08-23 19:46:04 +10:00
psychedelicious
778ee2c679
feat(ui): layer bbox calc in worker
2024-08-23 19:46:04 +10:00
psychedelicious
e70339ff3e
feat(ui): tweaked entity & group selection styles
2024-08-23 19:46:04 +10:00
psychedelicious
88c57a9750
feat(ui): canvas entity list headers
2024-08-23 19:46:04 +10:00
psychedelicious
137252128b
tidy(ui): CanvasRegion
2024-08-23 19:46:04 +10:00
psychedelicious
d4297b1345
tidy(ui): CanvasRect
2024-08-23 19:46:04 +10:00
psychedelicious
6059bc7b47
tidy(ui): CanvasLayer
2024-08-23 19:46:04 +10:00
psychedelicious
c3ff3eb51f
tidy(ui): CanvasInpaintMask
2024-08-23 19:46:04 +10:00
psychedelicious
0b7751c413
tidy(ui): CanvasInitialImage
2024-08-23 19:46:04 +10:00
psychedelicious
d7f1c30624
tidy(ui): CanvasImage
2024-08-23 19:46:04 +10:00
psychedelicious
3f4d7dbeea
tidy(ui): CanvasEraserLine
2024-08-23 19:46:04 +10:00
psychedelicious
19b6ae2907
tidy(ui): CanvasControlAdapter
2024-08-23 19:46:04 +10:00
psychedelicious
769f96ff9f
tidy(ui): CanvasBrushLine
2024-08-23 19:46:04 +10:00
psychedelicious
fdaf75faa4
tidy(ui): CanvasBbox
2024-08-23 19:46:04 +10:00
psychedelicious
1380bb7ae6
tidy(ui): CanvasBackground
2024-08-23 19:46:04 +10:00
psychedelicious
9483c8cc29
tidy(ui): update canvas classes, organise location of konva nodes
2024-08-23 19:46:04 +10:00
psychedelicious
2ef8a8cf5a
feat(ui): add names to all konva objects
...
Makes troubleshooting much simpler
2024-08-23 19:46:04 +10:00
psychedelicious
d296ec1932
fix(ui): do not await creating new canvas image
...
If you await this, it causes a race condition where multiple images are created.
2024-08-23 19:46:04 +10:00
psychedelicious
444ad3dae1
feat(ui): use position
and dimensions
instead of separate x,y,width,height attrs
2024-08-23 19:46:04 +10:00
psychedelicious
8cdcc71378
fix(ui): remove weird rtkq hook wrapper
...
I do not understand why I did that initially but it doesn't work with TS.
2024-08-23 19:46:04 +10:00
psychedelicious
e8bc06cfd3
feat(ui): rename types size and position to dimensions and coordinate
2024-08-23 19:46:04 +10:00
psychedelicious
67a0a024e9
tidy(ui): hide layer settings by default
2024-08-23 19:46:04 +10:00
psychedelicious
bd2c46c267
fix(ui): layer rendering when starting as disabled
2024-08-23 19:46:04 +10:00
psychedelicious
5acb27f350
feat(invocation): reduce canvas v2 mask & crop mask dilation
2024-08-23 19:46:04 +10:00
psychedelicious
7271b12d0f
feat(ui): de-jank staging area and progress images
2024-08-23 19:46:04 +10:00
psychedelicious
4a79467a33
feat(ui): update staging handling to work w/ cropped mask
2024-08-23 19:46:04 +10:00
psychedelicious
5501bb87a3
chore(ui): typegen
2024-08-23 19:46:04 +10:00
psychedelicious
561610e296
feat(app): update CanvasV2MaskAndCropInvocation
2024-08-23 19:46:04 +10:00
psychedelicious
b76609ef18
feat(ui): use new canvas output node
2024-08-23 19:46:04 +10:00
psychedelicious
070b78501b
chore(ui): typegen
2024-08-23 19:46:04 +10:00
psychedelicious
50df4f4ab6
feat(app): add CanvasV2MaskAndCropInvocation & CanvasV2MaskAndCropOutput
...
This handles some masking and cropping that the canvas needs.
2024-08-23 19:46:04 +10:00
psychedelicious
9bbf430125
fix(ui): restore nodes output tracking
2024-08-23 19:46:04 +10:00
psychedelicious
384a90958a
feat(ui): rip out document size
...
barely knew ye
2024-08-23 19:46:04 +10:00
psychedelicious
0e4a25b029
feat(ui): convert initial image to layer when starting canvas session
2024-08-23 19:46:04 +10:00
psychedelicious
4a44e171fd
fix(ui): fix layer transparency calculation
2024-08-23 19:46:04 +10:00
psychedelicious
9bc57a6f59
fix(ui): reset initial image when resetting canvas
2024-08-23 19:46:03 +10:00
psychedelicious
4341ed7ab4
fix(ui): reset node executions states when loading workflow
2024-08-23 19:46:03 +10:00
psychedelicious
97ce72c542
fix(ui): entity display list
2024-08-23 19:46:03 +10:00
psychedelicious
a2c78a57a7
feat(ui): img2img working
2024-08-23 19:46:03 +10:00
psychedelicious
044a713dc9
feat(ui): rough out img2img on canvas
2024-08-23 19:46:03 +10:00
psychedelicious
b8479c5fe2
UNDO ME WIP
2024-08-23 19:46:03 +10:00
psychedelicious
4e5d056824
feat(ui): log invocation source id on socket event
2024-08-23 19:46:03 +10:00
psychedelicious
118278b372
feat(ui): restore document size overlay renderer
2024-08-23 19:46:03 +10:00
psychedelicious
8e8c255f3f
feat(ui): make documnet size a rect
2024-08-23 19:46:03 +10:00
psychedelicious
1575bee401
refactor(ui): remove modular imagesize components
...
This is no longer necessary with canvas v2 and added a ton of extraneous redux actions when changing the image size. Also renamed to document size
2024-08-23 19:46:03 +10:00
psychedelicious
249bbfc883
feat(ui): initialState is for generation mode
2024-08-23 19:46:03 +10:00
psychedelicious
3993ae410f
feat(ui): split out canvas entity list component
2024-08-23 19:46:03 +10:00
psychedelicious
edf040e3d2
feat(ui): hide bbox button when no canvas session active
2024-08-23 19:46:03 +10:00
psychedelicious
66fd077ee7
tidy(ui): remove unused naming objects/utils
...
The canvas manager means we don't need to worry about konva node names as we never directly select konva nodes.
2024-08-23 19:46:03 +10:00
psychedelicious
b93462ebb6
feat(ui): split up tool chooser buttons
...
Prep for distinct toolbars for generation vs canvas modes
2024-08-23 19:46:03 +10:00
psychedelicious
d4da00e607
feat(ui): "stagingArea" -> "session"
2024-08-23 19:46:03 +10:00
psychedelicious
0c539ff00b
feat(ui): add reset button to canvas
2024-08-23 19:46:03 +10:00
psychedelicious
5983cbf26c
feat(ui): add snapToRect util
2024-08-23 19:46:03 +10:00
psychedelicious
c513d6e3af
fix(ui): fiddle with control adapter filters
...
some jank still
2024-08-23 19:46:03 +10:00
psychedelicious
9d57c0e631
feat(ui): temp disable doc size overlay
2024-08-23 19:46:03 +10:00