ansys / ansys/Visual-Interactive-Simulation-Object-Renderer
[Remote rendering 4.5] Remote camera interaction end-to-end
- Linguagem predominante
- Python
- Estrelas
- 0
- Forks
- 0
- Merge médio
- 1d 10h
- PRs com merge (30d)
- 37
Descrição
### 📝 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_
Guia de contribuição
Direção de pesquisa
Comece rastreando a emissão de eventos do RemoteCanvas e o caminho do interactor no lado do servidor; depois, inspecione vtkRemoteInteractionAdapter.ProcessEvent e os diferentes formatos de eventos JSON descritos aqui. Confirme o formato de evento pretendido ou a abordagem de despacho direto; considera-se concluído quando rotação, pan e zoom funcionarem no modo remoto e frames atualizados forem transmitidos de volta.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- python
- Domínio
- computer-graphics, full-stack
- Tipo de issue
- Funcionalidade
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Status de atividade
- Ativa
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 55/100