Explanation

Explanation#

Deeper understanding of pyvista-wasm concepts and architecture.

Overview#

pyvista-wasm is a PyVista-like API for VTK.wasm, bringing the intuitive PyVista interface to WebAssembly-based 3D visualization. It enables 3D visualization in browser environments including Pyodide, JupyterLite, and Streamlit applications.

Architecture#

pyvista-wasm separates concerns between Python and JavaScript:

  • Python side: Handles geometry preparation, scene configuration, and API surface.

  • JavaScript side (VTK.wasm): Handles the actual geometry parsing and WebGL rendering via WebAssembly.

Features#

  • PyVista-like API for familiar usage

  • Integration with VTK.wasm for web-based visualization

  • Support for JupyterLite, marimo, and stlite

  • Physically Based Rendering (PBR) with metallic and roughness controls

  • PLY, OBJ, STL, GLTF, and PolyData file format readers