feat: Implement native canvas text and media rendering, improve performance, and fix visual artifacts and positioning.

This commit is contained in:
AEmotionStudio
2026-01-04 00:55:49 -08:00
parent b9c78e87c0
commit b9ec480dea
2 changed files with 31 additions and 8 deletions
+24
View File
@@ -5,6 +5,30 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [1.8.0] - 2026-01-04
### Added
- **Native Canvas Text Rendering**: Replaced HTML overlay text with high-fidelity native canvas rendering.
- Text now renders directly inside the magnified view with better alignment.
- Added support for **word wrapping**, dark background containers, and system font styling.
- Handles multi-line text and textareas correctly without floating or jitter using capture-time offsets.
- **Native Image & Video Previews**: Implemented custom rendering for node images and video widgets.
- Fixes artifacts and missing content for standard ComfyUI `LoadImage`, `SaveImage`, and VHS video nodes during Virtual Zoom.
- Ensures previews are visible and crisp even at low zoom levels.
### Improved
- **Rendering Performance**: Optimized the `OffscreenRenderer` pipeline.
- "Direct Capture" mode is now used more intelligently to avoid expensive redraws when possible.
- Removed duplicate HTML overlays for text and media, reducing DOM overhead and double-rendering.
- **Visual Stability**: Fixed "floating" text issues by correcting coordinate transforms between graph, screen, and canvas spaces.
- **Ghosting Fix**: Added logic to temporarily hide original node widgets during capture to prevent visual artifacts ("ghosting") in the glass preview.
### Fixed
- Fixed bounds checking to correctly render widgets that are partially visible at the edge of the glass.
- Fixed text positioning relative to nodes when panning or zooming the main canvas.
---
## [1.7.0] - 2026-01-03
### Added
+7 -8
View File
@@ -3,7 +3,7 @@
# ComfyUI-MagnifyGlass
[![ComfyUI](https://img.shields.io/badge/ComfyUI-Extension-green?style=for-the-badge)](https://github.com/comfyanonymous/ComfyUI)
[![Version](https://img.shields.io/badge/Version-1.7.0-orange?style=for-the-badge)](https://github.com/AEmotionStudio/ComfyUI-MagnifyGlass/releases)
[![Version](https://img.shields.io/badge/Version-1.8.0-orange?style=for-the-badge)](https://github.com/AEmotionStudio/ComfyUI-MagnifyGlass/releases)
[![License](https://img.shields.io/badge/License-GPLv3-red?style=for-the-badge)](LICENSE)
[![Dependencies](https://img.shields.io/badge/dependencies-none-brightgreen?style=for-the-badge&color=blue)](package.json)
@@ -23,15 +23,14 @@
---
## 🚀 What's New in v1.7.0 (January 3, 2026)
## 🚀 What's New in v1.8.0 (January 4, 2026)
This release adds **Multi-Monitor Pop-Out Viewer** for dual-monitor workflows:
This release brings a complete overhaul to the rendering engine for **native fidelity**:
* **Pop-Out Tab**: Open the magnified view in a separate browser tab (`Shift+P`).
* **Professional Dark Theme**: Sleek two-column layout with inspector sidebar.
* **Real-Time Sync**: Frame sync at 30fps with live inspector updates.
* **Resizable Canvas**: Drag to resize the preview, size is remembered.
* **FPS & Resolution Display**: Performance metrics in the viewer footer.
* **Native Text Rendering**: Widget text (prompts, values) now renders natively on the magnified canvas with sharper alignment.
* **Video & Image Support**: Fixed artifacts for video nodes and image previews in "Virtual Zoom" mode.
* **"Ghosting" Fix**: Eliminated visual glitches where original nodes would bleed through the magnified view.
* **Performance Boost**: Smarter render pipeline reduces overhead and DOM usage.
> 📄 **See [CHANGELOG.md](CHANGELOG.md) for the complete version history.**