Repository navigation
feat: Remote rendering 4.3c: Select parts by clicking a streamed frame - #188
Open
LKasianAnsys wants to merge 4 commits into
Open
LKasianAnsys wants to merge 4 commits into
LKasianAnsys wants to merge 4 commits into
Conversation
LKasianAnsys
force-pushed
the
feat/4.3c-pick-parts-in-server-mode
branch
from
October 26, 2026 14:16
c8ccff6 to
4dabd38
Compare
LKasianAnsys
force-pushed
the
feat/4.3c-pick-parts-in-server-mode
branch
from
October 26, 2026 17:33
4dabd38 to
776f1ff
Compare
LKasianAnsys
force-pushed
the
feat/4.3c-pick-parts-in-server-mode
branch
from
October 26, 2026 19:40
776f1ff to
6a32355
Compare
LKasianAnsys
marked this pull request as ready for review
October 26, 2026 20:20
LKasianAnsys
force-pushed
the
feat/4.3c-pick-parts-in-server-mode
branch
from
October 28, 2026 14:10
6a32355 to
15fb087
Compare
LKasianAnsys
force-pushed
the
feat/4.3c-pick-parts-in-server-mode
branch
from
October 28, 2026 16:16
15fb087 to
551fcc6
Compare
LKasianAnsys
force-pushed
the
feat/4.3c-pick-parts-in-server-mode
branch
from
October 28, 2026 16:30
551fcc6 to
df94c42
Compare
LKasianAnsys
force-pushed
the
feat/4.3c-pick-parts-in-server-mode
branch
from
October 29, 2026 21:45
df94c42 to
99067d5
Compare
LKasianAnsys
force-pushed
the
feat/4.3c-pick-parts-in-server-mode
branch
2 times, most recently
from
November 2, 2026 13:57
cc656f0 to
01440f7
Compare
LKasianAnsys
force-pushed
the
feat/4.3c-pick-parts-in-server-mode
branch
from
November 2, 2026 14:24
01440f7 to
391efa1
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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_atin render-window device pixels, and routse the result through a sharedViewerClickDispatcherused 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
ViewerClickDispatcherutility. It also improves error handling and adds comprehensive tests to ensure correct behavior. The most important changes are grouped below.Remote Rendering Feature:
Viewer Click Handling Refactor:
ViewerClickDispatcherutility 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:
ServerRendererto useViewerClickDispatcherfor click handling, including normalized click position translation, error logging, and listener notification. [1] [2] [3] [4] [5]WASM Renderer Improvements:
VtkSceneto useViewerClickDispatcher, simplifying the click event flow and ensuring consistent pick dispatching logic with the server renderer. [1] [2] [3] [4] [5]Testing and Error Handling:
These changes collectively improve user interaction with rendered frames and ensure robust, maintainable click-handling logic across the codebase.