Files

108 lines
3.3 KiB
Markdown

# Changelog
All notable changes to this project will be documented in this file.
---
## [1.2.0] - 2026-06-23
### Added
- Added **Trace** link style with node-aware routing, 90°/45° path constraints, rounded corners, and no center marker.
- Added a node bbox spatial index to reduce routing intersection checks on large graphs.
### Changed
- Implemented Trace in `web/js/Trace.js` with bbox indexing in `web/js/NodeBBoxIndex.js`.
- Improved custom link rendering for backward links and collapsed-node layouts.
- Added attribution for routing logic adapted from `quick-connections`.
---
## [1.1.2] - 2026-01-19
### Fixed
- Change node retrieval logic to call `app.canvas.graph` instead of `app.graph` in order to make links behave correctly inside subgraphs.
- Change conditional `is_dragging && !start_node` to `is_dragging || !start_node` to solve subgraphs input issues.
---
---
## [1.1.1] - 2025-12-11
### Fixed
- Add a check for collapsed state. If collapsed use the default value `30` as height.
---
## [1.1.0] - 2025-11-25
### Added
- **Subway link renderer**: New experimental subway-style link routing mode for organizing and visualizing complex node graphs with cleaner link paths.
- Node geometry awareness: Links now consider node positions and sizes for improved spatial layout calculations.
### Changed
- Enhanced `ExtraLinks.js` with subway logic for alternative link path rendering.
- Improved link path calculations to account for node geometry.
### Notes
- Subway mode is still under development and may require additional refinements. Feedback welcome!
---
## [1.0.2] - 2025-09-26
### Fixed
- Change patched method from `app.canvas.linkRenderer.pathRenderer.drawLinkPath` to `app.canvas.linkRenderer.pathRenderer.constructor.prototype.drawLinkPath` in order to patch each instance instead of just the first one. ([#5](https://github.com/edoardocarmignani/extralinks/issues/5))
- Store original prototype method to restore them when needed.
---
## [1.0.1] - 2025-09-23
### Fixed
- Safely resolve link objects when computing output slot and origin id: look up the link via `app.graph.links[linkId]` to access `origin_slot` and `origin_id`.
- Corrected `Icon` URL in `pyproject.toml` to point to `imgs/extralinks_logo_square.png`.
### Changed
- Added/updated repository logo file `imgs/extralinks_logo_square.png` (ensure it's tracked in the repository).
---
## [1.0.0] - 2025-09-20
### Changed
- Migrated from `renderLink` patch to new `drawLinkPath` patch (`ExtraLinks.js`), compatible with ComfyUI frontend ≥ 1.27.1.
- Updated link renderers to use `{x, y}` objects (`link.startPoint` / `link.endPoint`) instead of `[x, y]` arrays.
- Patched `calculateCenterPoint` to align markers with custom paths.
- Improved patching lifecycle: now waits for `app.canvas.linkRenderer.pathRenderer` before applying.
- Preserved all extension settings (Enable, Shape, Radius, Offset, Curvature).
### Breaking
- **Requires ComfyUI frontend ≥ 1.27.1.**
- ExtraLinks is no longer compatible with earlier frontend builds. Users on older ComfyUI must stay on **ExtraLinks v0.0.2**.
---
## [0.0.2] - 2025-07-15
### Added
- Initial implementation of custom link shapes (`Curved`, `Rounded`).
- Configurable Radius, Offset, and Curvature.
- Toggle Enable/Disable from settings panel.
- Basic marker rendering at link midpoints.
---