psychedelicious
e66ef2e25e
feat(ui): temp disable doc size overlay
2024-08-30 22:18:48 +10:00
psychedelicious
4d3ee7e082
feat(ui): no animation on layer selection
...
Felt sluggish
2024-08-30 22:18:48 +10:00
psychedelicious
fe48fda2f3
feat(ui): use canvas as source for control images (wip)
2024-08-30 22:18:48 +10:00
psychedelicious
0f66753aa1
fix(ui): control adapter translate & scale
2024-08-30 22:18:48 +10:00
psychedelicious
a18878474b
tidy(ui): removed unused state related to non-buffered drawing
2024-08-30 22:18:48 +10:00
psychedelicious
0aa4568fd4
feat(ui): control adapter image rendering
2024-08-30 22:18:48 +10:00
psychedelicious
1de7e5760a
fix(ui): do not floor bbox calc, it cuts off the last pixels
2024-08-30 22:18:48 +10:00
psychedelicious
135d6f2763
feat(ui): fix issue where creating line needs 2 points
2024-08-30 22:18:48 +10:00
psychedelicious
061767ede3
fix(ui): edge cases when holding shift and drawing lines
2024-08-30 22:18:48 +10:00
psychedelicious
7204844bcb
fix(ui): set buffered rect color to full alpha
2024-08-30 22:18:48 +10:00
psychedelicious
f2279ecadd
fix(ui): handle mouseup correctly
2024-08-30 22:18:48 +10:00
psychedelicious
75694869d2
feat(ui): buffered rect drawing
2024-08-30 22:18:48 +10:00
psychedelicious
d029680ac1
fix(ui): buffered drawing edge cases
2024-08-30 22:18:48 +10:00
psychedelicious
41c195d936
perf(ui): do not use stage.find
2024-08-30 22:18:48 +10:00
psychedelicious
03ea005e9c
perf(ui): object groups do not listen
2024-08-30 22:18:48 +10:00
psychedelicious
6d936a7c44
perf(ui): buffered drawing (wip)
2024-08-30 22:18:48 +10:00
psychedelicious
fba17b93a6
tidy(ui): organise files
2024-08-30 22:18:48 +10:00
psychedelicious
73a7a27ea1
tidy(ui): organise files
2024-08-30 22:18:48 +10:00
psychedelicious
79287c2d16
tidy(ui): organise files
2024-08-30 22:18:48 +10:00
psychedelicious
662c5f4b77
fix(ui): background rendering
2024-08-30 22:18:48 +10:00
psychedelicious
7728ca6843
pkg(ui): remove unused deps react-konva & use-image
2024-08-30 22:18:48 +10:00
psychedelicious
9607372f89
feat(ui): organize konva state and files
2024-08-30 22:18:48 +10:00
psychedelicious
d27f948b78
fix(ui): merge conflicts in image deletion listener
2024-08-30 22:18:48 +10:00
psychedelicious
b7aab81717
fix(ui): region rendering
2024-08-30 22:18:48 +10:00
psychedelicious
2998287f61
fix(ui): inpaint mask rendering
2024-08-30 22:18:48 +10:00
psychedelicious
55d7f0ff5b
fix(ui): staging area rendering
2024-08-30 22:18:48 +10:00
psychedelicious
4564f36d4a
fix(ui): stale selected entity
2024-08-30 22:18:48 +10:00
psychedelicious
319de5c4e9
fix(ui): staging area image offset
2024-08-30 22:18:48 +10:00
psychedelicious
eee499faa3
feat(ui): tweak layer ui component
2024-08-30 22:18:48 +10:00
psychedelicious
63c5e42f2a
fix(ui): resetting layer resets position
2024-08-30 22:18:48 +10:00
psychedelicious
bd16dc4479
feat(ui): updated layer list component styling
2024-08-30 22:18:48 +10:00
psychedelicious
49371ddec9
feat(ui): transformable layers
2024-08-30 22:18:48 +10:00
psychedelicious
6a10d31b19
feat(ui): move tool icon is pointer like in other apps
2024-08-30 22:18:48 +10:00
psychedelicious
c951e733d3
feat(ui): do not floor cursor position
2024-08-30 22:18:48 +10:00
psychedelicious
7ed24cf847
feat(ui): disable gallery hotkeys while staging
2024-08-30 22:18:48 +10:00
psychedelicious
821b7a0435
feat(ui): revised canvas progress & staging image handling
2024-08-30 22:18:48 +10:00
psychedelicious
1b0344c412
feat(ui): show queue item origin in queue list
2024-08-30 22:18:48 +10:00
psychedelicious
03ca3c4b3d
chore(ui): typegen
2024-08-30 22:18:48 +10:00
psychedelicious
b939192b16
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-30 22:18:48 +10:00
psychedelicious
7ccf559a06
fix(ui): denoise start on outpainting
2024-08-30 22:18:48 +10:00
psychedelicious
9eb091f873
feat(ui): add redux events for queue cleared & batch enqueued socket events
2024-08-30 22:18:48 +10:00
psychedelicious
3bd5521641
feat(ui): canvas staging area works
2024-08-30 22:18:48 +10:00
psychedelicious
ced748e419
feat(ui): switch to view tool when staging
2024-08-30 22:18:48 +10:00
psychedelicious
fbd137da9f
tidy(ui): disable preview images on every enqueue
2024-08-30 22:18:48 +10:00
psychedelicious
03baebced6
feat(ui): rough out save staging image
2024-08-30 22:18:48 +10:00
psychedelicious
cb19c1c370
feat(ui): staging area image visibility toggle
2024-08-30 22:18:47 +10:00
psychedelicious
788bad61d0
fix(ui): batch building after removing canvas files
2024-08-30 22:18:47 +10:00
psychedelicious
8f5f9bd44e
feat(ui): make Graph class's getMetadataNode public
2024-08-30 22:18:47 +10:00
psychedelicious
2873e3e084
tidy(ui): remove old canvas graphs
2024-08-30 22:18:47 +10:00
psychedelicious
b004f17ae3
fix(ui): do not select already-selected entity
2024-08-30 22:18:47 +10:00
psychedelicious
bea1e8c99b
tidy(ui): naming things
2024-08-30 22:18:47 +10:00
psychedelicious
111493223f
tidy(ui): file organisation
2024-08-30 22:18:47 +10:00
psychedelicious
0a5ac2baec
fix(ui): reset cursor pos when fitting document
2024-08-30 22:18:47 +10:00
psychedelicious
eec3c3b884
feat(ui): staging area works more better
2024-08-30 22:18:47 +10:00
psychedelicious
07b72c3d70
feat(ui): staging area barely works
2024-08-30 22:18:47 +10:00
psychedelicious
766e8c4eb0
feat(ui): consolidate konva API
2024-08-30 22:18:47 +10:00
psychedelicious
57c257d10d
feat(ui): consolidate konva API
2024-08-30 22:18:47 +10:00
psychedelicious
d497da0e61
feat(ui): staging area (rendering wip)
2024-08-30 22:18:47 +10:00
psychedelicious
62310e7929
tidy(ui): type "Dimensions" -> "Size"
2024-08-30 22:18:47 +10:00
psychedelicious
d79aa173a6
feat(ui): add updateNode to Graph
2024-08-30 22:18:47 +10:00
psychedelicious
fbfdd3e003
feat(ui): sdxl graphs
2024-08-30 22:18:47 +10:00
psychedelicious
a62b4a26ef
feat(ui): sd1 outpaint graph
2024-08-30 22:18:47 +10:00
psychedelicious
817d4168c6
tests(ui): add missing tests for Graph class
2024-08-30 22:18:47 +10:00
psychedelicious
7e0a6d1538
feat(ui): add Graph.getid() util
2024-08-30 22:18:47 +10:00
psychedelicious
ebc498ad19
feat(ui): outpaint graph, organize builder a bit
2024-08-30 22:18:47 +10:00
psychedelicious
b97b8c6ce6
feat(ui): inpaint sd1 graph
2024-08-30 22:18:47 +10:00
psychedelicious
b8abff65a1
feat(ui): temp disable image caching while testing
2024-08-30 22:18:47 +10:00
psychedelicious
a953dc1dbd
feat(ui): txt2img & img2img graphs
2024-08-30 22:18:47 +10:00
psychedelicious
a7c9848e99
feat(ui): minor change to canvas bbox state type
2024-08-30 22:18:47 +10:00
psychedelicious
73a1449eaf
feat(ui): simplified konva node to blob/imagedata utils
2024-08-30 22:18:47 +10:00
psychedelicious
59f57ff542
feat(ui): node manager getter/setter
2024-08-30 22:18:47 +10:00
psychedelicious
e9204b87e3
feat(ui): generation mode calculation, fudged graphs
2024-08-30 22:18:47 +10:00
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
Brandon Rising
56b9906e2e
Setup scaffolding for in progress images and add ability to cancel the flux node
2024-08-26 20:17:50 -04:00
Ryan Dick
a808ce81fd
Replace swish() with torch.nn.functional.silu(h). They are functionally equivalent, but in my test VAE deconding was ~8% faster after the change.
2024-08-26 20:17:50 -04:00
Ryan Dick
83f82c5ddf
Switch the CLIP-L start model to use our hosted version - which is much smaller.
2024-08-26 20:17:50 -04:00
Brandon Rising
101de8c25d
Update t5 encoder formats to accurately reflect the quantization strategy and data type
2024-08-26 20:17:50 -04:00
Ryan Dick
3339a4baf0
Downgrade revert torch version after removing optimum-qanto, and other minor version-related fixes.
2024-08-26 20:17:50 -04:00
Ryan Dick
dff4a88baa
Move quantization scripts to a scripts/ subdir.
2024-08-26 20:17:50 -04:00
Ryan Dick
a21f6c4964
Update docs for T5 quantization script.
2024-08-26 20:17:50 -04:00
Ryan Dick
97562504b7
Remove all references to optimum-quanto and downgrade diffusers.
2024-08-26 20:17:50 -04:00
Ryan Dick
75d8ac378c
Update the T5 8-bit quantized starter model to use the BnB LLM.int8() variant.
2024-08-26 20:17:50 -04:00
Ryan Dick
b9dd354e2b
Fixes to the T5XXL quantization script.
2024-08-26 20:17:50 -04:00
Ryan Dick
33c2fbd201
Add script for quantizing a T5 model.
2024-08-26 20:17:50 -04:00
Brandon Rising
5063be92bf
Switch flux to using its own conditioning field
2024-08-26 20:17:50 -04:00
Brandon Rising
1047584b3e
Only import bnb quantize file if bitsandbytes is installed
2024-08-26 20:17:50 -04:00
Brandon Rising
6764dcfdaa
Load and unload clip/t5 encoders and run inference separately in text encoding
2024-08-26 20:17:50 -04:00
Ryan Dick
a0bf20bcee
Run FLUX VAE decoding in the user's preferred dtype rather than float32. Tested, and seems to work well at float16.
2024-08-26 20:17:50 -04:00
Ryan Dick
14ab339b33
Move prepare_latent_image_patches(...) to sampling.py with all of the related FLUX inference code.
2024-08-26 20:17:50 -04:00
Ryan Dick
25c91efbb6
Rename field positive_prompt -> prompt.
2024-08-26 20:17:50 -04:00
Ryan Dick
1c1f2c6664
Add comment about incorrect T5 Tokenizer size calculation.
2024-08-26 20:17:50 -04:00
Ryan Dick
d7c22b3bf7
Tidy is_schnell detection logic.
2024-08-26 20:17:50 -04:00
Ryan Dick
185f2a395f
Make FLUX get_noise(...) consistent across devices/dtypes.
2024-08-26 20:17:50 -04:00
Ryan Dick
0c5649491e
Mark FLUX nodes as prototypes.
2024-08-26 20:17:50 -04:00
Brandon Rising
94aba5892a
Attribute black-forest-labs/flux for much of the flux code
2024-08-26 20:17:50 -04:00
maryhipp
34451e5f27
added FLUX dev to starter models
2024-08-26 20:17:50 -04:00
Brandon Rising
1f9bdd1a9a
Undo changes to the v2 dir of frontend types
2024-08-26 20:17:50 -04:00
Brandon Rising
c27d59baf7
Run ruff
2024-08-26 20:17:50 -04:00
Brandon Rising
f130ddec7c
Remove automatic install of models during flux model loader, remove no longer used import function on context
2024-08-26 20:17:50 -04:00
Ryan Dick
a0a259eef1
Fix max_seq_len field description.
2024-08-26 20:17:50 -04:00
Ryan Dick
b66f19d4d1
Add docs to the quantization scripts.
2024-08-26 20:17:50 -04:00
Ryan Dick
4105a78b83
Update load_flux_model_bnb_llm_int8.py to work with a single-file FLUX transformer checkpoint.
2024-08-26 20:17:50 -04:00
Ryan Dick
19a68afb3a
Fix bug in InvokeInt8Params that was causing it to use double the necessary VRAM.
2024-08-26 20:17:50 -04:00
maryhipp
fd68a2475b
add better workflow name
2024-08-26 20:17:50 -04:00
maryhipp
28ff7ba830
add better workflow description
2024-08-26 20:17:50 -04:00
maryhipp
5d0b248fdb
fix(worker) fix T5 type
2024-08-26 20:17:50 -04:00
maryhipp
01a4e0f6ef
update default workflow
2024-08-26 20:17:50 -04:00
Mary Hipp
91e0731506
fix schema
2024-08-26 20:17:50 -04:00
Mary Hipp
d1f904d41f
tsc and lint fix
2024-08-26 20:17:50 -04:00
Mary Hipp
269388c9f4
feat(ui): create new field for t5 encoder models in nodes
2024-08-26 20:17:50 -04:00
Mary Hipp
b8486379ce
fix(ui): pass base/type when installing models, add flux formats to MM badges
2024-08-26 20:17:50 -04:00
Mary Hipp
400eb94d3b
fix(ui): only exclude flux main models from linear UI dropdown, not model manager list
2024-08-26 20:17:50 -04:00
maryhipp
e210c96485
add FLUX schnell starter models and submodels as dependenices or adhoc download options
2024-08-26 20:17:50 -04:00
maryhipp
5f567f41f4
add case for clip embed models in probe
2024-08-26 20:17:50 -04:00
maryhipp
5fed573a29
update flux_model_loader node to take a T5 encoder from node field instead of hardcoded list, assume all models have been downloaded
2024-08-26 20:17:50 -04:00
Ryan Dick
cfac7c8189
Move requantize.py to the quatnization/ dir.
2024-08-26 20:17:50 -04:00
Ryan Dick
1787de6836
Add docs to the requantize(...) function explaining why it was copied from optimum-quanto.
2024-08-26 20:17:50 -04:00
Ryan Dick
ac96f187bd
Remove duplicate log_time(...) function.
2024-08-26 20:17:50 -04:00
Brandon Rising
72398350b4
More flux loader cleanup
2024-08-26 20:17:50 -04:00
Brandon Rising
df9445c351
Various styling and exception type updates
2024-08-26 20:17:50 -04:00
Brandon Rising
87b7a2e39b
Switch inheritance class of flux model loaders
2024-08-26 20:17:50 -04:00
Brandon Rising
f7e46622a1
Update doc string for import_local_model and remove access_token since it's only usable for local file paths
2024-08-26 20:17:50 -04:00
Ryan Dick
71f18353a9
Address minor review comments.
2024-08-26 20:17:50 -04:00
Ryan Dick
4228de707b
Rename t5Encoder -> t5_encoder.
2024-08-26 20:17:50 -04:00
Mary Hipp
b6a05629ef
add default workflow for flux t2i
2024-08-26 20:17:50 -04:00
Mary Hipp
fbaa820643
exclude flux models from main model dropdown
2024-08-26 20:17:50 -04:00
Brandon Rising
db2a2d5e38
Some cleanup of the tags and description of flux nodes
2024-08-26 20:17:50 -04:00
Brandon Rising
8ba6e6b1f8
Add t5 encoders and clip embeds to the model manager
2024-08-26 20:17:50 -04:00
Brandon Rising
57168d719b
Fix styling/lint
2024-08-26 20:17:50 -04:00
Brandon Rising
dee6d2c98e
Fix support for 8b quantized t5 encoders, update exception messages in flux loaders
2024-08-26 20:17:50 -04:00
Ryan Dick
e49105ece5
Add tqdm progress bar to FLUX denoising.
2024-08-26 20:17:50 -04:00
Ryan Dick
0c5e11f521
Fix FLUX output image clamping. And a few other minor fixes to make inference work with the full bfloat16 FLUX transformer model.
2024-08-26 20:17:50 -04:00
Brandon Rising
a63f842a13
Select dev/schnell based on state dict, use correct max seq len based on dev/schnell, and shift in inference, separate vae flux params into separate config
2024-08-26 20:17:50 -04:00
Brandon Rising
4bd7fda694
Install sub directories with folders correctly, ensure consistent dtype of tensors in flux pipeline and vae
2024-08-26 20:17:50 -04:00
Brandon Rising
81f0886d6f
Working inference node with quantized bnb nf4 checkpoint
2024-08-26 20:17:50 -04:00
Brandon Rising
2eb87f3306
Remove unused param on _run_vae_decoding in flux text to image
2024-08-26 20:17:50 -04:00
Brandon Rising
723f3ab0a9
Add nf4 bnb quantized format
2024-08-26 20:17:50 -04:00
Brandon Rising
1bd90e0fd4
Run ruff, setup initial text to image node
2024-08-26 20:17:50 -04:00
Brandon Rising
436f18ff55
Add backend functions and classes for Flux implementation, Update the way flux encoders/tokenizers are loaded for prompt encoding, Update way flux vae is loaded
2024-08-26 20:17:50 -04:00
Brandon Rising
cde9696214
Some UI cleanup, regenerate schema
2024-08-26 20:17:50 -04:00
Brandon Rising
2d9042fb93
Run Ruff
2024-08-26 20:17:50 -04:00
Brandon Rising
9ed53af520
Run Ruff
2024-08-26 20:17:50 -04:00
Brandon Rising
56fda669fd
Manage quantization of models within the loader
2024-08-26 20:17:50 -04:00
Brandon Rising
1d8545a76c
Remove changes to v1 workflow
2024-08-26 20:17:50 -04:00
Brandon Rising
5f59a828f9
Setup flux model loading in the UI
2024-08-26 20:17:50 -04:00
Ryan Dick
1fa6bddc89
WIP on moving from diffusers to FLUX
2024-08-26 20:17:50 -04:00
Ryan Dick
d3a5ca5247
More improvements for LLM.int8() - not fully tested.
2024-08-26 20:17:50 -04:00
Ryan Dick
f01f56a98e
LLM.int8() quantization is working, but still some rough edges to solve.
2024-08-26 20:17:50 -04:00
Ryan Dick
99b0f79784
Clean up NF4 implementation.
2024-08-26 20:17:50 -04:00
Ryan Dick
e1eb104345
NF4 inference working
2024-08-26 20:17:50 -04:00
Ryan Dick
5c2f95ef50
NF4 loading working... I think.
2024-08-26 20:17:50 -04:00