Skip to content

feat: Remote rendering 4.1a: Share VTK pipeline between client and server renderers - #180

Merged
LKasianAnsys merged 3 commits into
mainfrom
feat/4.1a-share-pipeline-between-renderers
Oct 28, 2026
Merged

LKasianAnsys merged 3 commits into
mainfrom
feat/4.1a-share-pipeline-between-renderers

Conversation

@LKasianAnsys

@LKasianAnsys LKasianAnsys commented Oct 22, 2026 •

Copy link
Copy Markdown
Collaborator

Issue

Addresses #26

Context

Until now, the VTK pipeline code, including the render window, interactor, widgets, per-part pipelines, and the camera and cross section plane, lived in VisorLocalRenderer, mixed with wasm serialization. This moves the shared parts into an abstract VtkPipelineRenderer, and keeps _publish* methods on the concrete renderer subclass. It also moves pick_geometry off IRenderer and VisorSceneBase for now, as only client mode can pick geometry; it moves to the shared base when server mode gains geometry picking.

No behaviour changes are expected, this is a pure refactor.

Copilot summary

This pull request introduces several important changes related to the renderer pipeline and picking functionality, along with updates to the test suite to reflect refactoring. The most significant update is the sharing of the VTK pipeline between client and server renderers, which improves maintainability and consistency. The picking interface has been refactored, moving responsibility for geometry picking to the appropriate renderer, and related code has been cleaned up. Test imports and mocks have been updated to align with the new module structure.

Renderer pipeline and picking refactor:

  • Shared the VTK pipeline implementation between client and server renderers to reduce duplication and improve consistency (doc/changelog.d/180.added.md).
  • Removed the abstract pick_geometry method from RendererBase and its implementation from NullRenderer, centralizing picking logic in the appropriate renderer (src/ansys/visor/viewer/renderer/base.py, src/ansys/visor/viewer/renderer/null_renderer.py). [1] [2]
  • Moved the pick_geometry frontend entry point from the VTK scene base to LocalScene, ensuring picking is handled only where needed (src/ansys/visor/viewer/vtk/scene/base.py, src/ansys/visor/viewer/vtk/scene/local_scene.py). [1] [2]

Test suite updates:

  • Updated all test patches and mocks to reference pipeline_renderer instead of local_renderer, reflecting the refactored module structure (tests/unit/renderer/test_local_renderer.py, tests/unit/vtk/scene/test_base.py). [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15]

Documentation:

  • Added a changelog entry describing the shared VTK pipeline feature (doc/changelog.d/180.added.md).

@github-actions github-actions Bot added test Work associated with testing added labels Oct 22, 2026
@LKasianAnsys
LKasianAnsys changed the base branch from main to chore/renderer-interface-cleanup October 22, 2026 21:59
@github-actions github-actions Bot added the enhancement New feature or request label Oct 22, 2026
@LKasianAnsys
LKasianAnsys force-pushed the chore/renderer-interface-cleanup branch from f7595dd to fd7d908 Compare October 26, 2026 13:49
@LKasianAnsys
LKasianAnsys force-pushed the feat/4.1a-share-pipeline-between-renderers branch from a317cba to 50be0a6 Compare October 26, 2026 14:14
@LKasianAnsys LKasianAnsys self-assigned this Oct 26, 2026
@LKasianAnsys
LKasianAnsys marked this pull request as ready for review October 26, 2026 15:48
ansBAkula
ansBAkula previously approved these changes Oct 28, 2026

@ansBAkula ansBAkula left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested basic functionalities...Seems to work after the rfecator.

Base automatically changed from chore/renderer-interface-cleanup to main October 28, 2026 14:53
@LKasianAnsys
LKasianAnsys dismissed ansBAkula’s stale review October 28, 2026 14:53

The base branch was changed.

@LKasianAnsys
LKasianAnsys force-pushed the feat/4.1a-share-pipeline-between-renderers branch from 50be0a6 to 76a1689 Compare October 28, 2026 15:00
@LKasianAnsys LKasianAnsys changed the title feat: [Remote rendering 4.1a] Share VTK pipeline between client and server renderers feat: Remote rendering 4.1a: Share VTK pipeline between client and server renderers Oct 28, 2026
@LKasianAnsys
LKasianAnsys merged commit e75e11e into main Oct 28, 2026
16 checks passed
@LKasianAnsys
LKasianAnsys deleted the feat/4.1a-share-pipeline-between-renderers branch October 28, 2026 15:17
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 test Work associated with testing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants