Skip to content

Interactivity and Widget Synchronization in trame-vtklocal #22

Description

@aghouas

From reading through the source code of vtkWasmSceneManager and attempting to add a custom interaction style on the server, it appears that the client-side part of this library is using a vtkWebAssemblyRenderWindowInteractor that is not kept in sync with the server-side RenderWindowInteractor. This makes it challenging to process click events on the server or utilize interactive VTK widgets.

Expected Behavior

  • The client-side interactor should synchronize with the server-side interactor to allow event handling on the server.
  • Click events on the mesh should be processable on the server to enable point and cell picking.
  • Interactive widgets, such as vtkOrientationMarkerWidget, should function properly without requiring significant workarounds.

Current Behavior

  • Click events are not easily propagated to the server, making it difficult to implement point and cell picking.
  • VTK interactive widgets do not function properly due to the desynchronized interactors.

Questions

  1. Is there any documentation or an example demonstrating a workaround for this issue?
  2. Is this a known limitation that is being worked on?
  3. Are there recommended approaches for enabling point and cell picking in a trame-vtklocal setup?
  4. Is it possible to use the vtkOrientationMarkerWidget with the current architecture?

Use Case

I am trying to enable point and cell picking in my application, allowing users to click on a mesh and see the selected cells and points highlighted. Additionally, I would like to use the vtkOrientationMarkerWidget for improved navigation.

Any guidance or suggestions would be greatly appreciated!

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions