Appearance
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
andvtkLabelHierarchy
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 (likevtkDendrogramItem
) add items to themselves, leading to extra child items after deserialization and errors when rendering those child items.
- Cannot do this in
- 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:
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:
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:
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:
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.