ansys / ansys/Visual-Interactive-Simulation-Object-Renderer
[Remote rendering 4.5] Remote camera interaction end-to-end
- Lenguaje dominante
- Python
- Estrellas
- 0
- Forks
- 0
- Merge medio
- 1 d 10 h
- PR fusionados (30 d)
- 37
Descripción
### 📝 Description of the feature
Make rotate, pan, and zoom work against the server-side interactor: the client forwards the interaction event, the server applies it to the camera, renders, and streams the updated frame back. The stock interaction adapter doesn't reliably handle the event format the canvas emits, so a direct dispatch stands in.
Note:
In the spike, the stock vtkRemoteInteractionAdapter.ProcessEvent didn't recognize the JSON event format RemoteCanvas emits, because RemoteCanvas was emitting different event shapes (e.g. both flat {x, y} and nested {position: {x, y}} shapes.
A workaround was used in the spike, dispatching events directly to an interactor instead of going through the adapter, since it wasn't clear whether the adapter's strict behavior is intended or an upstream issue whose fix is to accept both shapes.
If a similar issue is encountered in the course of this user story, we could first check with Kitware on whether we resolve the issue by conforming RemoteCanvas to a single shape or whether the fix is on the adapter side (if it's not intended to be as strict)
### Acceptance Criteria
Rotate, pan, and zoom work in remote mode.
### 💵 Business Value
_No response_
### 🔗 Useful links and references
_No response_
Guía de contribución
Línea de trabajo
Start by tracing the RemoteCanvas event emission and the server-side interactor path, then inspect vtkRemoteInteractionAdapter.ProcessEvent and the differing JSON event shapes described here. Confirm the intended event format or direct-dispatch approach; done means rotate, pan, and zoom work in remote mode with updated frames streamed back.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- computer-graphics, full-stack
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Activo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 55/100