138 lines
3.6 KiB
Markdown
138 lines
3.6 KiB
Markdown
<div align="center">
|
||
<img src="imgs/extralinks_logo.png">
|
||
</div><br>
|
||
|
||
A one-click collection of alternate connection styles for ComfyUI.
|
||
|
||
------------------------------------------------------------------
|
||
|
||
<div align="center">
|
||
<img width=400 height=190 src="imgs/curved.png">
|
||
<img width=400 height=190 src="imgs/rounded.png">
|
||
</div>
|
||
|
||
<div align="center">
|
||
<img width=800 src="imgs/extralinks_example.gif">
|
||
</div>
|
||
|
||
------------------------------------------------------------------
|
||
|
||
## Requirements
|
||
|
||
**ComfyUI frontend**: ≥ **1.27.1** (new link renderer API)
|
||
|
||
> On older ComfyUI versions, use ExtraLinks v0.0.2 (see Compatibility).
|
||
|
||
------------------------------------------------------------------
|
||
|
||
## Installation
|
||
|
||
### Git Clone
|
||
|
||
```powershell
|
||
cd ComfyUI\custom_nodes
|
||
git clone https://github.com/edoardocarmignani/extralinks.git
|
||
```
|
||
|
||
Restart ComfyUI (or just reload the browser tab if ComfyUI is already running).
|
||
|
||
### ComfyUI Manager
|
||
|
||
Go to **Custom Nodes Manager** and search for **Extra Links**.
|
||
|
||
------------------------------------------------------------------
|
||
|
||
## Usage
|
||
|
||
Open **Settings** → **Extra Links** and configure:
|
||
|
||
- **Enable**: toggle on/off
|
||
- **Shape**: `Curved` | `Rounded`
|
||
- **Radius**: corner smoothing
|
||
- **Offset**: horizontal separation for multi-outputs
|
||
- **Curvature**: strength of turn-in/out
|
||
|
||
Changes apply immediately to the canvas.
|
||
|
||
------------------------------------------------------------------
|
||
|
||
## Compatibility
|
||
|
||
| ExtraLinks version | ComfyUI frontend | Notes |
|
||
|--------------------|------------------|-------|
|
||
| **1.0.0+** | **≥ 1.27.1** | Uses new `drawLinkPath` API |
|
||
| 0.0.2 | < 1.27.1 | Legacy `renderLink` patch |
|
||
|
||
> Staying on an older ComfyUI? Keep using **v0.0.2** (see legacy tag/releases).
|
||
|
||
------------------------------------------------------------------
|
||
|
||
## Troubleshooting
|
||
|
||
- **Only the center dot appears**
|
||
Likely start/end were read as arrays. Ensure you’re on **v1.0.0+**; we read `{x,y}` points.
|
||
- **No lines drawn**
|
||
Check DevTools Console for warnings from ExtraLinks; verify ComfyUI is **≥ 1.27.1**.
|
||
- **After toggling Enable nothing changes**
|
||
Try reloading the page; ensure there’s no other extension overriding link rendering.
|
||
|
||
If issues persist, please open an issue with:
|
||
|
||
- ComfyUI frontend commit/date
|
||
- Browser + OS
|
||
- A screenshot / brief recording
|
||
- Console logs (copy/paste)
|
||
|
||
👉 [Open an issue](https://github.com/edoardocarmignani/extralinks/issues)
|
||
|
||
------------------------------------------------------------------
|
||
|
||
## Versioning & Releases
|
||
|
||
- **1.0.0** — Migration to new ComfyUI link renderer (**breaking**: drops < 1.27.1).
|
||
|
||
> See `CHANGELOG.md` for details.
|
||
|
||
Tags:
|
||
|
||
- `v1.x.y` → current series.
|
||
- `v0.0.2` → legacy (for older ComfyUI).
|
||
|
||
------------------------------------------------------------------
|
||
|
||
## Development
|
||
|
||
- Main code lives in `extralinks/web/ExtraLinks.js`
|
||
- Settings/registration live in `extralinks/web/extralinks_register.js`
|
||
- Python exposes `WEB_DIRECTORY` via `extralinks/__init__.py`
|
||
|
||
Typical flow:
|
||
|
||
```bash
|
||
# edit JS files
|
||
# reload ComfyUI browser tab
|
||
# watch console for "[Extra Links]" logs
|
||
```
|
||
|
||
Optional Runtime guard:
|
||
|
||
```javascript
|
||
const ok = app?.canvas?.linkRenderer?.pathRenderer?.drawLinkPath;
|
||
if (!ok) {
|
||
console.warn("[ExtraLinks] Requires ComfyUI frontend >= 1.27.1");
|
||
}
|
||
```
|
||
|
||
------------------------------------------------------------------
|
||
|
||
## License
|
||
|
||
MIT (see [LICENSE](LICENSE))
|
||
|
||
------------------------------------------------------------------
|
||
|
||
## Credits
|
||
|
||
- Built by [@edoardocarmignani](https://github.com/edoardocarmignani)
|
||
- Thanks to the ComfyUI community for the incredible work
|