#particles #physical #simulating #force

fjadra

Library for simulating physical forces on particles

3 unstable releases

0.2.1 Dec 11, 2024
0.2.0 Dec 6, 2024
0.1.0 Nov 19, 2024

#1 in #force

Download history 62/week @ 2024-11-13 570/week @ 2024-11-20 1304/week @ 2024-11-27 2485/week @ 2024-12-04 2904/week @ 2024-12-11

7,325 downloads per month
Used in 4 crates (via re_view_graph)

MIT/Apache

89KB
2.5K SLoC

Fjädra 🪽

A library for simulating physical forces on particles, which was heavily inspired by d3-force. Its main use case is to layout graphs (i.e. node-link diagrams)—if you are looking for a pure physics engine, you might want to check out the excellent Rapier and Parry from Dimforge.

[!WARNING] This library is currently under development so the API is still likely to change.


Development is sponsored by Rerun, a startup building
an SDK for visualizing streams of multimodal data.


Design Goals

  • Produce outputs that are comparable to d3-force.
  • Lightweight with only minimal dependencies to allow wasm-bindgen and no_std support.
  • Idiomatic Rust API that still follows the d3 conventions where possible.
  • Performance that allows user interactions.

Forces

We currently support the following forces:

  • Collision on circles (Collide)
  • Centering (Center)
  • Springs (Link)
  • Charge and repulsion (ManyBody)
  • Gravity (PositionX and PositionY)

No runtime deps