Skip to content

feat: Remote rendering 4.3c: Select parts by clicking a streamed frame - #188

Open
LKasianAnsys wants to merge 4 commits into
feat/4.3b-show-panels-in-server-modefrom
feat/4.3c-pick-parts-in-server-mode
Open

LKasianAnsys wants to merge 4 commits into
feat/4.3b-show-panels-in-server-modefrom
feat/4.3c-pick-parts-in-server-mode

Conversation

@LKasianAnsys

@LKasianAnsys LKasianAnsys commented Oct 22, 2026 •

Copy link
Copy Markdown
Collaborator

Issue

Resolves #28

Context

This PR implements picking in VISOR's SERVER mode. Until now, clicking on a server-mode frame did not select any parts of a rendered dataset. This PR enables picking by sending the click to pick_part_at in render-window device pixels, and routse the result through a shared ViewerClickDispatcher used by both SERVER and CLIENT mode.

Manual check: in server mode, click on a part of a multiblock dataset. it should appear as selected in the tree view. In client mode, there should be no changes.

Copilot summary

This pull request introduces a new feature for VISOR's server mode: users can now select parts by clicking on a streamed frame. The implementation standardizes and improves the handling of viewer click events across both server and WASM renderers by introducing a shared ViewerClickDispatcher utility. It also improves error handling and adds comprehensive tests to ensure correct behavior. The most important changes are grouped below.

Remote Rendering Feature:

  • Added support for selecting parts by clicking a streamed frame in remote rendering 4.3c.

Viewer Click Handling Refactor:

  • Introduced the ViewerClickDispatcher utility to manage viewer click listeners and ensure only one pick operation runs at a time; this is now used by both the server (ServerRenderer) and WASM (VtkScene) renderers. [1] [2] [3] [4] [5]

Server Renderer Improvements:

  • Refactored ServerRenderer to use ViewerClickDispatcher for click handling, including normalized click position translation, error logging, and listener notification. [1] [2] [3] [4] [5]

WASM Renderer Improvements:

  • Updated VtkScene to use ViewerClickDispatcher, simplifying the click event flow and ensuring consistent pick dispatching logic with the server renderer. [1] [2] [3] [4] [5]

Testing and Error Handling:

  • Added and updated Jest tests to verify correct pick dispatching, listener notification, and error logging for failed picks. [1] [2] [3] [4]

These changes collectively improve user interaction with rendered frames and ensure robust, maintainable click-handling logic across the codebase.

@github-actions github-actions Bot added added enhancement New feature or request labels Oct 22, 2026
@LKasianAnsys
LKasianAnsys force-pushed the feat/4.3c-pick-parts-in-server-mode branch from c8ccff6 to 4dabd38 Compare October 26, 2026 14:16
@LKasianAnsys
LKasianAnsys force-pushed the feat/4.3c-pick-parts-in-server-mode branch from 4dabd38 to 776f1ff Compare October 26, 2026 17:33
@LKasianAnsys
LKasianAnsys force-pushed the feat/4.3c-pick-parts-in-server-mode branch from 776f1ff to 6a32355 Compare October 26, 2026 19:40
@LKasianAnsys
LKasianAnsys marked this pull request as ready for review October 26, 2026 20:20
@LKasianAnsys LKasianAnsys self-assigned this Oct 26, 2026
@LKasianAnsys
LKasianAnsys force-pushed the feat/4.3c-pick-parts-in-server-mode branch from 6a32355 to 15fb087 Compare October 28, 2026 14:10
@LKasianAnsys
LKasianAnsys force-pushed the feat/4.3c-pick-parts-in-server-mode branch from 15fb087 to 551fcc6 Compare October 28, 2026 16:16
@LKasianAnsys
LKasianAnsys force-pushed the feat/4.3c-pick-parts-in-server-mode branch from 551fcc6 to df94c42 Compare October 28, 2026 16:30
@LKasianAnsys
LKasianAnsys added this pull request to stack #197 October 29, 2026 20:54
@LKasianAnsys
LKasianAnsys force-pushed the feat/4.3c-pick-parts-in-server-mode branch from df94c42 to 99067d5 Compare October 29, 2026 21:45
@LKasianAnsys LKasianAnsys changed the title feat: [Remote rendering 4.3c] Select parts by clicking a streamed frame feat: Remote rendering 4.3c: Select parts by clicking a streamed frame Oct 29, 2026
@LKasianAnsys
LKasianAnsys force-pushed the feat/4.3c-pick-parts-in-server-mode branch 2 times, most recently from cc656f0 to 01440f7 Compare November 2, 2026 13:57
@LKasianAnsys
LKasianAnsys force-pushed the feat/4.3c-pick-parts-in-server-mode branch from 01440f7 to 391efa1 Compare November 2, 2026 14:24

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

added enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Remote rendering 4.3] RemoteCanvas frame display and interaction forwarding

2 participants