Skip to content

Issue #8326 : Render ContextDialog content as vector SVG in Hop Web - #8352

Merged
mattcasters merged 3 commits into
apache:mainfrom
mattcasters:issue-8326
Sep 14, 2026
Merged

mattcasters merged 3 commits into
apache:mainfrom
mattcasters:issue-8326

Conversation

@mattcasters

Copy link
Copy Markdown
Contributor

Render ContextDialog (action dialog) category headers and items as vector SVG in Hop Web rather than transmitting raster images over the network. This makes dialog content crisp on all displays, faster to render, and consistent with the SVG rendering used for pipeline and workflow graphs.

What changed

  • SVG Renderer: ContextDialogSvgRenderer renders categories, action tiles, and category headers to vector SVG XML with support for light and dark mode themes.
  • Client Overlay: context-dialog-svg.js provides client-side SVG rendering, instant hover box highlighting, and tooltip bar updates with no network round-trip.
  • RemoteObject Handler: ContextDialogSvgRendererHandler and facade bridge desktop RCP (no-op GC) and Hop Web RAP environments cleanly.
  • Alignment & Dimensions: Proper contentHeight synchronization across category collapse/expand states, preserveAspectRatio="none", and a re-entrancy guard preventing duplicate paint invocations during size updates.
  • Unit Tests: Added automated unit tests in ContextDialogSvgRendererTest and AreaOwnerJsonSerializerTest covering SVG generation, category collapse reflow, and area serialization.

fixes #8326


Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

  • Run mvn clean install apache-rat:check to make sure basic checks pass. A more thorough check will be performed on your pull request automatically.
  • If you have a group of commits related to the same change, please squash your commits into one and force push your branch using git rebase -i.
  • Mention the appropriate issue in your description (for example: addresses #123, fixes #123, or closes #123).
  • Mention your specific configuration information useful if needed.

… Web

- Render ContextDialog category headers and action items into crisp vector SVG in Hop Web instead of raster images
- Provide client-side SVG overlay with hover highlight and tooltip updates via context-dialog-svg.js
- Ensure preserveAspectRatio="none" and proper content height synchronization across collapse and expand transitions
- Guard against re-entrant canvas paint during height update in ContextDialogSvgRendererHandler
- Support both light and dark mode themes in SVG generation
@mattcasters
mattcasters marked this pull request as ready for review September 14, 2026 18:18
@mattcasters
mattcasters merged commit 4a53f25 into apache:main Sep 14, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Task]: Hop Web context dialogs - investigate SVG rendering

1 participant