ansys / ansys/Visual-Interactive-Simulation-Object-Renderer
[Remote rendering 4.1] Add headless RemoteRenderer and RCA streaming backend
- Dominant language
- Python
- Stars
- 0
- Forks
- 0
- Avg merge
- 1d 10h
- Merged PRs (30d)
- 37
Description
### 📝 Description of the feature
Stand up the server-side rendering path on the backend:
* a `RemoteRenderer` that implements `IRenderer` against an off-screen `vtkRenderWindow` (`SetOffScreenRendering(1)`), writing per-part mutations through the shared `VtkNodePipeline` and owning camera state directly on the server-side camera (unlike the local path, where the camera lives in the browser).
* `RemoteApp` wires the render window into trame-rca so frames can stream to the client, and complete `VisorRemoteScene` against the runtime-state hooks from user story 1.2. This includes render coalescing (back to back mutations produce one frame).
* This is the largest story in the phase and is expected to break down into several sub-PRs, e.g.
* The off-screen renderer
* the streaming wiring
* coalescing + camera push
Local mode is untouched in this user story; all of this new code is behind the mode flag.
### Acceptance Criteria
* A connecting client receives an initial frame.
* Tests pass
### 💵 Business Value
_No response_
### 🔗 Useful links and references
_No response_
Contributor guide
Research direction
Trace the RemoteRenderer, RemoteApp, VtkNodePipeline, and VisorRemoteScene entry points described in the issue, starting with the existing local renderer and runtime-state hooks. Break the work into the off-screen renderer, streaming wiring, and coalescing/camera behavior; done means a connecting client receives an initial frame and the tests pass.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend, computer-graphics
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100