[Remote rendering 3.2] Camera state persistence and sync-back
@LKasianAnsys is already working on this.
Since Sep 3, 2026.
Assessment
This issue has not been assessed yet.
Description
📝 Description of the feature
Intent: give the server a persistent record of the camera, so save_state/load_state work and remote mode has a shared contract to build on. Today nothing on the server holds camera between saves; FrontendBridge pulls it from the client on demand at save time.
The goal is to ensure the server tracks camera state, not to change interaction. In local (vtk-wasm) mode the camera lives in the browser: orbit/pan/zoom manipulate the wasm vtkCamera and the browser renders each frame with the server outside that loop. This remains, and for continuous interactions it will continue this way. This story doesn't route the camera through the server, and doesn't make the server drive the gesture. The only change is that the browser reports the settled camera to the server on EndInteractionEvent, and the server stores it.
Further details on the full camera interaction mechanism are deferred until user story 6.4, where the local (vtk-wasm) mode round trip mechanism is designed.
For the present user story, the following is intended scope (added for context/intent not for the purpose of a concrete prescription):
- Replace the passthrough camera handling. On main, the server asks the client for camera only when it needs it (save time) and never maintains its own pipeline vtkCamera; this story makes the server apply the client's reported camera on EndInteractionEvent, into the real pipeline vtkCamera, not a side record (as it currently is).
- The point is to keep the server pipeline current so local_view.update() is non-clobbering; a fresh server camera means any update() (dataset change, state loaded, etc) carries the camera the client already has and doesn't jump the view; a stale one drags it back.
Acceptance Criteria
- Tests pass
- Behaviour is the same as it is on main
- On a browser refresh, the camera state is preserved (this is a side effect of the server applying the camera to its own VTK pipeline on sync-back or at load_state time)
💵 Business Value
No response
🔗 Useful links and references
No response
- Dominant language
- Python
- Stars
- 1
- Forks
- 0
- Avg merge
- 1d 21h
- Merged PRs (30d)
- 47
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from ansys/Visual-Interactive-Simulation-Object-Renderer
-
Difficulty 3/5 1-2 days Newbie friendliness 50/100
-
Library updates Opentechnical
ansys/Visual-Interactive-Simulation-Object-Renderer#136 · 1 assignee ·
-
maintenance
ansys/Visual-Interactive-Simulation-Object-Renderer#131 · 1 assignee ·
-
Release 1.0.2 Openmaintenance
ansys/Visual-Interactive-Simulation-Object-Renderer#130 · 1 assignee ·
-
enhancement
ansys/Visual-Interactive-Simulation-Object-Renderer#126 · 1 assignee ·
All issues in ansys/Visual-Interactive-Simulation-Object-Renderer
Similar issues
-
agent-ready documentation needs-triage
Difficulty 1/5 1-3 hours Newbie friendliness 88/100
-
documentation
Difficulty 1/5 Under an hour Newbie friendliness 91/100
-
workflow-status page template still says reusable workflows are "triggered only by workflow_call:" Open
Difficulty 1/5 Under an hour Newbie friendliness 92/100
-
instance instance add
Difficulty 1/5 Under an hour Newbie friendliness 72/100
searxng/searx-instances#939 · 1 comment ·
-
area-deployment area-integrations triage:bot-seen
Difficulty 2/5 Half a day Newbie friendliness 86/100