* Backport group header from frontend
* nit - TS types & redundant code
* Refactor - simplify group resize
* Fix group resize can be inverted
* Move group resize check to group class
* Add config for group padding & default colour
* nit - Remove redundant code
* Add multi-select all canvas items (groups, nodes)
* Add Feat: Group & Node Multi-Select / Nesting
- Groups can now contain groups
- Nested groups re-order on top of parent groups
- Groups can be added / removed from selection
- Uses new Positionable interface - easily extensible to new types
* Enhance add / remove from selection UX
More in line with normal desktop UX. Structured for keys to be customisable (if impl. later).
* Fix regression in link highlight
Legacy selection code still in use
* Allow nested groups to align perfectly on edges
* Remove group-move position rounding
Did not work under all circumstances, and resulted in misalignment more often than it helped.
* Add Positionable interface to canvas elements
* Add group resizeTo children
Refactor out duplicated code from Node
* Remove redundant "is_selected" check
* Improve measure pass - interface, caching
Node bounds once per render
Cached results
* Use cached bounds for repeat canvas calls
- Removes margin param from getNodeOnPos
- Removes margin param from getGroupOnPos
- Hitboxes now uniform for render / mouse features
- Simplifies code
* nit - Refactor
* Fix top-left edge of hitbox missing
* Add ID to groups
* Fix intermittent links bug - graph.links Map()
Replaces graph.links with Map()
Adds a Proxy to provide for...in and indexer access
Temporarily uses merged Map+Record type, to ease downstream migration
* nit - Remove redundant code
* nit - Remove redundant null checks
* Add Serializable interface, used in LLink
Allows LLink to be serialised as an object rather than an array, bringing it inline with the rest of LiteGraph.
* Fix TS errors - use correct property
* Fix graph version bumped without change
* Fix onDrawForeground callback has wrong area
* Move node pos getter/setter to class decl
* Fix circular depdency in global
* Add TS type guard private function
* Add TS type
* Add TS types & doc
* Add TS type initialisers
* Add NullableProperties type
* Add TS types
* Split node arrange code out to separate file
* Add Snaps for Comfy
* Add snap visual effects
* Update node measure to work everywhere
* Fix findConnectByTypeSlot does not work for "*"
* Fix regression in fast widget conversion
* Move canvas state to plain object
POCO that can be proxied without side-effects.
LGraphCanvasState interface added to package exports
* Add item dragging to canvas state