VTK Hackathon – May 13, 2026

May 18, 2026

On May 13, 2026, the Visualization Toolkit (VTK) developer community gathered for a hands-on hackathon. As an open source project, VTK relies on the contributions of its community, and this event highlighted the collective effort to maintain and improve the toolkit.

The objectives for the day included reducing technical debt, triaging issues, stabilizing builds, and implementing core improvements. Significant progress was made on code quality, thread-safety, and cross-platform reliability.


Issue Triage and Resolution

A large, long‑lived open source project inevitably accumulates a growing backlog of issues. Developers worked through the backlog and successfully closed ~50+ issues spanning a wide variety of problems. Notable fixes included:

  • Thread‑safety in vtkSMPMergePoints::Merge
  • Unhashable regressions in trame-vtk
  • Segmentation faults in
    • vtkXML (parallel XML format) readers crashing with duplicate DataArray names
    • vtkCutter when operating on polyhedron cells
    • vtkXYZMolReader2 with XMOL files with no time steps

To improve long-term project maintenance, contributors also:

  • Applied ~40+ classification labels (for example, triage:confirmed, triage:needinfo, and triage:hasexample)
  • Formally assigned ~25+ issues to specific contributors to ensure clear ownership and follow‑through

This work not only reduced noise in the tracker but also created a more actionable, better‑organized pipeline of future work.


Focusing on Thread‑Safety and Concurrency

Performance is central to VTK, and performance today almost always implies concurrency. A major theme of the hackathon was addressing thread‑safety problems and data races identified by ThreadSanitizer (TSan).

Work included:

  • Identifying and triaging data races and synchronization issues
  • Assigning these issues for sustained follow‑up
  • Implementing fixes in heavily used, performance‑critical classes

Key areas of focus included:

  • vtkFreeTypeTools
  • vtkSMPMergePoints
  • vtkStaticCellLocator
  • vtkSurfaceNets

Several developers have committed to long-term ownership of these concurrency tasks to ensure VTK remains scalable and stable under modern multi-threaded workloads.


WebAssembly, I/O, and Build Improvements

The hackathon also yielded several architectural improvements in the following areas:

WebAssembly & Platform Support

Contributors addressed issues that prevented WebAssembly examples from running correctly with rendering enabled. They also resolved CMake configuration problems that caused platform‑specific build failures on Apple systems.

These updates improve VTK’s reliability across different platforms and modern web-based environments.

Data Formats & I/O

I/O and data format compatibility were another key focus. The community:

  • Improved support for formats such as Exodus, XDMF2, and XML
  • Updated the ExodusReader to correctly handle double‑precision data
  • Fixed long‑standing issues in the VTK Legacy file format reader, specifically around handling sizeof(long)

These improvements ensure better handling of large-scale, heterogeneous datasets in HPC environments.

Build System and Compiler Compatibility

To keep VTK aligned with contemporary toolchains, contributors invested in the build and compiler layer as well:

  • Addressed C++20 compliance issues in vtkDataReader
  • Improved compatibility with the GCC‑10.x family of compilers

These changes help developers integrate VTK more easily into modern C++ projects and CI/CD pipelines.

Rendering

Rendering correctness issues were addressed through several changes:

  • Fixed vtkScalarBarActor tick label visibility issues
  • Added vtkGradientFilter support for quadratic triangles
  • Enabled volume rendering with 16-bit arrays (Int16/Uint16) in WebAssembly environments
  • Resolved Mesa 25.3.6 issues regarding shader memory layouts
  • Documented the NVIDIA Vulkan driver XCloseDisplay issue, accompanied by a sample reproduction case

These improvements ensure that VTK’s rendering engine remains robust across modern hardware and web-based platforms.


Moving Forward

The hackathon closed with ~15+ new merge requests opened in a single day. The immediate next steps for the community include:

  1. Reviewing and merging these MRs
  2. Maintaining the strong momentum on the added improvements

The work done during this event lays a solid foundation for a more stable, scalable, and future‑proof VTK.


Thank You to Our Attendees

This progress was made possible by the dedicated developers who contributed their time and expertise.

We would like to extend a sincere thank you to our attendees:

Jefferson Amstutz, Martin Bellehumeur, Benjamin, Ben Boeckel, Alexandru Ciobanu, Paul Elliott, Berk Geveci, Shreeraj Jadhav, Sankhesh Jhaveri, Sebastien Jourdain, Sean McBride, Seun Odutola, Jaswant Panchumarti, Cory Quammen, and Spiros Tsalikis.

Thank you again to everyone who contributed to making VTK better. Your time, expertise, and attention to detail made this hackathon a real success.


Partner With Kitware

If your organization is working with scientific visualization, HPC, or large-scale data processing workflows, Kitware can help. Our team develops production-ready, open source solutions built for scalability, reliability, and long-term maintainability.

To learn more about working with Kitware or contributing to the VTK ecosystem, contact us.

Leave a Reply