#particle #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

#59 in Visualization

Download history 2030/week @ 2024-12-09 3233/week @ 2024-12-16 401/week @ 2024-12-23 653/week @ 2024-12-30 3515/week @ 2025-01-06 5035/week @ 2025-01-13 3216/week @ 2025-01-20 3355/week @ 2025-01-27 4492/week @ 2025-02-03 2746/week @ 2025-02-10 4238/week @ 2025-02-17 2990/week @ 2025-02-24 8119/week @ 2025-03-03 12888/week @ 2025-03-10 9902/week @ 2025-03-17 9677/week @ 2025-03-24

41,083 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