psychedelicious
a6cb522fed
feat(ui): add bboxUpdated callback to transformer, use it to fit layer to stage when creating new canvas from an image
...
When a layer is initialized, we do not yet know its bbox, so we cannot fit the stage view to the layer. We have to wait for the bbox calculation to finish. Previously, we had no way to wait unti lthat bbox calculation was complete to take an action.
For example, this means we could not fit the layers to the stage immediately after creating a new layer, bc we don't know the dimensions of the layer yet.
This callback lets us do that. When creating a new canvas from an image, we now...
- Register a bbox update callback to fit the layers to stage
- Layer is created
- Canvas initializes the layer's entity adapter module (layer's width and height are set to zero at this point)
- Canvas calculates the bbox
- Bbox is updated (width and height are now correct)
- Callback is ran, fitting layer to stage
2025-06-06 20:50:02 +10:00
psychedelicious
f70be1e415
feat(ui): animate stage fit operations (e.g. fit layers to stage)
2025-06-06 20:50:02 +10:00
psychedelicious
a2901f2b46
feat(ui): add method to stage to fit to union of bbox and layers
...
This ensures that _both_ bbox and layers are visible
2025-06-06 20:50:02 +10:00
psychedelicious
b61c66c3a9
feat(ui): add spinner indicator to canvas during rasterizing operations and while pending rect calculations
2025-06-06 20:50:02 +10:00
psychedelicious
c77f9ec202
feat(ui): add hook to get all entity adapters in array
2025-06-06 20:50:02 +10:00
dunkeroni
bc67d5c841
add invert logic to grayscale mask composite
2025-05-30 11:19:37 +10:00
psychedelicious
a2d8261d40
feat(ui): canvas scroll scale snap
2025-05-27 13:10:57 +10:00
psychedelicious
bce88a8873
perf(ui): lazy mount scale slider popover
2025-05-27 13:10:57 +10:00
psychedelicious
b37e1a3ad6
feat(ui): do not round scale
...
Makes it a lot smoother, don't think it breaks anything...
2025-05-27 13:10:57 +10:00
psychedelicious
35a088e0a6
perf(ui): optimize <CanvasToolbarScale />
2025-05-27 13:10:57 +10:00
psychedelicious
b936cab039
feat(ui): add computed for stage scale
2025-05-27 13:10:57 +10:00
psychedelicious
34e4093408
fix(ui): revert snapping logic, doesn't work w/ certain input devices
2025-05-27 13:10:57 +10:00
psychedelicious
6fa46d35a5
feat(ui): inpaint mask settings layout
2025-05-27 07:28:47 +10:00
psychedelicious
b2a2b38ea8
feat(ui): split inpaint mask setting selectors to avoid manual memoization
2025-05-27 07:28:47 +10:00
dunkeroni
12934da390
Use Optional instead of Nullable for mask settings
2025-05-27 07:28:47 +10:00
dunkeroni
231bc18188
remove buttons, change denoise limit format
2025-05-27 07:28:47 +10:00
dunkeroni
3f727e24b1
change default noise level to 0.15
2025-05-27 07:28:47 +10:00
dunkeroni
e9ce2ed5f2
inpaint mask sliders compatible with outpainting
2025-05-27 07:28:47 +10:00
dunkeroni
21b24c3ba6
change denoise limit default to 1.0
2025-05-27 07:28:47 +10:00
dunkeroni
78ea143b46
composite masks based on denoise level
2025-05-27 07:28:47 +10:00
dunkeroni
2510ad7431
consolidate code
2025-05-27 07:28:47 +10:00
dunkeroni
ba5e855a60
Correctly composite grey values on white for masks
2025-05-27 07:28:47 +10:00
dunkeroni
23627cf18d
compositing in frontend
2025-05-27 07:28:47 +10:00
dunkeroni
5e20c9a1ca
mask noise slider option
2025-05-27 07:28:47 +10:00
Kent Keirsey
933cf5f276
update prettier
2025-05-25 23:53:16 -04:00
Kent Keirsey
41316de659
Update order
2025-05-25 23:53:16 -04:00
Kent Keirsey
041ccfd68e
Enable 'pull into bounding box' from empty Control Layer
2025-05-25 23:53:16 -04:00
dunkeroni
ad24c203a4
preserve SDXL training values for bounding box
2025-05-25 08:15:37 -04:00
Kent Keirsey
3fd28ce600
Update scaling math to land on 100% consistently.
2025-05-25 07:59:27 -04:00
psychedelicious
b1b8edecfb
fix(ui): minor ts issue
2025-05-22 13:50:15 +10:00
Mary Hipp
3cd8d48809
lint
2025-05-22 13:50:15 +10:00
Mary Hipp
f4672ad8c1
more cleanup
2025-05-22 13:50:15 +10:00
Mary Hipp
5a86490845
cleanup and refactor into hooks
2025-05-22 13:50:15 +10:00
Mary Hipp
27dc843046
Imagen4 working in UI
2025-05-22 13:50:15 +10:00
Kent Keirsey
9273d1629e
UX Copy Clean-up
2025-05-19 13:50:04 +10:00
Kent Keirsey
b02ea1a898
Expanded styles & updated UI
2025-05-19 13:50:04 +10:00
psychedelicious
5e001be73a
tidy(ui): remove excessive nav to mm buttons
2025-05-01 23:22:19 +10:00
psychedelicious
42d57d1225
fix(ui): ref image layout
2025-04-30 13:39:05 +10:00
psychedelicious
193fa9395a
fix(ui): match ref image model to main model when creating global ref image
2025-04-30 13:39:05 +10:00
psychedelicious
56cd839d5b
feat(ui): support for ref images for chatgpt on canvas
2025-04-30 13:39:05 +10:00
Mary Hipp Rogers
17027c4070
Maryhipp/chatgpt UI ( #7969 )
...
* add GPTimage1 as allowed base model
* fix for non-disabled inpaint layers
* lots of boilerplate for adding gpt-image base model and disabling things along with imagen
* handle gpt-image dimensions
* build graph for gpt-image
* lint
* feat(ui): make chatgpt model naming consistent
* feat(ui): graph builder naming
* feat(ui): disable img2img for imagen3
* feat(ui): more naming
* feat(ui): support presigned url prefetch
* feat(ui): disable neg prompt for chatgpt
* docs(ui): update docstring
* feat(ui): fix graph building issues for chatgpt
* fix(ui): node ids for chatgpt/imagen
* chore(ui): typegen
---------
Co-authored-by: Mary Hipp <maryhipp@Marys-MacBook-Air.local >
Co-authored-by: psychedelicious <4822129+psychedelicious@users.noreply.github.com >
2025-04-29 09:38:03 -04:00
psychedelicious
e56d41ab99
feat: rip out enhance prompt as toggleable option, imagen always randomizes seed
2025-04-28 13:31:26 -04:00
psychedelicious
871271fde5
feat(ui): rough out imagen3 support for canvas
2025-04-28 13:31:26 -04:00
psychedelicious
07bcf3c446
feat(ui): port bbox select to native select
2025-04-28 13:31:26 -04:00
psychedelicious
c3d6a10603
fix(ui): handle minor breaking typing change from serialize-error
2025-04-28 09:53:08 +10:00
psychedelicious
e8c7cf63fd
fix(ui): type error in canvas worker
2025-04-28 09:53:08 +10:00
psychedelicious
1f2d1d086f
feat(ui): add <NavigateToModelManagerButton /> to model comboboxes everywhere
2025-04-23 17:45:09 +10:00
psychedelicious
9c4159915a
feat(ui): add guardrails to prevent entity types being missed in useIsEntityTypeEnabled
2025-04-17 11:21:16 +10:00
psychedelicious
dbb5830027
fix(ui): useIsEntityTypeEnabled should use useMemo not useCallback
...
Typo/bug introduced in #7770
2025-04-17 11:21:16 +10:00
psychedelicious
e7e874f7c3
fix(ui): increase padding when fitting layers to stage
2025-04-15 07:47:39 +10:00