+
+
+const vtk = await vtkwasm.ready;
+const canvas = document.querySelector("canvas");
+const canvasSelector = vtkwasm.session.registerCanvas("!vtk-canvas", canvas);
+const mesh = vtk.vtkPartitionedDataSetCollectionSource({
+ numberOfShapes: 1
+});
+const mapper = vtk.vtkCompositePolyDataMapper();
+await mapper.setInputConnection(await mesh.getOutputPort());
+const actor = vtk.vtkActor({mapper})
+const renderer = vtk.vtkRenderer({background: [0.2, 0.2, 0.2]});
+renderer.addViewProp(actor);
+const renderWindow = vtk.vtkRenderWindow({ canvasSelector });
+await renderWindow.addRenderer(renderer);
+const interactor = vtk.vtkRenderWindowInteractor({
+ canvasSelector,
+ renderWindow,
+});
+await renderer.resetCamera();
+await interactor.interactorStyle.setCurrentStyleToTrackballCamera();
+await interactor.start();
+
diff --git a/docs/public/demo/example.js b/docs/public/demo/example.js
index 53a13aa..bc971a9 100644
--- a/docs/public/demo/example.js
+++ b/docs/public/demo/example.js
@@ -1,4 +1,4 @@
-async function buildWASMScene(vtk, titleText = "Sample VTK.wasm scene") {
+async function buildWASMScene(vtk, canvasSelector = "#vtk-wasm-window", titleText = "Sample VTK.wasm scene") {
function createSharedTextProperty() {
const textProperty = vtk.vtkTextProperty({fontSize: 22});
@@ -54,7 +54,6 @@ async function buildWASMScene(vtk, titleText = "Sample VTK.wasm scene") {
await renderer.resetCamera();
// Create a RenderWindow and bind it to a canvas in the DOM
- const canvasSelector = "#vtk-wasm-window";
const renderWindow = vtk.vtkRenderWindow({ canvasSelector });
await renderWindow.addRenderer(renderer);
const interactor = vtk.vtkRenderWindowInteractor({
diff --git a/docs/public/demo/plain-javascript-annotation-wasm-registry.html b/docs/public/demo/plain-javascript-annotation-wasm-registry.html
index c8a35f8..f8e0080 100644
--- a/docs/public/demo/plain-javascript-annotation-wasm-registry.html
+++ b/docs/public/demo/plain-javascript-annotation-wasm-registry.html
@@ -11,7 +11,7 @@