Skip to content
Notifications You must be signed in to change notification settings

notaroomba/feasium

Folders and files

NameName
Last commit message
Last commit date

Latest commit

fb9ab23 · · Jan 25, 2026

History

10 Commits
Jan 25, 2026
Jan 25, 2026
Jan 25, 2026
Jan 25, 2026
Jan 25, 2026
Jan 25, 2026
Jan 25, 2026
Jan 25, 2026
Jan 25, 2026
Jan 25, 2026
Jan 25, 2026
Jan 25, 2026
Jan 25, 2026
Jan 25, 2026
Jan 25, 2026
Jan 25, 2026

Repository files navigation


Feasium
Feasium

Interactive 2D finite element analysis (FEA) sandbox with a Rust physics engine compiled to WebAssembly.

Rust WASM React PixiJS

A compact interactive FEA sandbox that combines a performant physics core (Rust → WebAssembly) with a responsive web UI (React + TypeScript) and PixiJS for high-performance 2D rendering and visualization.

Live demo

Key features

  • Static FEA solver (plane stress) implemented in Rust and compiled to WebAssembly
  • Automatic mesh generation (Delaunay-based) from user-defined boundary points
  • Apply forces to nodes or along boundary edges; distribute edge forces to nearby nodes
  • Boundary condition editor: fix/unfix nodes and clear/set BCs programmatically
  • Material property editor (Young's modulus, Poisson's ratio, density, thickness) with sliders and presets (Steel, Plastic, Custom)
  • Real-time auto-solve when material properties or forces change; von Mises stress and strain visualization
  • Node/edge editing tools: add/move nodes, connect edges, selection box, and drag-to-move
  • Visual overlays: mesh, nodes, edges, stress/strain heatmap, deformed shape, force arrows, constraints
  • Background demo generation for landing pages (random polygons, time-varying forces/materials)

Preview

Open the app locally with bun run dev and try:

  • Add and move boundary points to shape objects
  • Regenerate mesh and toggle the mesh visibility
  • Apply forces to nodes or edges and solve static equilibrium
  • Adjust material properties using sliders and try presets
  • Inspect stress/strain visualizations and deformed shapes

Building

Prerequisites

  • Rust and wasm-pack
  • Bun or Node.js

Build the physics engine (WASM)

bun run build:rust

# or
npm run build:rustt

Run the development server

bun run dev

# or
npm run devv

Build for production

bun run build

# or
npm run buildd

Credits

  • Rust + wasm-bindgen for the physics engine
  • React + TypeScript for the UI, TailwindCSS for styling, PixiJS for rendering

License

MIT


notaroomba.dev  ·  GitHub GitHub @NotARoomba

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published