84 Commits
Author SHA1 Message Date
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