Vibeleaderboard
Index / tool
Visit github.com
Category
Developer Tools
Rank
Pricing
Open Source
Platform
cli · desktop
Type
TOOL
Builder
st-tech
Latest release
2026-09-08-20-35
Date

About

A GPU-accelerated physics simulation engine for contact resolution between shells, solids, and rods. Designed for fashion e-commerce and cloth simulation with penetration-free contact handling and massive scalability up to 180M contacts.

What it does

PPF Contact Solver takes modeled geometry, material settings, colliders, pins, and scene forces, then computes an offline deformation sequence. Its finite-element models cover cloth-like surfaces, volumetric bodies, strands, rigid bodies, sand, and static obstacles. Users prepare work in Blender or JupyterLab, run the calculation on a solver host, fetch per-frame vertex data, and optionally bake the result into ordinary Blender animation.

Why it's ranked here

This is a serious simulation stack with an unusually complete path from research to production tooling. The contact method has a peer-reviewed foundation, successful runs receive an intersection check, and automated workflows repeatedly exercise examples. Blender, Python, JupyterLab, Docker, Windows, remote hosts, and MCP offer several entry points. The verdict remains qualified because it needs specific NVIDIA hardware, targets offline work, and documents meaningful SSH and MCP security weaknesses.

What's good

The workflow supports much more than a bare solver. Artists can group objects, tune measured fabric presets, add moving pins and invisible colliders, resume from checkpoints, fetch animation, and bake results that play without the add-on. Strain limits place strict bounds on triangle extension. Both contact and elasticity calculations run on the GPU in single precision. Documentation includes galleries, scripts, tutorials, troubleshooting guidance, parameter references, and explicit disclosure of AI-assisted code and documentation.

Tradeoffs

The hardware envelope is narrow: x86 only, no arm64, and an NVIDIA GPU supporting CUDA 12.8 or newer. This is an offline simulator, not a real-time engine. Docker deployment uses an image around 1 GB, while the native Windows bundle is roughly 320 MB. First-time SSH connections silently trust unknown host keys. The local MCP service has no authentication or sandbox and exposes arbitrary Python and shell execution. The authors also warn that add-on algorithms received less scrutiny than the underlying solver research and may retain rough edges.

How to use it well

It best suits simulation engineers, technical artists, and researchers producing cloth, soft-body, rod, rigid-body, or granular animation on NVIDIA-equipped workstations or remote GPU hosts. Build scenes and constraints in Blender, iterate on materials and global parameters, checkpoint long runs, then bake approved motion for downstream rendering. Use JupyterLab for headless sweeps and batch variants. Keep MCP local and review agent actions. Choose another tool when the requirement is real-time interaction, arm64 deployment, non-NVIDIA compute, or a general renderer and content-authoring suite.

Technical notes+

Cargo.toml defines a Rust 2021 workspace with five crates covering formats, core logic, PyO3 bindings, a Tokio server, and the CUDA solver driver. Its release build produces solver and server binaries plus a directly loaded PyO3 cdylib, with no maturin wheel step. pyproject.toml configures pytest across frontend/tests, crates/ppf-cts-py/tests, and addon_host_tests, plus Ruff for Python 3.11. docs/blender_addon/workflow/index.md documents the Transfer, Build, Run, Fetch, and Bake pipeline. docs/blender_addon/connections/index.md specifies CBOR envelopes, TCMD framing, TCP transports, and local or remote deployment modes. docs/blender_addon/security.md records trust-on-first-use SSH behavior, loopback scoping, Docker port exposure, plain-text connection profiles, and an unauthenticated MCP server with arbitrary code-execution tools.

Observed

License
Apache License 2.0, permitting commercial and proprietary use.
Primary implementation
Rust 2021 workspace for formats, core logic, Python bindings, server, and solver, with a Python Blender front end.
Packaging
Docker image and self-contained Windows executable are provided; the PyO3 extension is loaded directly rather than installed as a wheel.
Interfaces
Blender add-on, documented Python API, JupyterLab workflow, TCP solver protocol, and local MCP server.
Platform support
Linux through Docker or local and remote hosts, plus Windows 10/11 native or Docker; x86 and NVIDIA CUDA 12.8 or newer are required, while arm64 is unsupported.
Testing structure
Pytest targets cover the frontend, PyO3 bindings, and add-on host tests; separate Blender and example workflows are described.

Read from README.md, Cargo.toml, pyproject.toml, docs/blender_addon/index.md, docs/blender_addon/gallery.md, docs/blender_addon/glossary.md, docs/blender_addon/security.md, docs/blender_addon/tutorial.md, docs/blender_addon/troubleshooting.md, docs/blender_addon/llm_transparency.md, docs/blender_addon/gallery_mcp_prompt.md, docs/blender_addon/reaching_the_author.md, docs/blender_addon/workflow/index.md, docs/blender_addon/connections/index.md.

What it can do

  • Resolve contact collisions between fabric shells

    3D shell geometry data and simulation parametersPenetration-free contact forces and positions

  • Simulate cloth physics with solid object interactions

    Cloth mesh data and solid geometryReal-time cloth deformation and collision response

  • Process massive-scale contact problems using GPU acceleration

    Contact geometry data up to 180M contact pointsSolved contact forces and displacement vectors

  • Simulate rod-based physics interactions

    Rod geometry parameters and boundary conditionsRod deformation and contact response data

  • Generate fashion garment draping simulations

    Garment pattern geometry and body meshRealistic fabric draping visualization data

  • Resolve multi-body contact constraints in parallel

    Multiple interacting object geometriesConstraint satisfaction solution with contact forces

Tags

physicssimulationgpucontact-solverclothfemrustpython

Tech Stack

PythonRustDocker

Media

PPF Contact Solver

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.