fluid_core 0.1.0

GPU-accelerated fluid simulation core library (wgpu, no winit dependency)
Documentation

fluid_core

GPU-accelerated real-time fluid simulation library for Rust (wgpu backend).

fluid_core is the reusable SDK crate. Window/event-loop code should stay in your app layer.

Install

[dependencies]

fluid_core = "0.1"

What This Crate Provides

  • FluidEngine: main engine entry point
  • FluidConfig: runtime simulation and rendering parameters
  • InputManager: mouse/touch/programmatic input injection
  • RenderContext: borrow-safe GPU context snapshot for UI integration

Quick Start

use fluid_core::{FluidConfig, FluidEngine};

// `window` can be any type implementing HasWindowHandle + HasDisplayHandle.
let mut engine = FluidEngine::new(&window, width, height, &FluidConfig::default()).await;

loop {
    engine.update(dt);
    engine.render()?;
}

Input Injection

// Pointer-based input
engine.input.pointer_down(0, x, y, None);
engine.input.pointer_move(0, x, y);
engine.input.pointer_up(0);

// Programmatic splat
engine.input.inject(0.5, 0.5, 1200.0, -900.0, [1.0, 0.5, 0.0]);

API Reference

License

MIT

Credits

This project is inspired by the original JavaScript/WebGL implementation: https://github.com/PavelDoGreat/WebGL-Fluid-Simulation