23 Commits
Author SHA1 Message Date
Dariusz L 74bb8d7806 Add workflow progress indicator to LayerForge canvas 2026-08-20 21:39:16 +02:00
Dariusz L fa514a97d1 frontend: improve fullscreen workflow controls, viewport interaction caching, and notification layering
- Add run-workflow button to the LayerForge fullscreen editor and route it
  through ComfyUI's native queue action when available.
- Switch fullscreen toolbar tooltips to the centralized tooltip manager.
- Generalize zoom-snapshot caching to viewport-snapshot caching so panning
  can reuse the composited scene bitmap; schedule pan viewport updates
  per display frame and clean up pending animations on teardown/blur.
- Preserve a stale processed-image fallback during transform/crop/wheel
  transitions and always show the blend-area effect when enabled.
- Raise toast notifications to z-index 2147483647 so they stay above the
  fullscreen editor and other application overlays.
2026-08-20 18:33:04 +02:00
Dariusz L cfe2a92f12 feat: add workflow overview toggle to canvas editor modal 2026-08-14 21:58:11 +02:00
Dariusz L 0e636ed99b feat: improve tooltip behavior with persistent and interactive modes
- Convert keyboard shortcuts help button to persistent click-toggle tooltip
- Add interactive, persistent, and onDismiss options to TooltipManager
- Dismiss persistent tooltips on outside pointerdown or Escape key
- Add delayed hide for interactive tooltips when leaving the target
- Update tooltip CSS for scrolling, interactive pointer-events, and text mode
2026-08-14 21:09:13 +02:00
Dariusz L 05c977f342 refactor: centralize tooltip handling into TooltipManager
Replace scattered inline tooltip implementations across canvas_view,
custom_shape_menu, layers_panel, batch_preview_manager, and notifications
with a single shared TooltipManager class.

- New src/utils/tooltip_manager.ts (and compiled js/utils/tooltip_manager.js)
  provides observeRoot/bindTooltips/setTooltip/showTooltip/hideTooltip API
- Migrate title attributes to data-tooltip and normalize via MutationObserver
- Rename tooltip CSS from .lf-painter-tooltip/.lf-layerforge-tooltip to
  .lf-global-tooltip and raise z-index to 1000001
- Remove duplicate matting-specific tooltip styles from canvas_view.css
- Update generated js/ outputs to match src/ changes
2026-08-14 20:16:26 +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 1468065210 feat: add Show Inputs menu for connected canvas input images 2026-08-14 04:45:21 +02:00
Dariusz L 37179fd29d Make LayerForge canvas and controls blend with ComfyUI dark theme
Use transparent canvas backgrounds, rgba styling, and CSS custom properties
(--lf-canvas-fill, --lf-surface-border, --lf-controls-surface,
--lf-layers-surface, --lf-surface-shadow) so the editor's native color tints
the node underneath. CanvasRenderer now clears the canvas each frame and
reads the fill from CSS, avoiding alpha buildup and keeping the UI readable.
2026-08-13 21:44:31 +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 391923d77d refactor: split canvas_node into python modules and enhance matting UI 2026-08-13 03:10:25 +02:00
Dariusz L 6284ed2b98 Fix layer-aligned generated masks 2026-08-13 02:34:37 +02:00
Dariusz L e82c837af3 Add 'lf-' prefix to all LayerForge CSS classes (js)
Refactors all custom CSS class names to include an 'lf-' prefix
(e.g. .painter-button -> .lf-painter-button, .clipboard-switch -> .lf-clipboard-switch).

This isolates LayerForge styles within the ComfyUI DOM and prevents
CSS namespace collisions with other custom nodes or host page styles.
Changes span src/ TypeScript source files and src/css/ stylesheets.
2026-06-30 00:50:15 +02:00
Dariusz L 00a39d756d fix: increase z-index for LayerForge fullscreen mode
Fixed LayerForge fullscreen mode displaying behind ComfyUI interface elements by increasing z-index from 111 to 999999. Fullscreen mode now properly overlays all UI components as intended.
2025-08-09 15:06:16 +02:00
Dariusz L 1bd261bee0 Adjust Style disabled buttons 2025-08-04 01:00:35 +02:00
Dariusz L e42e08e35d Crop mode button to switch 2025-08-02 19:43:03 +02:00
Dariusz L 7ed6f7ee93 Implement crop mode for cropping selected layer 2025-08-02 19:05:11 +02:00
Dariusz L fb5bbdd187 Unify styling for "Run GC" and "Clear Cache" buttons
Updated the "Run GC" and "Clear Cache" buttons to match the styling of standard UI buttons
2025-07-30 11:10:13 +02:00
Dariusz L 3941104bd5 Tooltip Menu change to modern layout 2025-07-28 19:42:10 +02:00
Dariusz L 6b04e3891b Changed to switch button mask on/off 2025-07-28 19:02:29 +02:00
Dariusz L f57b9f6b58 Layout change 2025-07-28 15:57:28 +02:00
Dariusz L 5adc77471f project migration to typescript
Project migration to typescript
2025-07-04 04:22:51 +02:00
Dariusz L 3e4cdf10bc Refactor CanvasView: externalize styles and tooltips
Moved inline CSS from CanvasView.js to a dedicated canvas_view.css file and added dynamic stylesheet loading. Extracted tooltip and shortcut HTML into separate template files and implemented a ResourceManager utility for loading stylesheets and templates. Updated CanvasInteractions.js and CanvasView.js to use the new resource management and template loading approach, improving maintainability and modularity.
2025-07-03 17:27:00 +02:00