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
psychedelicious
a1923a8966
feat(ui): no animation on layer selection
...
Felt sluggish
2024-08-23 19:46:03 +10:00
psychedelicious
d988e18731
feat(ui): use canvas as source for control images (wip)
2024-08-23 19:46:03 +10:00
psychedelicious
51008da2dd
fix(ui): control adapter translate & scale
2024-08-23 19:46:03 +10:00
psychedelicious
6ccc1f5672
tidy(ui): removed unused state related to non-buffered drawing
2024-08-23 19:46:03 +10:00
psychedelicious
4a556f84e0
feat(ui): control adapter image rendering
2024-08-23 19:46:03 +10:00
psychedelicious
2f21a2220d
fix(ui): do not floor bbox calc, it cuts off the last pixels
2024-08-23 19:46:03 +10:00
psychedelicious
91a420b13e
feat(ui): fix issue where creating line needs 2 points
2024-08-23 19:46:03 +10:00
psychedelicious
c27da3581b
fix(ui): edge cases when holding shift and drawing lines
2024-08-23 19:46:03 +10:00
psychedelicious
961dfbce93
fix(ui): set buffered rect color to full alpha
2024-08-23 19:46:03 +10:00
psychedelicious
df39c825ae
fix(ui): handle mouseup correctly
2024-08-23 19:46:03 +10:00
psychedelicious
3f6ee1b7a4
feat(ui): buffered rect drawing
2024-08-23 19:46:03 +10:00
psychedelicious
908e504a6f
fix(ui): buffered drawing edge cases
2024-08-23 19:46:03 +10:00
psychedelicious
f2fa41afc5
perf(ui): do not use stage.find
2024-08-23 19:46:03 +10:00
psychedelicious
440ff40ad5
perf(ui): object groups do not listen
2024-08-23 19:46:03 +10:00
psychedelicious
5c15458e15
perf(ui): buffered drawing (wip)
2024-08-23 19:46:03 +10:00
psychedelicious
be5b474f1e
tidy(ui): organise files
2024-08-23 19:46:03 +10:00
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
09d0421de4
pkg(ui): remove unused deps react-konva & use-image
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
0b5d20c9f0
fix(ui): merge conflicts in image deletion listener
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
7f40d23f19
fix(ui): staging area image offset
2024-08-23 19:46:03 +10:00
psychedelicious
918354cd9d
feat(ui): tweak layer ui component
2024-08-23 19:46:03 +10:00
psychedelicious
eef9278ee6
fix(ui): resetting layer resets position
2024-08-23 19:46:03 +10:00
psychedelicious
2c32e2e5c1
feat(ui): updated layer list component styling
2024-08-23 19:46:03 +10:00
psychedelicious
6f05654db5
feat(ui): transformable layers
2024-08-23 19:46:03 +10:00
psychedelicious
1d31b6902f
feat(ui): move tool icon is pointer like in other apps
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
1dbf9e4ed4
feat(ui): disable gallery hotkeys while staging
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
84a4e6ae3f
feat(ui): show queue item origin in queue list
2024-08-23 19:46:03 +10:00
psychedelicious
f283bfd68f
chore(ui): typegen
2024-08-23 19:46:03 +10:00
psychedelicious
6e5ff7b79c
feat(app): add origin to session queue
...
The origin is an optional field indicating the queue item's origin. For example, "canvas" when the queue item originated from the canvas or "workflows" when the queue item originated from the workflows tab. If omitted, we assume the queue item originated from the API directly.
- Add migration to add the nullable column to the `session_queue` table.
- Update relevant event payloads with the new field.
- Add `cancel_by_origin` method to `session_queue` service and corresponding route. This is required for the canvas to bail out early when staging images.
- Add `origin` to both `SessionQueueItem` and `Batch` - it needs to be provided initially via the batch and then passed onto the queue item.
-
2024-08-23 19:46:03 +10:00
psychedelicious
7c3800d03f
fix(ui): denoise start on outpainting
2024-08-23 19:46:03 +10:00
psychedelicious
941db90518
feat(ui): add redux events for queue cleared & batch enqueued socket events
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
b55378c63c
tidy(ui): disable preview images on every enqueue
2024-08-23 19:46:03 +10:00
psychedelicious
946c2a49ab
feat(ui): rough out save staging image
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
ec6361e5cb
fix(ui): batch building after removing canvas files
2024-08-23 19:46:03 +10:00
psychedelicious
0c26d28278
feat(ui): make Graph class's getMetadataNode public
2024-08-23 19:46:03 +10:00
psychedelicious
c5172d4c5a
tidy(ui): remove old canvas graphs
2024-08-23 19:46:03 +10:00
psychedelicious
89de04775e
fix(ui): do not select already-selected entity
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
bea0cba038
tidy(ui): type "Dimensions" -> "Size"
2024-08-23 19:46:03 +10:00
psychedelicious
48ee75af9c
feat(ui): add updateNode to Graph
2024-08-23 19:46:03 +10:00
psychedelicious
929c593d2f
feat(ui): sdxl graphs
2024-08-23 19:46:03 +10:00
psychedelicious
221f32eca7
feat(ui): sd1 outpaint graph
2024-08-23 19:46:03 +10:00
psychedelicious
c3acc15e8b
tests(ui): add missing tests for Graph class
2024-08-23 19:46:03 +10:00
psychedelicious
1b653278fc
feat(ui): add Graph.getid() util
2024-08-23 19:46:03 +10:00
psychedelicious
cc9062ee46
feat(ui): outpaint graph, organize builder a bit
2024-08-23 19:46:03 +10:00
psychedelicious
91c0feb0ad
feat(ui): inpaint sd1 graph
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
a6ca17b19d
feat(ui): txt2img & img2img graphs
2024-08-23 19:46:03 +10:00
psychedelicious
6a4a5ece74
feat(ui): minor change to canvas bbox state type
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
2aad3f89c3
feat(ui): inpaint mask UI components
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
0ed6591d8c
fix(ui): models loaded handler
2024-08-23 19:46:03 +10:00
psychedelicious
712e090134
feat(ui): internal state for inpaint mask
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
031471e785
feat(ui): use node manager for addRegions
2024-08-23 19:46:03 +10:00
psychedelicious
2e860c6791
feat(ui): persist bbox
2024-08-23 19:46:03 +10:00
psychedelicious
d071a9e17d
fix(ui): fix generation graphs
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
8f0f51be2c
perf(ui): fix lag w/ region rendering
...
Needed to memoize these selectors
2024-08-23 19:46:03 +10:00
psychedelicious
7179e250ed
feat(ui): move canvas fill color picker to right
2024-08-23 19:46:03 +10:00
psychedelicious
5bec091fd6
refactor(ui): remove unused ellipse & polygon objects
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
93ff252dc0
refactor(ui): enable global debugging flag
2024-08-23 19:46:03 +10:00
psychedelicious
ac52224455
refactor(ui): disable the preview renderer for now
2024-08-23 19:46:03 +10:00
psychedelicious
4087cad23d
tweak(ui): canvas editor layout
2024-08-23 19:46:03 +10:00
psychedelicious
e936b1ff8f
perf(ui): memoize layeractionsmenu valid actions
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
9622beaa0d
fix(ui): canvas HUD doesn't interrupt tool
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
15ad4e3f5e
fix(ui): delete all layers button
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
a20a861680
fix(ui): canvas entity ids getting clobbered
2024-08-23 19:46:03 +10:00
psychedelicious
396d0a4bc0
fix(ui): move lora followup fixes
2024-08-23 19:46:03 +10:00
psychedelicious
ca9314e077
chore(ui): lint
2024-08-23 19:46:03 +10:00
psychedelicious
4b848798e7
refactor(ui): move loras to canvas slice
2024-08-23 19:46:03 +10:00
psychedelicious
083bcbc77d
fix(ui): layer is selected when added
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
8abfa759a4
feat(ui): better HUD
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
psychedelicious
f083be9391
feat(ui): hold shift w/ brush to draw straight line
2024-08-23 19:46:03 +10:00
psychedelicious
091e2fb751
fix(ui): update bg on canvas resize
2024-08-23 19:46:03 +10:00
psychedelicious
d8539daf1f
refactor(ui): better hud
2024-08-23 19:46:03 +10:00
psychedelicious
7ec059f5fa
refactor(ui): scaled tool preview border
2024-08-23 19:46:03 +10:00
psychedelicious
4f2ecdefd2
refactor(ui): port remaining canvasV1 rendering logic to V2, remove old code
2024-08-23 19:46:03 +10:00
psychedelicious
e8891a1988
refactor(ui): fix more types
2024-08-23 19:46:03 +10:00
psychedelicious
37d2607f34
refactor(ui): metadata recall (wip)
...
just enough let the app run
2024-08-23 19:46:03 +10:00
psychedelicious
0e7b10d3d9
refactor(ui): undo/redo button temp fix
2024-08-23 19:46:03 +10:00
psychedelicious
1f85888638
refactor(ui): fix renderer stuff
2024-08-23 19:46:03 +10:00
psychedelicious
c1f9a129fa
refactor(ui): fix misc types
2024-08-23 19:46:03 +10:00
psychedelicious
7ccc5ba398
refactor(ui): fix gallery stuff
2024-08-23 19:46:03 +10:00
psychedelicious
5e1a6ae334
refactor(ui): fix delete image stuff
2024-08-23 19:46:03 +10:00
psychedelicious
3f6cf638f9
refactor(ui): fix useIsReadyToEnqueue for new adapterType field
2024-08-23 19:46:03 +10:00
psychedelicious
46e062a828
refactor(ui): update generation tab graphs
2024-08-23 19:46:02 +10:00
psychedelicious
cc3a0b5d6c
refactor(ui): add adapterType
to ControlAdapterData
2024-08-23 19:46:02 +10:00
psychedelicious
775479ab7b
refactor(ui): update components & logic to use new unified slice (again)
2024-08-23 19:46:02 +10:00
psychedelicious
6b9e0e6d63
refactor(ui): update components & logic to use new unified slice
2024-08-23 19:46:02 +10:00
psychedelicious
83a5c87f5e
refactor(ui): merge compositing, params into canvasV2 slice
2024-08-23 19:46:02 +10:00
psychedelicious
84fde74331
refactor(ui): add scaled bbox state
2024-08-23 19:46:02 +10:00
psychedelicious
a517e29b39
refactor(ui): update dnd/image upload
2024-08-23 19:46:02 +10:00
psychedelicious
ccceba7565
refactor(ui): update size/prompts state
2024-08-23 19:46:02 +10:00
psychedelicious
5fc7a03669
refactor(ui): rip out old control adapter implementation
2024-08-23 19:46:02 +10:00
psychedelicious
8864ad1b50
refactor(ui): canvas v2 (wip)
...
fix entity count select
2024-08-23 19:46:02 +10:00
psychedelicious
f2989885fb
refactor(ui): canvas v2 (wip)
...
delete unused file
2024-08-23 19:46:02 +10:00
psychedelicious
19c66e5c76
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-08-23 19:46:02 +10:00
psychedelicious
8a6690a57c
refactor(ui): canvas v2 (wip)
...
Fix a few more components
2024-08-23 19:46:02 +10:00
psychedelicious
2cc60f253a
refactor(ui): canvas v2 (wip)
...
missed a spot
2024-08-23 19:46:02 +10:00
psychedelicious
cb69872dd3
refactor(ui): canvas v2 (wip)
...
Redo all UI components for different canvas entity types
2024-08-23 19:46:02 +10:00
psychedelicious
ba66d7c9a6
refactor(ui): canvas v2 (wip)
2024-08-23 19:46:02 +10:00
psychedelicious
9fe727c9f8
refactor(ui): canvas v2 (wip)
2024-08-23 19:46:02 +10:00
psychedelicious
58c656224f
refactor(ui): canvas v2 (wip)
2024-08-23 19:46:02 +10:00
psychedelicious
c51253f5f6
refactor(ui): canvas v2 (wip)
2024-08-23 19:46:02 +10:00
psychedelicious
6c1d1588fc
feat(ui): bbox tool
2024-08-23 19:46:02 +10:00
psychedelicious
95d6183a6c
fix(ui): rect tool preview
2024-08-23 19:46:02 +10:00
psychedelicious
f4c9facdaf
fix(ui): multiple stages
2024-08-23 19:46:02 +10:00
psychedelicious
a274e6f165
feat(ui): decouple konva logic from nanostores
2024-08-23 19:46:02 +10:00
psychedelicious
154e3e6f64
feat(ui): store all stage attrs in nanostores
2024-08-23 19:46:02 +10:00
psychedelicious
2c3ac972e5
feat(ui): round stage scale
2024-08-23 19:46:02 +10:00
psychedelicious
2e2e072b0b
chore(ui): bump konva
2024-08-23 19:46:02 +10:00
psychedelicious
9d8dd2bf66
feat(ui): generation bbox transformation working
...
whew
2024-08-23 19:46:02 +10:00
psychedelicious
9047f6db30
feat(ui): wip generation bbox
2024-08-23 19:46:02 +10:00
psychedelicious
5ab345ee63
feat(ui): wip generation bbox
2024-08-23 19:46:02 +10:00
psychedelicious
d8a83acd3a
feat(ui): CL zoom and pan, some rendering optimizations
2024-08-23 19:46:02 +10:00
psychedelicious
1f58e5756b
Revert "feat(ui): add x,y,scaleX,scaleY,rotation to objects"
...
This reverts commit 53318b396c967c72326a7e4dea09667b2ab20bdd.
2024-08-23 19:46:02 +10:00
psychedelicious
744acb8f07
feat(ui): layers manage their own bbox
2024-08-23 19:46:02 +10:00
psychedelicious
ae7228d821
docs(ui): konva image object docstrings
2024-08-23 19:46:02 +10:00
psychedelicious
99d8b3a7bf
feat(ui): add x,y,scaleX,scaleY,rotation to objects
2024-08-23 19:46:02 +10:00
psychedelicious
3fbe65bbcf
fix(ui): show color picker when using rect tool
2024-08-23 19:46:02 +10:00
psychedelicious
f5d879d8e7
feat(ui): image loading fallback for raster layers
2024-08-23 19:46:02 +10:00
psychedelicious
cbc5a4f8e6
feat(ui): bbox calc for raster layers
2024-08-23 19:46:02 +10:00
psychedelicious
37ac7d8ed5
feat(ui): do not fill brush preview when drawing
2024-08-23 19:46:02 +10:00
psychedelicious
bee3fa339d
fix(ui): brush spacing handling
2024-08-23 19:46:02 +10:00
psychedelicious
c171fe2b96
fix(ui): jank when starting a shape when not already focused on stage
2024-08-23 19:46:02 +10:00
psychedelicious
1fa8032fdb
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-08-23 19:46:02 +10:00
psychedelicious
5c0676bcc2
feat(ui): support image objects on raster layers
...
Just the UI and internal state, not rendering yet.
2024-08-23 19:46:02 +10:00
psychedelicious
cefd9a027c
tidy(ui): clean up event handlers
...
Separate logic for each tool in preparation for ellipse and polygon tools.
2024-08-23 19:46:02 +10:00
psychedelicious
1bce156de1
feat(ui): raster layer reset, object group util
2024-08-23 19:46:02 +10:00
psychedelicious
cd4f63f2fd
feat(ui): rect shape preview now has fill
2024-08-23 19:46:02 +10:00
psychedelicious
3c7140cbf3
feat(ui): cancel shape drawing on esc
2024-08-23 19:46:02 +10:00
psychedelicious
b71ba63b5a
feat(ui): temp disable history on CL
2024-08-23 19:46:02 +10:00
psychedelicious
d540e2c0d3
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-08-23 19:46:02 +10:00
psychedelicious
d79fafc5f5
feat(ui): add raster layer rendering and interaction (WIP)
2024-08-23 19:46:02 +10:00
psychedelicious
9e93fa2092
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-08-23 19:46:02 +10:00
psychedelicious
392e9b4882
refactor(ui): revise types for line and rect objects
...
- Create separate object types for brush and eraser lines, instead of a single type that has a `tool` field.
- Create new object type for rect shapes.
- Add logic to schemas to migrate old object types to new.
- Update renderers & reducers.
2024-08-23 19:46:02 +10:00
psychedelicious
231e5ec94a
chore: bump version v4.2.8post1
2024-08-23 06:55:30 +10:00
Mary Hipp
e5bb6f9693
lint fix
2024-08-23 06:46:19 +10:00
Mary Hipp
da7dee44c6
fix(ui): use empty string fallback if unable to parse prompts when creating style preset from existing image
2024-08-23 06:46:19 +10:00
psychedelicious
c451f52ea3
chore(ui): lint
2024-08-22 21:00:09 +10:00
psychedelicious
8a2c78f2e1
fix(ui): dynamic prompts not recalculating when deleting or updating a style preset
...
The root cause was the active style preset not being reset when it was deleted, or no longer present in the list of style presets.
- Add extra reducer to `stylePresetSlice` to reset the active preset if it is deleted or otherwise unavailable
- Update the dynamic prompts listener to trigger on delete/update/list of style presets
2024-08-22 21:00:09 +10:00
psychedelicious
bcc78bde9b
chore: bump version to v4.2.8
2024-08-22 21:00:09 +10:00
Васянатор
054bb6fe0a
translationBot(ui): update translation (Russian)
...
Currently translated at 100.0% (1367 of 1367 strings)
Co-authored-by: Васянатор <ilabulanov339@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/ru/
Translation: InvokeAI/Web UI
2024-08-22 13:09:56 +10:00
Riccardo Giovanetti
4f4aa6d92e
translationBot(ui): update translation (Italian)
...
Currently translated at 98.4% (1346 of 1367 strings)
translationBot(ui): update translation (Italian)
Currently translated at 98.4% (1346 of 1367 strings)
Co-authored-by: Riccardo Giovanetti <riccardo.giovanetti@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/it/
Translation: InvokeAI/Web UI
2024-08-22 13:09:56 +10:00
Hosted Weblate
eac51ac6f5
translationBot(ui): update translation files
...
Updated by "Cleanup translation files" hook in Weblate.
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/
Translation: InvokeAI/Web UI
2024-08-22 13:09:56 +10:00
psychedelicious
9f349a7c0a
fix(ui): do not constrain width of hide/show boards button
...
lets translations display fully
2024-08-22 11:36:07 +10:00
psychedelicious
918afa5b15
fix(ui): show more of current board name
2024-08-22 11:36:07 +10:00
psychedelicious
eb1113f95c
feat(ui): add translation string for "Upscale"
2024-08-22 11:36:07 +10:00
psychedelicious
4f4ba7b462
tidy(ui): clean up ActiveStylePreset markup
2024-08-21 09:06:41 +10:00
Mary Hipp
2298be0e6b
fix(ui): error handling if unable to convert image URL to blob
2024-08-21 09:06:41 +10:00
Mary Hipp
63494dfca7
remove extra slash in exports path
2024-08-21 09:06:41 +10:00
Mary Hipp
36a1d39454
fix(ui): handle badge styling when template name is long
2024-08-21 09:06:41 +10:00
Mary Hipp
a6f6d5c400
fix(ui): add loading state to button when creating or updating a style preset
2024-08-21 09:06:41 +10:00
Mary Hipp
e85f221aca
fix(ui): clear prompt template when prompts are recalled
2024-08-21 09:04:35 +10:00
Mary Hipp
d4797e37dc
fix(ui): properly unwrap delete style preset API request so that error is caught
2024-08-19 16:12:39 -04:00
Mary Hipp
3e7923d072
fix(api): allow updating of type for style preset
2024-08-19 16:12:39 -04:00