Skip to content

VTK 9.5 is out

June 24, 2025

The 9.5.0 release includes many improvments regarding the integration of WASM. In addition to observing VTK objects on the client side, you can also invoke methods on VTK objects. This enables us to implement client/server calls for handling picking with client side objects. The other hidden improvement is related to the increased number of vtk objects available in WASM which should help in reproducing more complex VTK scene more accurately.

You can install the equivalent python wheel with the command

sh
pip install "vtk==9.5.0" --extra-index-url https://wheels.vtk.org

The WASM bundle is available here:

vtk-9.5.0-wasm32-emscripten.tar.gz

Fix serialization for RenderingAnnotation module

June 23, 2025

See vtk/vtk!12192

  • Fix deserialization of vtkAlgorithm inputs
  • Fix serialization of vtkDataSetMapper inputs
  • Enables (de)serialization of necessary indexed properties in RenderingAnnotation
  • Fix (de)serialization of vtkLabelPlacementMapper and vtkLabelHierarchy

Add serialization for vtkGraph and ViewsInfovis module

June 23, 2025

See vtk/vtk!12199

  • Added manual (de)serialization helper for vtkGraph
  • Enable auto serialization for subclasses of vtkGraph
  • Enable serialization in ViewsInfovis
    • Expose relevant properties, exclude redundant ones
  • Serialize child items in vtkContextTransform
    • Cannot do this in vtkAbstractContextItem since some subclasses (like vtkDendrogramItem) add items to themselves, leading to extra child items after deserialization and errors when rendering those child items.
  • A few unrelated serialization fixes (vtkFramebufferPass, vtkMapperCollection)

9.5.20250621 is now available!

June 21, 2025

You can install the equivalent python wheel with the command

sh
pip install "vtk==9.5.20250621.dev0" --extra-index-url https://wheels.vtk.org

The WASM bundle is available here:

  1. vtk-9.5.20250621-wasm32-emscripten.tar.gz
  2. vtk-9.5.20250621-wasm64-emscripten.tar.gz

9.5.20250614 is now available!

June 14, 2025

You can install the equivalent python wheel with the command

sh
pip install "vtk==9.5.20250614.dev0" --extra-index-url https://wheels.vtk.org

The WASM bundle is available here:

  1. vtk-9.5.20250614-wasm32-emscripten.tar.gz
  2. vtk-9.5.20250614-wasm64-emscripten.tar.gz

9.5.20250607 is now available!

June 7, 2025

You can install the equivalent python wheel with the command

sh
pip install "vtk==9.5.20250607.dev0" --extra-index-url https://wheels.vtk.org

The WASM bundle is available here:

  1. vtk-9.5.20250607-wasm32-emscripten.tar.gz
  2. vtk-9.5.20250607-wasm64-emscripten.tar.gz

Clipping planes in WASM/WebGL

June 6, 2025

Clipping planes on mapper is now supported by vtk/vtk!12176. This allow us to implement the TIE fighter clip plane demo in client side.

Fix serialization for 3D widgets

June 5, 2025

  • vtk/vtk!12162 fixes serialization errors of classes in the InteractionWidgets module.
  • Enable auto serialization for vtkResliceCursorRepresentation, vtkDistanceRepresentation, vtkTextRepresentation, and related classes.

Fix serialization of various classes

June 4, 2025

  • [vtk/vtk!12167] fixed serialization for various classes and enables serialization for more classes in the ImagingCore, ImagingColor, RenderingGridAxes, and the RenderingImage modules.
  • The vtkSignedCharArray class now has serialization enabled.
  • The redundant width/height properties of vtkActor2D are now excluded from (de)serialization.

9.5.20250531 is now available!

May 31, 2025

You can install the equivalent python wheel with the command

sh
pip install "vtk==9.5.20250531.dev0" --extra-index-url https://wheels.vtk.org

The WASM bundle is available here:

  1. vtk-9.5.20250531-wasm32-emscripten.tar.gz
  2. vtk-9.5.20250531-wasm64-emscripten.tar.gz

Add get/set functions in vtkRemoteSession

May 27, 2025

vtkRemoteSession::getState is deprecated in favor of vtkRemoteSession::get. The new vtkRemoteSession::set lets you apply properties from JSON in bulk on a VTK object. See vtrk/vtk!12155

Add runtime support for WebGL2 and WebGPU

May 24, 2025

You can now choose the backend to use for rendering your VTK scene. The WebGPU is still work in progress but is now available for testing via runtime configuration option.

WebGPU classes in VTK are now serialized and available in the vtkWebAssemblyAsync.{mjs,wasm} files. Subsequent packages will distribute both vtkWebAssemblyAsync.{mjs,wasm} and vtkWebAssembly.{mjs,wasm} files. The async package will only work in browsers that enable JavaScript Promise Integration (JSPI). See vtk/vtk!12143

Fix serialization for RenderingVolume module

May 27, 2025

[vtk/vtk!12142] fixes serialization errors that arise when serializing classes in the RenderingVolume module.

Add standalone and remote session API

May 19, 2025

The vtkWebAssembly.mjs library now provides two new classes vtkRemoteSession and vtkStandaloneSession.

  • Remote session API is concerned with use cases where a "server" creates VTK objects and sends the state to a WASM "client" that deserializes the state into objects to mimic the visualization pipeline on the "server". This API does not allow creating objects in the WASM world. It is possible, although very difficult and prone to bugs.

  • Standalone API is important when one wants to directly create and manipulate objects in the local context in the absence of a server.

See vtk/vtk!12110

Fix vtkFieldData deserialization when no. of arrays is the same but some or all individual arrays have changed

May 19, 2025

vtk/vtk!12129 fixed a bug where the arrays had their values updated only when the total number of arrays in the vtkFieldData changed between deserializations. Now, it always update the array list because even though the number of arrays remain the same, the arrays themselves might be different.

Add support for 32 and 64 bits WASM bundle

May 14, 2025

Build and distribute artifacts for wasm64. This package allows rendering large meshes bigger than 4GB. It requires a web browser that supports 64-bit wasm memories.

9.5.20250513 is now available!

May 13, 2025

You can install the equivalent python wheel with the command

sh
pip install "vtk==-9.5.20250513-wa" --extra-index-url https://wheels.vtk.org

The WASM bundle is available here:

vtk-9.5.20250513-wasm32-emscripten.tar.gz

9.5.20250510 is now available!

May 10, 2025

You can install the equivalent python wheel with the command

sh
pip install "vtk==-9.5.20250510-wa" --extra-index-url https://wheels.vtk.org

The WASM bundle is available here:

vtk-9.5.20250510-wasm32-emscripten.tar.gz

Add serialization for pickers

May 5, 2025

vtk/vtk!12095 enables auto serialization for pickers in the RenderingCore module, as well as vtkAssemblyNode, vtkAssemblyPath, and vtkProp3DCollection for properties of certain pickers.

Fix serialization of VTK classes

April 25, 2025

Many serialization issues were fixed in vtk/vtk!12012. Serialization capability was also added to some classes. Here's a list of classes that were affected:

  • vtkActor2D
  • vtkBitArray
  • vtkDataArray
  • vtkDiscretizableColorTransferFunction
  • vtkFieldData
  • vtkInformation
  • vtkLabeledContourMapper
  • vtkLogLookupTable
  • vtkMultiBlockDataSet
  • vtkOpenGLLabeledContourMapper
  • vtkPolyDataMapper2D
  • vtkProp3DFollower
  • vtkProperty
  • vtkRenderWindow
  • vtkScalarsToColors
  • vtkShaderProperty
  • vtkStructuredGrid
  • vtkTextPropertyCollection
  • vtkTexture
  • vtkVariant
  • vtkVariantArray
  • vtkWindow

Helper JavaScript library

October 7, 2024

A new JavaScript library is available under @kitware/trame-vtklocal which delivers a set of helper tools for VTK.wasm and JavaScript. This include a standalone viewer for a VTK scene dump, a wrapper for pure JavaScript usage and some core handler when creating a widget (i.e. React, Svelt, Angular...) for interating with a trame-vtklocal server implementation.

Last updated: