Minimal surfaces. Maximum clarity.
A native desktop app wrapping Ken Brakke's Surface Evolver C engine — datafile editor, full command language, and a live 3D viewer in one window. Load, evolve, refine, inspect, export.


Everything in one window
From loading a surface to evolving, refining, and inspecting it — the full workflow without leaving the app.
Live 3D Viewer
WebGL mesh visualization powered by Three.js. Three render modes — solid, wireframe, and X-ray — with per-element colors, interactive vertex picking, and orbit controls.
Full Command Language
Every Surface Evolver command works in the built-in CLI — iteration, hessian analysis, macros, quantity and constraint definitions. If the original engine supports it, you can run it.
Built-in Datafile Library
25+ bundled .fe example files — cube, sphere, octahedron, catenoid, Kelvin-Phelan, knotty, and more — ready to load from the file pane.
Evolve & Refine
Iterate gradient descent, refine, equiangulate, vertex-average, and pop — from the Run menu or keyboard. Energy, area, and mesh counts update live in the titlebar.
Session Persistence
Surfaces are auto-snapshotted between sessions. Reopen the app and your evolved surface comes back — no manual save required.
Truly Native
A real desktop window with a native menu bar and keyboard shortcuts — no browser, no server. The C engine is driven directly over FFI, and exports land in your Downloads folder.
Three panes. One workflow.
Load a surface on the left, evolve it in the middle, watch it transform on the right.
Your surfaces, organized
- Browse the built-in library of 25+ .fe example files
- Upload your own datafiles — they sit alongside the bundled ones
- Open several files as tabs and switch between them
- Auto-restores your evolved surface on startup
Edit the datafile, drive the engine
- Syntax-highlighted .fe editor with Save & Reload
- CLI with the complete Surface Evolver command language — g, r, hessian, macros, quantity definitions
- Run-menu shortcuts: iterate ⌘G, refine ⌘R, equiangulate ⌘U, vertex average ⌘E
- Export the current surface as .fe or an exact-state .dmp
See it evolve in real time
- WebGL mesh rendered with Three.js as it evolves
- Solid, wireframe, and X-ray modes with native SE per-element colors
- Click a vertex to inspect coordinates, constraints, and flags
- Panels for named quantities, energy breakdown, and physics settings
Download Surface Evolver
Free and open source. No account required. Unsigned builds — you may need to approve the app on first launch.
Build from source for other configurations.