Dariusz L
d0f47336bc
perf: blit only dirty drag regions
2026-08-18 22:37:53 +02:00
Dariusz L
4f79de8fb2
perf: redraw separate drag regions
2026-08-18 22:36:46 +02:00
Dariusz L
94156e8ff6
perf: prewarm drag previews
2026-08-18 22:35:25 +02:00
Dariusz L
f99cedb441
perf: use screen-sized drag previews
2026-08-18 22:33:45 +02:00
Dariusz L
c73dbc3fb3
perf: redraw only dirty drag regions
2026-08-18 21:59:35 +02:00
Dariusz L
137a883c3d
perf: reduce opaque blend mask memory
2026-08-18 21:56:37 +02:00
Dariusz L
14e1c24ab0
perf: keep valid blend preview during rebuild
2026-08-18 21:53:46 +02:00
Dariusz L
f7dce559d7
perf: preserve blend modes in drag cache
2026-08-18 21:46:01 +02:00
Dariusz L
7cca712bc3
perf: cache static layers during drag
2026-08-18 21:26:51 +02:00
Dariusz L
3e0fe35d86
perf: reuse distance field masks
2026-08-18 21:14:33 +02:00
Dariusz L
e40395c91a
Add route and matting integration tests; update coverage config and CI
2026-08-15 00:09:08 +02:00
Dariusz L
5ea337fb51
refactor: standardize frontend file naming
2026-08-14 16:56:46 +02:00
Dariusz L
34a7896fd9
refactor: remove compatibility facades
2026-08-14 16:38:16 +02:00
Dariusz L
248810ae87
test: harden async and persistence resilience
2026-08-14 15:51:39 +02:00
Dariusz L
c56a271cbd
test: cover frontend stability boundaries
2026-08-14 12:08:10 +02:00
Dariusz L
2645c0fa99
test: cover ComfyUI integration contracts
2026-08-14 11:56:05 +02:00
Dariusz L
899b1fd41f
refactor: separate mask result processing
2026-08-14 11:52:38 +02:00
Dariusz L
b4f14b5774
refactor: move image cache into media domain
2026-08-14 11:49:48 +02:00
Dariusz L
1c5393a47c
refactor: unify persistence contracts
2026-08-14 11:43:55 +02:00
Dariusz L
55dcf6617f
refactor: isolate canvas history model
2026-08-14 11:38:27 +02:00
Dariusz L
f206ff0289
refactor: extract graph integration from CanvasView
2026-08-14 11:29:57 +02:00
Dariusz L
abd16b98b5
test: enforce frontend architecture boundaries
2026-08-14 11:20:31 +02:00
Dariusz L
12692a2564
refactor: organize frontend source modules
2026-08-14 11:06:38 +02:00
Dariusz L
32cb0d0674
fix: defer input image loading until after state restore and deduplicate by stable source identity
...
- Load initial state before checking connected inputs so already-restored
layers are present and can be skipped.
- Track layerForgeInputImageIdentity on layers and normalize sources to
ignore cache-busting query parameters.
- Sequence checkForInputData calls through a promise chain to avoid races.
- Route single backend input_image through addBatchImages so dedup applies.
- Update characterization tests for the new CanvasIO paths and Canvas state flags.
2026-08-14 05:13:42 +02:00
Dariusz L
7804f6e3de
feat: add Unlink button to disconnect image inputs from LayerForge
2026-08-14 04:56:48 +02:00
Dariusz L
abe0ea7ce7
Use stable connectionIndex for multi-image input labels
2026-08-14 04:48:32 +02:00
Dariusz L
1468065210
feat: add Show Inputs menu for connected canvas input images
2026-08-14 04:45:21 +02:00
Dariusz L
c8b9e3ccc4
Add ordered multi-image input support via virtual transport links
2026-08-14 04:25:08 +02:00
Dariusz L
a942228ef3
Use workflow-scoped canvas state keys and stabilize preview widget sizing
2026-08-13 22:45:27 +02:00
Dariusz L
c9df359ecd
Refresh layer panel after matting replaces a layer object
2026-08-13 21:10:58 +02:00
Dariusz L
11d448cdc8
Add matting download progress, interrupt handling, and inverted mask mode
2026-08-13 20:47:10 +02:00
Dariusz L
a830da7593
Store Matting settings server-side and support optional Hugging Face token
2026-08-13 18:20:52 +02:00
Dariusz L
e4441dc832
feat: improve BRIA RMBG 2.0 transformers compatibility and error handling
2026-08-13 17:57:47 +02:00
Dariusz L
69931a15b4
refactor: split matting module into package and add BRIA RMBG 2.0 backend
2026-08-13 17:48:02 +02:00
Dariusz L
8cc87fb823
refactor: store BiRefNet checkpoints directly under background_removal
2026-08-13 16:58:09 +02:00
Dariusz L
c80a1244f7
refactor: share mirror and canvas cloning logic
2026-08-13 15:59:40 +02:00
Dariusz L
486c43cd68
refactor: reuse image references during garbage collection
2026-08-13 15:55:27 +02:00
Dariusz L
03187ce8ed
refactor: centralize fit-on-add policy
2026-08-13 15:52:47 +02:00
Dariusz L
23ad04b2de
refactor: centralize canvas input identity
2026-08-13 15:48:25 +02:00
Dariusz L
bb93970aec
refactor: centralize preview blob loading
2026-08-13 15:46:02 +02:00
Dariusz L
11ba23d384
refactor: centralize matting status responses
2026-08-13 09:48:14 +02:00
Dariusz L
bf81261e33
refactor: share error handling runner
2026-08-13 09:43:40 +02:00
Dariusz L
f7304b1a0b
refactor: reuse shared image loader
2026-08-13 09:39:58 +02:00
Dariusz L
e4ef21a9b8
refactor: centralize canvas blob resolution
2026-08-13 09:34:02 +02:00
Dariusz L
962a4a6400
refactor: centralize layer removal lifecycle
2026-08-13 09:26:34 +02:00
Dariusz L
be3234fbc6
refactor: centralize Canvas PNG blob conversion
2026-08-13 09:00:51 +02:00
Dariusz L
204eec2227
refactor: unify distance field cache operations
2026-08-13 08:57:40 +02:00
Dariusz L
0fcdc1e96a
refactor: reuse shared image loading
2026-08-13 08:52:58 +02:00
Dariusz L
3d482f7303
refactor: share point bounds calculation
2026-08-13 08:47:24 +02:00
Dariusz L
f3ea93c873
refactor: unify mask chunk area traversal
2026-08-13 08:44:31 +02:00