This repository provides a high-performance surface reconstruction system for SPH (Smoothed Particle Hydrodynamics) fluid simulation data. The core library, splashsurf_lib, implements a marching cubes pipeline that converts particle positions and densities into triangle meshes, with subdomain-based parallel decomposition, SIMD-accelerated kernel evaluation (AVX2, NEON), and optional post-processing (weighted Laplacian smoothing, barnacle decimation, quad conversion, attribute interpolation). The system is exposed as a CLI tool (splashsurf), a Python package (pysplashsurf via PyO3), and a Blender add-on (splashsurf_studio) for interactive viewport and render-time reconstruction. The architecture is modular: a generic library with traits for numeric types, a dense subdomain grid for parallelism, a half-edge mesh for decimation, and a custom nom-based BGEO parser. The codebase is well-structured with strong emphasis on performance and reproducibility, and it implements the research from LΓΆschner et al. (2023) on weighted Laplacian smoothing. It targets researchers and artists working with SPH simulations (e.g., SPlisHSPlasH) and supports multiple input/output formats (VTK, PLY, OBJ, BGEO, XYZ, JSON).
Partio is a C++ library and toolkit for particle input/output and manipulation, primarily used in visual effects and simulation pipelines. It provides an abstraction layer for particle data (position, velocity, ID, etc.) with support for multiple file formats (BGEO, GEO, PDC, PDB, etc.) through a plugin-based I/O system. The repository includes core library code, command-line tools (partconvert, partinfo, partview), a Qt-based GUI editor (partedit.py), Python bindings via SWIG, and test suites. The architecture separates core data structures, format-specific handlers, and utilities like caching and KD-trees, enabling both direct library use and standalone tools for data inspection and conversion.