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
```
- 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.
Example usage with ComfyUI_frontend, via console / devtools:
```ts
const inputIndicators = new InputIndicators(app.canvas)
// Dispose:
inputIndicators.dispose()
```
- 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
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.
- Follow-up on #817
### Unit tests
Adds tests for:
- LinkConnector
- LGraph
### Integration tests for LinkConnector
- Uses and configures a real graph + LGraph
- Avoids mocks
- User input is still mocked
- Performs actual tasks as would be called by LGraphCanvas
- A little verbose in places, but _many_ edge cases are caught by these
tests
- Splits link connect logic out of `LinkConnector` to individual
`RenderLink` classes
- Add support for connecting / reconnecting reroutes in various
configurations
- Adds support for moving existing floating links from outputs / inputs
- Fixes numerous corruption issues when reconnecting reroutes / moving
links
- Tests in separate PR #816
- Updates UUIDv4 generator
- Adds a unique id & revision support to graphs
- `revision` to be incremented downstream (e.g. on save)
- `id` automatically assigned if not provided
Workaround originally implemented when converting to ES modules, but is
now redundant.
`DEFAULT_EVENT_LINK_COLOR` confirmed unused in code search (litegraph
events).
- Adds module entry point tests
- Manually resolved lint rules for module entry point imports / exports
(autofix could not resolve without causing issues)
Stylistic plugin falls short in a few areas when it comes to consistent
lists and chaining. Replaced some key rules with antfu's personal
variants.
`eslint` can now be run repo-wide without params.
* [API] Remove unused LiteGraph APIs
These features have not been maintained, and would require refactoring / rewrites. As code search revealed them to be unused, they are being removed.
- addNodeMethod
- compareObjects
- auto_sort_node_types
* Udpate API.md
* [Test] Revert custom name for test context
- Removes "lgTest", replaces with default "test"
* nit - Rename test extensions file
* Split test graphs out to separate file
* remove scaling of context menus based on graph scale
* deprecate scale in interface
* Add option to restore old context scaling behaviour
Revert "remove scaling of context menus based on graph scale"
This reverts commit d91ecaa86c671aea272844c3900a18da1af7bf01.
* Update test expectations
---------
Co-authored-by: filtered <176114999+webfiltered@users.noreply.github.com>