Commit Graph
4 Commits
Author SHA1 Message Date
Æmotion StudioandClaude Opus 5.5 e4cee7214e Fix Nodes 2.0 support and glass title emphasis
- Paint Vue nodes under the glass from the DOM, since the canvas capture
  has none of them.
- Resolve the Inspector's hovered node from the Vue node element under
  the cursor, falling back to the canvas hit test in pan mode.
- Fit the node highlight to collapsed nodes in both modes.
- Draw Node Title Emphasis on the title bar instead of the first slot
  row, and skip nodes without a title bar such as Reroute.
- Fill the glass with the page background so it is not half-empty at
  the canvas edge or wrong at zoom 1.5 and above.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-04 07:57:36 -08:00
Æmotion StudioandClaude Opus 5.5 6799dc8fbb Fix sidebar collapse and glass media culling
- Make the sidebar tab wrapper fill the panel, and let the content keep its
  natural height when the parent has none, so the settings no longer collapse
  to a 16px scroller.
- Only measure DOM images and videos under the glass, so per-frame work scales
  with what is under the glass instead of all media on the page.
- Cap Virtual Zoom near 60 fps again, so high-refresh displays do not run two
  full graph draws every frame.
- Cull nodes with LiteGraph's boundingRect and keep collapsed nodes, so title
  bars and collapsed nodes in front of a preview stay on top in the glass.
- Drop the self-min on the title width and the dead pos/size guards.
- Remove the stale web/shared/settings.js build output.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 20:32:16 -08:00
Æmotion StudioandClaude Opus 5.5 818248facc Fix image and video previews in the magnify glass
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 19:47:32 -08:00
google-labs-jules[bot]andAEmotionStudio 85a0a6fa33 perf: optimize node rendering by caching visible nodes
Reduced redundant iterations over `app.graph._nodes` in `OffscreenRenderer`.
Implemented `getVisibleNodes` to calculate visible nodes once per frame (O(N)) and reused this list for text, title, and image preview rendering passes (O(M)).
This improves performance for large graphs by replacing multiple O(N) traversals with a single O(N) traversal followed by O(M) traversals where M << N.

Added unit tests in `tests/unit/OffscreenRenderer.test.ts` to verify node visibility culling logic.
Updated `.jules/bolt.md` with performance learnings.

Co-authored-by: AEmotionStudio <163354043+AEmotionStudio@users.noreply.github.com>
2026-02-09 16:18:12 +00:00