psychedelicious
7dd11bd60a
feat(ui): add utils for getting images from canvas
2024-08-30 22:18:47 +10:00
psychedelicious
275fc2ccf9
feat(ui): even more simplified API - lean on the konva node manager to abstract imperative state API & rendering
2024-08-30 22:18:47 +10:00
psychedelicious
a2ef8d9d47
feat(ui): revised docstrings for renderers & simplified api
2024-08-30 22:18:47 +10:00
psychedelicious
196779ff19
feat(ui): inpaint mask UI components
2024-08-30 22:18:47 +10:00
psychedelicious
aee3147365
feat(ui): inpaint mask rendering (wip)
2024-08-30 22:18:47 +10:00
psychedelicious
eaca940956
fix(ui): models loaded handler
2024-08-30 22:18:47 +10:00
psychedelicious
06006733e2
feat(ui): internal state for inpaint mask
2024-08-30 22:18:47 +10:00
psychedelicious
14d0bfbef6
refactor(ui): divvy up canvas state a bit
2024-08-30 22:18:47 +10:00
psychedelicious
0c9cf73702
feat(ui): get region and base layer canvas to blob logic working
2024-08-30 22:18:47 +10:00
psychedelicious
3b864921ac
refactor(ui): node manager handles more tedious annoying stuff
2024-08-30 22:18:47 +10:00
psychedelicious
f41539532f
feat(ui): use node manager for addRegions
2024-08-30 22:18:47 +10:00
psychedelicious
657009c254
feat(ui): persist bbox
2024-08-30 22:18:47 +10:00
psychedelicious
c47e02c309
fix(ui): fix generation graphs
2024-08-30 22:18:47 +10:00
psychedelicious
ce8a7bc178
feat(ui): add toggle for clipToBbox
2024-08-30 22:18:47 +10:00
psychedelicious
488ca87787
feat(ui): rename konva node manager
2024-08-30 22:18:47 +10:00
psychedelicious
d965df8ca9
refactor(ui): create classes to abstract mgmt of konva nodes
2024-08-30 22:18:47 +10:00
psychedelicious
995c26751e
tidy(ui): organise renderers
2024-08-30 22:18:47 +10:00
psychedelicious
dd09723a2a
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-30 22:18:47 +10:00
psychedelicious
5ff5af3ba2
perf(ui): fix lag w/ region rendering
...
Needed to memoize these selectors
2024-08-30 22:18:47 +10:00
psychedelicious
4cb85404c0
feat(ui): move canvas fill color picker to right
2024-08-30 22:18:47 +10:00
psychedelicious
50bc2f100d
refactor(ui): remove unused ellipse & polygon objects
2024-08-30 22:18:47 +10:00
psychedelicious
f65ce6a019
fix(ui): incorrect rect/brush/eraser positions
2024-08-30 22:18:47 +10:00
psychedelicious
c28b635f2d
refactor(ui): enable global debugging flag
2024-08-30 22:18:47 +10:00
psychedelicious
e55896240d
refactor(ui): disable the preview renderer for now
2024-08-30 22:18:47 +10:00
psychedelicious
2b478ee7e1
tweak(ui): canvas editor layout
2024-08-30 22:18:47 +10:00
psychedelicious
69912a35ea
perf(ui): memoize layeractionsmenu valid actions
2024-08-30 22:18:47 +10:00
psychedelicious
9f1bd98c7e
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-30 22:18:47 +10:00
psychedelicious
b531d6b7f0
feat(ui): clip lines to bbox
2024-08-30 22:18:47 +10:00
psychedelicious
8aa963fb81
fix(ui): document fit positioning
2024-08-30 22:18:47 +10:00
psychedelicious
b76e0ab4e4
feat(ui): document bounds overlay
2024-08-30 22:18:47 +10:00
psychedelicious
aea03b4e92
tidy(ui): background layer
2024-08-30 22:18:47 +10:00
psychedelicious
b39e95966c
refactor(ui): use "entity" instead of "data" for canvas
2024-08-30 22:18:47 +10:00
psychedelicious
d53e5e0158
feat(ui): brush size border radius = 1
2024-08-30 22:18:47 +10:00
psychedelicious
0368dd651b
fix(ui): canvas HUD doesn't interrupt tool
2024-08-30 22:18:47 +10:00
psychedelicious
84a4a1024e
refactor(ui): split up canvas entity renderers, temp disable preview
2024-08-30 22:18:47 +10:00
psychedelicious
af4f258489
fix(ui): delete all layers button
2024-08-30 22:18:47 +10:00
psychedelicious
ddfc8785b4
fix(ui): ignore keyboard shortcuts in input/textarea elements
2024-08-30 22:18:47 +10:00
psychedelicious
d8515b6efc
fix(ui): canvas entity ids getting clobbered
2024-08-30 22:18:47 +10:00
psychedelicious
6a07f007a4
fix(ui): move lora followup fixes
2024-08-30 22:18:47 +10:00
psychedelicious
7a5a0c8075
chore(ui): lint
2024-08-30 22:18:47 +10:00
psychedelicious
5ed2e9b0fc
refactor(ui): move loras to canvas slice
2024-08-30 22:18:47 +10:00
psychedelicious
aeb0a45eb6
fix(ui): layer is selected when added
2024-08-30 22:18:47 +10:00
psychedelicious
21e814d766
feat(ui): r to center & fit stage on document
2024-08-30 22:18:47 +10:00
psychedelicious
cafc1839e2
feat(ui): better HUD
2024-08-30 22:18:47 +10:00
psychedelicious
e937aa831f
fix(ui): always use current brush width when making straight lines
2024-08-30 22:18:47 +10:00
psychedelicious
890e6a95ed
feat(ui): hold shift w/ brush to draw straight line
2024-08-30 22:18:47 +10:00
psychedelicious
a5b7274359
fix(ui): update bg on canvas resize
2024-08-30 22:18:47 +10:00
psychedelicious
172acf2cf5
refactor(ui): better hud
2024-08-30 22:18:47 +10:00
psychedelicious
b49fdf6407
refactor(ui): scaled tool preview border
2024-08-30 22:18:47 +10:00
psychedelicious
5184d05bc2
refactor(ui): port remaining canvasV1 rendering logic to V2, remove old code
2024-08-30 22:18:47 +10:00
psychedelicious
7ef4553fc9
refactor(ui): fix more types
2024-08-30 22:18:47 +10:00
psychedelicious
d6bd1e4a49
refactor(ui): metadata recall (wip)
...
just enough let the app run
2024-08-30 22:18:47 +10:00
psychedelicious
29413f20a7
refactor(ui): undo/redo button temp fix
2024-08-30 22:18:47 +10:00
psychedelicious
04a44c8ea7
refactor(ui): fix renderer stuff
2024-08-30 22:18:47 +10:00
psychedelicious
426f1b6f9a
refactor(ui): fix misc types
2024-08-30 22:18:47 +10:00
psychedelicious
9c7f5ed321
refactor(ui): fix gallery stuff
2024-08-30 22:18:47 +10:00
psychedelicious
4c37c7f280
refactor(ui): fix delete image stuff
2024-08-30 22:18:47 +10:00
psychedelicious
a2d13cacbf
refactor(ui): fix useIsReadyToEnqueue for new adapterType field
2024-08-30 22:18:47 +10:00
psychedelicious
aa127b83a3
refactor(ui): update generation tab graphs
2024-08-30 22:18:47 +10:00
psychedelicious
e55192ae2a
refactor(ui): add adapterType
to ControlAdapterData
2024-08-30 22:18:47 +10:00
psychedelicious
5159fcbc33
refactor(ui): update components & logic to use new unified slice (again)
2024-08-30 22:18:47 +10:00
psychedelicious
02ad7a0f93
refactor(ui): update components & logic to use new unified slice
2024-08-30 22:18:47 +10:00
psychedelicious
bfa496e37f
refactor(ui): merge compositing, params into canvasV2 slice
2024-08-30 22:18:47 +10:00
psychedelicious
fdf347af26
refactor(ui): add scaled bbox state
2024-08-30 22:18:47 +10:00
psychedelicious
0833dbb19d
refactor(ui): update dnd/image upload
2024-08-30 22:18:47 +10:00
psychedelicious
1b6bf58e58
refactor(ui): update size/prompts state
2024-08-30 22:18:47 +10:00
psychedelicious
5ead7bc7b4
refactor(ui): rip out old control adapter implementation
2024-08-30 22:18:47 +10:00
psychedelicious
f326d17856
refactor(ui): canvas v2 (wip)
...
fix entity count select
2024-08-30 22:18:47 +10:00
psychedelicious
908aa9beea
refactor(ui): canvas v2 (wip)
...
delete unused file
2024-08-30 22:18:47 +10:00
psychedelicious
4071e96245
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-30 22:18:47 +10:00
psychedelicious
b4daf29bd8
refactor(ui): canvas v2 (wip)
...
Fix a few more components
2024-08-30 22:18:47 +10:00
psychedelicious
bf185339c2
refactor(ui): canvas v2 (wip)
...
missed a spot
2024-08-30 22:18:47 +10:00
psychedelicious
df3abc75c2
refactor(ui): canvas v2 (wip)
...
Redo all UI components for different canvas entity types
2024-08-30 22:18:47 +10:00
psychedelicious
28fc9a387c
refactor(ui): canvas v2 (wip)
2024-08-30 22:18:47 +10:00
psychedelicious
8533f207dc
refactor(ui): canvas v2 (wip)
2024-08-30 22:18:47 +10:00
psychedelicious
d135c48319
refactor(ui): canvas v2 (wip)
2024-08-30 22:18:47 +10:00
psychedelicious
ca9090d070
refactor(ui): canvas v2 (wip)
2024-08-30 22:18:47 +10:00
psychedelicious
93b185dc3b
feat(ui): bbox tool
2024-08-30 22:18:47 +10:00
psychedelicious
98e5efa895
fix(ui): rect tool preview
2024-08-30 22:18:47 +10:00
psychedelicious
c6774b829d
fix(ui): multiple stages
2024-08-30 22:18:47 +10:00
psychedelicious
22925f92bd
feat(ui): decouple konva logic from nanostores
2024-08-30 22:18:47 +10:00
psychedelicious
302efcf6e8
feat(ui): store all stage attrs in nanostores
2024-08-30 22:18:47 +10:00
psychedelicious
76f9f90f0a
feat(ui): round stage scale
2024-08-30 22:18:47 +10:00
psychedelicious
5ba338e471
chore(ui): bump konva
2024-08-30 22:18:47 +10:00
psychedelicious
01f101c6f2
feat(ui): generation bbox transformation working
...
whew
2024-08-30 22:18:47 +10:00
psychedelicious
5606aec78d
feat(ui): wip generation bbox
2024-08-30 22:18:47 +10:00
psychedelicious
db90e1fe8b
feat(ui): wip generation bbox
2024-08-30 22:18:47 +10:00
psychedelicious
ae96c479f2
feat(ui): CL zoom and pan, some rendering optimizations
2024-08-30 22:18:47 +10:00
psychedelicious
344ed2c83e
Revert "feat(ui): add x,y,scaleX,scaleY,rotation to objects"
...
This reverts commit 53318b396c967c72326a7e4dea09667b2ab20bdd.
2024-08-30 22:18:47 +10:00
psychedelicious
1985944659
feat(ui): layers manage their own bbox
2024-08-30 22:18:47 +10:00
psychedelicious
915357a6c1
docs(ui): konva image object docstrings
2024-08-30 22:18:47 +10:00
psychedelicious
63c34e78d7
feat(ui): add x,y,scaleX,scaleY,rotation to objects
2024-08-30 22:18:47 +10:00
psychedelicious
366c460c1f
fix(ui): show color picker when using rect tool
2024-08-30 22:18:47 +10:00
psychedelicious
40cab08133
feat(ui): image loading fallback for raster layers
2024-08-30 22:18:47 +10:00
psychedelicious
51de25122a
feat(ui): bbox calc for raster layers
2024-08-30 22:18:47 +10:00
psychedelicious
90313091db
feat(ui): do not fill brush preview when drawing
2024-08-30 22:18:47 +10:00
psychedelicious
9982219d18
fix(ui): brush spacing handling
2024-08-30 22:18:47 +10:00
psychedelicious
b3fe03b8f9
fix(ui): jank when starting a shape when not already focused on stage
2024-08-30 22:18:47 +10:00
psychedelicious
6edd15d68a
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-30 22:18:47 +10:00
psychedelicious
0e2b328c88
feat(ui): support image objects on raster layers
...
Just the UI and internal state, not rendering yet.
2024-08-30 22:18:47 +10:00
psychedelicious
25d7f9c316
tidy(ui): clean up event handlers
...
Separate logic for each tool in preparation for ellipse and polygon tools.
2024-08-30 22:18:47 +10:00
psychedelicious
3870ebdf29
feat(ui): raster layer reset, object group util
2024-08-30 22:18:47 +10:00
psychedelicious
7595d05191
feat(ui): rect shape preview now has fill
2024-08-30 22:18:47 +10:00
psychedelicious
21af727d79
feat(ui): cancel shape drawing on esc
2024-08-30 22:18:47 +10:00
psychedelicious
5691829de6
feat(ui): temp disable history on CL
2024-08-30 22:18:47 +10:00
psychedelicious
20e6a57cf1
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-30 22:18:47 +10:00
psychedelicious
d0c40a8b5b
feat(ui): add raster layer rendering and interaction (WIP)
2024-08-30 22:18:46 +10:00
psychedelicious
f663215f25
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-30 22:18:46 +10:00
psychedelicious
7c5dea6d12
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-30 22:18:46 +10:00
Ryan Dick
4e4b6c6dbc
Tidy variable management and dtype handling in FluxTextToImageInvocation.
2024-08-29 19:08:18 +00:00
Ryan Dick
5e8cf9fb6a
Remove hack to clear cache from the FluxTextToImageInvocation. We now clear the cache based on the on-disk model size.
2024-08-29 19:08:18 +00:00
Ryan Dick
c738fe051f
Split T5 encoding and CLIP encoding into separate functions to ensure that all model references are locally-scoped so that the two models don't have to be help in memory at the same time.
2024-08-29 19:08:18 +00:00
Ryan Dick
29fe1533f2
Fix bug in InvokeLinear8bitLt that was causing old state information to persist after loading from a state dict. This manifested as state tensors being left on the GPU even when a model had been offloaded to the CPU cache.
2024-08-29 19:08:18 +00:00
Ryan Dick
77090070bd
Check the size of a model on disk and make room for it in the cache before loading it.
2024-08-29 19:08:18 +00:00
Ryan Dick
6ba9b1b6b0
Tidy up GIG -> GB and remove unused GIG constant.
2024-08-29 19:08:18 +00:00
Ryan Dick
c578b8df1e
Improve ModelCache docs.
2024-08-29 19:08:18 +00:00
Ryan Dick
cad9a41433
Remove unused MOdelCache.exists(...) function.
2024-08-29 19:08:18 +00:00
Ryan Dick
5fefb3b0f4
Remove unused param from ModelCache.
2024-08-29 19:08:18 +00:00
Ryan Dick
5284a870b0
Remove unused constructor params from ModelCache.
2024-08-29 19:08:18 +00:00
Ryan Dick
e064377c05
Remove default model cache sizes from model_cache_default.py. These defaults were misleading, because the config defaults take precedence over them.
2024-08-29 19:08:18 +00:00
Mary Hipp
3e569c8312
feat(ui): add fields for CLIP embed models and Flux VAE models in workflows
2024-08-29 11:52:51 -04:00
maryhipp
16825ee6e9
feat(nodes): bump version of flux model node, update default workflow
2024-08-29 11:52:51 -04:00
Mary Hipp
3f5340fa53
feat(nodes): add submodels as inputs to FLUX main model node instead of hardcoded names
2024-08-29 11:52:51 -04:00
chainchompa
326de55d3e
remove api changes and only preselect style preset
2024-08-28 09:53:29 -04:00
chainchompa
b2df909570
added selectedStylePreset to preload presets when app loads
2024-08-28 09:50:44 -04:00
chainchompa
026ac36b06
Revert "added selectedStylePreset to preload presets when app loads"
...
This reverts commit e97fd85904
.
2024-08-28 09:44:08 -04:00
chainchompa
92125e5fd2
bug fixes
2024-08-27 16:13:38 -04:00
chainchompa
c0c139da88
formatting ruff
2024-08-27 15:46:51 -04:00
chainchompa
404ad6a7fd
cleanup
2024-08-27 15:42:42 -04:00
chainchompa
fc39086fb4
call stylePresetSelected
2024-08-27 15:34:31 -04:00
chainchompa
cd215700fe
added route for selecting style preset
2024-08-27 15:34:07 -04:00
chainchompa
e97fd85904
added selectedStylePreset to preload presets when app loads
2024-08-27 15:33:24 -04:00
Brandon Rising
0a263fa5b1
chore: bump version to v4.2.9rc1
2024-08-27 12:09:27 -04:00
Mary Hipp
fae3836a8d
fix CLIP
2024-08-27 10:29:10 -04:00
Mary Hipp
b3d2eb4178
add translations for new model types in MM, remove clip vision from filter since its not displayed in list
2024-08-27 10:29:10 -04:00
Ryan Dick
50085b40bb
Update starter model size estimates.
2024-08-26 20:17:50 -04:00
Mary Hipp
cff382715a
default workflow: add steps to exposed fields, add more notes
2024-08-26 20:17:50 -04:00
Brandon Rising
54d54d1bf2
Run ruff
2024-08-26 20:17:50 -04:00
Mary Hipp
e84ea68282
remove prompt
2024-08-26 20:17:50 -04:00
Mary Hipp
160dd36782
update default workflow for flux
2024-08-26 20:17:50 -04:00
Brandon Rising
65bb46bcca
Rename params for flux and flux vae, add comments explaining use of the config_path in model config
2024-08-26 20:17:50 -04:00
Brandon Rising
2d185fb766
Run ruff
2024-08-26 20:17:50 -04:00
Brandon Rising
2ba9b02932
Fix type error in tsc
2024-08-26 20:17:50 -04:00
Brandon Rising
849da67cc7
Remove no longer used code in the flux denoise function
2024-08-26 20:17:50 -04:00
Brandon Rising
3ea6c9666e
Remove in progress images until we're able to make the valuable
2024-08-26 20:17:50 -04:00
Brandon Rising
cf633e4ef2
Only install starter models if not already installed
2024-08-26 20:17:50 -04:00
Ryan Dick
bbf934d980
Remove outdated TODO.
2024-08-26 20:17:50 -04:00
Ryan Dick
620f733110
ruff format
2024-08-26 20:17:50 -04:00
Ryan Dick
635d2f480d
ruff
2024-08-26 20:17:50 -04:00
Brandon Rising
70c278c810
Remove dependency on flux config files
2024-08-26 20:17:50 -04:00