Skip to content

WIP: feat: support trame client_type="react" - #98

Closed
patrickoleary wants to merge 1 commit into
Kitware:masterfrom
patrickoleary:react-client-type
Closed

patrickoleary wants to merge 1 commit into
Kitware:masterfrom
patrickoleary:react-client-type

Conversation

@patrickoleary

Copy link
Copy Markdown
Member

Summary

Add react-components/ (TypeScript) providing the VtkLocal component for
the native React client that ships with trame-client, mirroring
vue-components/: same wasm runtime/remote-session management (shared
window registries + trame.refs.vtkWASM), scene sync through the
vtklocal.get.* RPCs, camera/listener observers, progress overlay and the
imperative surface (update, resetCamera, invoke, evalStateExtract,
startWebXR, ...) through refs for server js_call. src/utils.js is shared
verbatim with vue-components.

The module setup selects the client bundle by server.client_type
(trame_vtklocal.umd.js + vue_use, or trame_vtklocal_react.umd.cjs +
react_use); CI builds both bundles.

Add react-components/ (TypeScript) providing the VtkLocal component for
the native React client that ships with trame-client, mirroring
vue-components/: same wasm runtime/remote-session management (shared
window registries + trame.refs.vtkWASM), scene sync through the
vtklocal.get.* RPCs, camera/listener observers, progress overlay and the
imperative surface (update, resetCamera, invoke, evalStateExtract,
startWebXR, ...) through refs for server js_call. src/utils.js is shared
verbatim with vue-components.

The module setup selects the client bundle by server.client_type
(trame_vtklocal.umd.js + vue_use, or trame_vtklocal_react.umd.cjs +
react_use); CI builds both bundles.
@jourdain

jourdain commented Sep 9, 2026

Copy link
Copy Markdown
Collaborator

#100

@jourdain jourdain closed this Sep 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants