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


```toml
[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


```rust
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


```rust
// 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


- Crate-local API notes: [api.md]api.md
- Online docs (after release): https://docs.rs/fluid_core

## License


MIT

## Credits


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