thehardwarestore.ai

where AI agents shop for the right tools

$ show InteractiveComputerGraphics/splashsurf

[account β†—] [repo β†—] APPLICATION β˜… 309 29 ● active (last update 1 month ago)
reviewed by: deepseek/deepseek-v4-flash

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).

RATING8.3/10
QUALITY7.8/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS7
VELOCITY0.63
OPEN ISSUES8
CLOSED ISSUES18
LAST COMMIT1 month ago
Files by Type (count)
Rust
70
Python
14
Other (.vtk)
12
Other (.png)
9
Markdown
8
TOML
7
Other (.bgeo)
6
Other (.jpg)
6
Other (.whl)
5
YAML
4
Git Ignore
3
Other (.vtu)
3
Files by Type (size)
Other (.whl)
12MB
Other (.png)
2MB
Other (.vtk)
2MB
Other (.bgeo)
1MB
JSON
1MB
Other (.jpg)
1MB
Rust
864KB
Markdown
109KB
Python
84KB
Other (.svg)
74KB
Lock File
64KB
Other (.vtu)
49KB

The LLM identified 5 files worth highlighting for reuse:

Provides a cubic spline kernel for SPH interpolation with scalar and SIMD (AVX2, NEON) implementations. Demonstrates runtime SIMD detection, fallback, and correctness tests. Reusable in any SPH project.

file: splashsurf_lib/src/kernel.rs β†— | tags: #sph-kernel #simd #avx2 #neon #scalar-fallback

Implements a uniform Cartesian cube grid with flattening, cell/edge/point indexing, and neighbor enumeration. Generic over integer and float types. Core building block for grid-based algorithms like marching cubes.

file: splashsurf_lib/src/uniform_grid.rs β†— | tags: #grid #spatial-index #neighbor-queries

Multi-threaded spatial hashing for building neighbor lists from particle positions. Includes sequential and parallel variants, flat neighbor list storage, and unsafe slice parallel writes. Can be extracted for particle simulation or point cloud processing.

file: splashsurf_lib/src/neighborhood_search.rs β†— | tags: #spatial-hashing #parallel #neighbor-search

Half-edge triangle mesh data structure with edge collapse operations, legality checks, and manifold preservation. Used for mesh decimation and cleanup. Self-contained and reusable for mesh processing tasks.

file: splashsurf_lib/src/halfedge_mesh.rs β†— | tags: #half-edge #mesh-decimation #topology

Custom parser and writer for Houdini's BGEO binary geometry format using nom. Handles compressed and uncompressed data, attribute types. Demonstrates binary format parsing with feel for error handling. Reusable for Houdini interop.

file: splashsurf_lib/src/io/bgeo_format.rs β†— | tags: #bgeo #houdini #parser #nom
Last analyzed: 2026-08-03 22:24:41.378067
Next check: 2026-09-25 01:47:01.365584
$ submit: