filtered
04b4485cc9
Add Disposable interface & polyfill ( #914 )
...
Adds the `Disposable` and `AsyncDisposable` interfaces via polyfill.
Implements Disposable interface in `InputIndicator`.
Ref:
https://www.typescriptlang.org/docs/handbook/release-notes/typescript-5-2.html#using-declarations-and-explicit-resource-management
2025-04-09 11:05:39 +00:00
filtered
c60e9d8080
[Cleanup] Remove unused code ( #913 )
2025-04-09 09:35:08 +00:00
filtered
ae4a63c839
[Cleanup] Simplify code ( #912 )
...
- Simplifies internal APIs used by private functions
- Prefer param destructuring over manual object re-impl.
2025-04-09 08:54:34 +00:00
filtered
297b557b94
[Refactor] Rename layout method to arrange/measure ( #911 )
...
Prefer verb function names.
2025-04-09 07:49:41 +00:00
filtered
05e8e25b6b
[Cleanup] Remove redundant code ( #906 )
...
Removes a now-redundant workaround from LinkConnector.
2025-04-09 16:28:34 +10:00
Chenlei Hu
bf5e3f3c77
[Bug] Fix layout issue caused by absolute positioned slots ( #908 )
...
Before:

After:

Workflow:
[dynamically_added_input.json](https://github.com/user-attachments/files/19640371/dynamically_added_input.json )
This PR also fixes the issue that output slot's `pos` property is not
relative to node pos.
2025-04-07 19:52:58 -04:00
Chenlei Hu
d77100c401
[Refactor] Add LGraphNode.layout ( #907 )
...
Moves layout of LGraphNode slot and widget to `LGraphNode.layout`.
Codesearch shows that there is currently no usage on posY arg, so we can
just pass null to it instead.
https://cs.comfy.org/search?q=context:global+drawNodeWidgets&patternType=keyword&sm=0
2025-04-07 15:40:58 -04:00
filtered
079a18a391
Reland "Support associated socket for widgets" ( #904 )
...
- Reverts Comfy-Org/litegraph.js#896
- Relands #891
2025-04-06 11:35:42 -04:00
filtered
3815296ab5
Add Disconnect Links option to input slot menu ( #901 )
2025-04-06 15:22:19 +00:00
filtered
ed34080e46
Remove auto-generated serialisation data on load ( #900 )
...
- Resolves #883
2025-04-06 15:10:08 +00:00
filtered
3b5cc8cd19
Add alt-right-click to delete reroutes ( #899 )
...
Alt-right-click to remove, regular right-click to show context menu.
2025-04-06 14:55:17 +00:00
filtered
6cafeeff19
Fix corruption of selected link highlights ( #897 )
...
Occurred when deselecting one side of a link when both sides were
selected.
2025-04-06 14:30:22 +00:00
filtered
7360e09172
Standardise right-click behaviour ( #894 )
...
- Uses CanvasPointer click to open context menu (formerly occurred on
`pointerdown`)
- Frees up right-click & drag to be used by future features
- Right-clicking a reroute now selects the reroute, using the same
selection logic used for right-clicking nodes
2025-04-06 13:31:09 +00:00
filtered
c77082fe2f
Close context menus on any click outside the menu ( #895 )
...
Current: Right click in e.g. `textarea` leaves litegraph context menus
open.
Proposed: Any click anywhere outside the context menu (or its sub-menus)
will close all context menus.
2025-04-06 13:30:42 +00:00
filtered
ee625b4112
Revert "Support associated socket for widgets" ( #896 )
...
Reverts Comfy-Org/litegraph.js#891
Temporary revert to unblock other PRs (causing test failures; frontend
PR for this has not yet been merged).
2025-04-06 12:38:18 +00:00
Chenlei Hu
1ef4921c0a
Support associated socket for widgets ( #891 )
...
This PR is the litegraph side change necessary for widget sockets
feature in ComfyUI_frontend. Changes include
- Add readonly `Widget.computedDisabled` property for getting the
computed disabled state. When the associated socket is connected, the
widget is disabled
- Dynamically show the associated socket when
- the mouse is over the widget
- the slot is valid during link drop
- the slot is connected
- Removes the legacy widget drop behavior
Ref: https://github.com/Comfy-Org/rfcs/pull/9
2025-04-05 16:29:37 -04:00
filtered
c07176eb08
[Cleanup] Remove redundant code ( #890 )
...
- Follow-up on #888
2025-04-05 09:45:43 +00:00
filtered
64c7113440
Fix link corruption ( #888 )
...
- Adds link & floating link integrity tests to all LinkConnector
integration tests
- Fixes link changes may be lost when moving floating links
2025-04-05 05:34:55 +00:00
Chenlei Hu
29c923e0e3
[Bug] Fix slot link state corruption on moving link between sockets ( #882 )
...
Ref: https://github.com/Comfy-Org/litegraph.js/issues/881
This PR fixes the corrupted link state when moving link from one input
socket to another.
2025-04-04 14:28:41 -04:00
Chenlei Hu
8a94232f61
[nit] Remove IDrawOptions.showText ( #879 )
...
`showText` is essentially an alias of `!lowQuality`. Removing it from
the interface.
2025-04-03 11:24:51 -04:00
filtered
05b0918915
Support dragging reroutes from floating links ( #878 )
...
Allows dragging reroutes from floating links.
2025-04-03 12:08:28 +00:00
Chenlei Hu
184ba3915a
[TS] Properly type slot widget ( #876 )
...
INodeSlot.widget is not real widget references at runtime. This PR
narrows the type so that we don't run into unexpected issues.
2025-04-01 14:54:14 -04:00
Chenlei Hu
df279024c4
Upstream render of slot error ( #872 )
...
Upstream slot error rendering from ComfyUI_frontend.

2025-03-30 17:40:44 -04:00
Chenlei Hu
30a7f19a64
Upstream progressbar rendering ( #871 )
...
Upstreams progress bar rendering from ComfyUI_frontend.
2025-03-30 17:14:09 -04:00
Chenlei Hu
0eeaf90647
[nit] Rename IDrawBoundingOptions args ( #869 )
2025-03-30 11:46:45 -04:00
Chenlei Hu
854ac4350f
Add LGraphNode.strokeStyles API ( #868 )
...
This should allow frontend drop the stroke logic in hijack of
`drawNodeShape`. Example usage:
```ts
node.strokeStyles["executionError"] = (this: LGraphNode) =>
app.lastNodeErrors?.[this.id] ? { colour: 'red', thickness: 2 } : undefined
```
2025-03-30 11:29:37 -04:00
Chenlei Hu
27a2b785ac
[Cleanup] Remove use_legacy_node_error_indicator ( #867 )
...
The fallback option was added in
https://github.com/Comfy-Org/litegraph.js/pull/358 . So far no code is
using this legacy fallback option. Removing it now.
2025-03-30 10:30:39 -04:00
filtered
7b3ea64714
Fix 862 ( #864 )
...
- Follow-up on #862
- Corrects issues with floating reroute switch logic
- Updates test expectations
2025-03-28 09:00:58 +11:00
filtered
a20bae064f
Allow floating reroute switches ( #862 )
...
- Resolves https://github.com/Comfy-Org/ComfyUI_frontend/issues/3247
Bypasses the logic that automatically removed reroutes that had no
remaining links. Reroutes are now always converted to floating whenever
reroutes are reconnected.
2025-03-27 18:18:22 +00:00
Chenlei Hu
a6aec4017b
[Bug] Fix link drop on widget ( #860 )
...
Resolves https://github.com/Comfy-Org/litegraph.js/issues/857
2025-03-26 15:08:04 -04:00
Chenlei Hu
6fd6c60b9f
[Bug] Fix drag link from input to output ( #859 )
...
Resolves https://github.com/Comfy-Org/litegraph.js/issues/858
2025-03-26 14:53:30 -04:00
Chenlei Hu
808d78169b
Early return in LGraphCanvas.deselectAll ( #856 )
...
Avoid trigger `onSelectionChange` when nothing is selected.
2025-03-25 10:22:40 -04:00
Chenlei Hu
c5db2d8736
[Bug] Fix number widget range not enforced ( #850 )
...
Resolves https://github.com/Comfy-Org/ComfyUI_frontend/issues/3204
2025-03-24 15:37:55 -04:00
filtered
123c46d28b
[TS] Add placeholder interfaces for subgraph classes ( #851 )
2025-03-24 19:23:20 +00:00
filtered
5662aa3790
[API] Remove unused: LGraph.getSupportedTypes ( #849 )
...
Also removes unused `supported_types` static array.
2025-03-24 07:03:07 +00:00
filtered
f0bd360935
[API] Remove unused callbacks ( #848 )
...
- Follow-up on #847
- Removes now-redundant callbacks
2025-03-24 06:58:56 +00:00
filtered
28543d7d9d
[API] Remove unused LGraph APIs ( #847 )
...
Removes unused, outdated helper methods from the original, incomplete
subgraph impl.
2025-03-24 06:24:28 +00:00
filtered
b1462a6274
[API] Add customisation of reroute bezier controls ( #846 )
...
Allows globally setting the bezier control point offset from the reroute
centre point. This can be increased to allow larger curves on longer
links, or set to 0 to completely disable the spline on inter-reroute
link segments.
2025-03-24 06:10:57 +00:00
filtered
642317f6bd
Reroute link styles ( #845 )
...
Improves linear & straight link styles to work with native reroutes
2025-03-24 13:31:43 +11:00
Chenlei Hu
7fc8f8c897
Add lowQuality param to IWidget.draw ( #843 )
...
Currently widget needs to get access to `LGraphCanvas` instance to know
whether the canvas is rendering in low quality (Zoomed out). Usually
canvas object is obtained from `ComfyApp` instance.
This PR passes the lowQuality value to `IWidget.draw` to decouple the
dependency on `LGraphCanvas`.
2025-03-23 20:50:14 -04:00
filtered
c8bd5e43dd
Add litegraph input indicator helper class ( #842 )
...
Example usage with ComfyUI_frontend, via console / devtools:
```ts
const inputIndicators = new InputIndicators(app.canvas)
// Dispose:
inputIndicators.dispose()
```
2025-03-24 11:43:36 +11:00
filtered
fd4ffbc1f8
Fix render issues after moving floating input links ( #841 )
...
- Fixes floating inputs have invisible segment after moving
- Fixes floating input can be moved onto existing input link, resulting
in the slot having two links
2025-03-24 00:16:06 +00:00
filtered
7b8f01f546
[Refactor] Split moving links ( #839 )
...
Splits moving links out to separate input and output classes.
2025-03-23 22:11:08 +00:00
filtered
05587d8a19
Fix moving existing links can result in loopback ( #838 )
...
Prevents nodes connecting links to themselves when moving existing
links.
If moving multiple links with reroutes, this will instead _reconnect_
any links that would become loopbacks, only without any rereoutes.
2025-03-23 19:00:55 +00:00
filtered
ff6281c840
Fix cannot shift-drag new link from first link segment ( #836 )
...
Fixes issue where new links can only be shift-click dragged from the
link line on link segments *after* a native reroute.
2025-03-23 15:13:06 +00:00
filtered
642e73773c
[CodeHealth] Improve legibility of renderingBoxColor ( #832 )
...
Drastically reduces the cognitive complexity of
`LGraphNode.renderingBoxColor` by impl. early returns.
2025-03-22 21:53:42 +00:00
filtered
a44b8d0581
Fix bypass links on delete gives up after corrupt link ( #831 )
...
Bypass links will now continue to attempt to connect other links,
instead of silently giving up on the first corrupt link it finds.
2025-03-22 21:50:18 +00:00
filtered
ba7f870e0f
[CodeHealth] Improve code readability ( #830 )
2025-03-22 21:48:26 +00:00
filtered
b254bae5c5
Allow floating reroutes to be chained when creating new ( #828 )
...
- Resolves #827
2025-03-23 07:38:11 +11:00
filtered
2e95ac9a71
Fix minor render issues with links / reroutes ( #825 )
...
- Fixes link centre marker highlight drawn over dragged items
- Fixes arrow-style link centre marker drawn twice
- Adds missing centre markers for output floating links
- Adds render sort order for reroutes (more links rendered on top)
2025-03-23 06:36:14 +11:00