A standalone 3D modelling application written in Rust, built for game asset work: polygon modelling, a modifier stack, UV unwrapping, rigging, skinning and keyframe animation, with FBX and OBJ in and out.
The interface and workflow aim to feel familiar to users of 3ds Max: the viewport layout, command panel, modifier stack, quad menus and default shortcuts follow the same conventions.
Every action is a command in one registry, so everything the UI does can also be done from a script, the built-in control socket or an MCP client.
- Viewports: four-view layout (14 layouts), orthographic and perspective views, wireframe / shaded / edged faces, ViewCube, viewport clipping, quad menus, transform gizmos, snaps, grid.
- Modelling: standard primitives, an editable polygon object (vertex / edge / border / polygon / element levels, soft selection, extrude, bevel, chamfer, bridge, connect, cut, loops and rings, smoothing groups, material ids, subdivision surfaces, paint deformation), splines and shape tools, booleans and lofts.
- Modifier stack: bend, twist, taper, FFD, TurboSmooth, MeshSmooth, shell, symmetry, edit poly, UVW map, unwrap UVW, skin, morpher, point cache and many more; instanced modifiers, collapse, show end result.
- UVs: map channels on every edit, projections, the Edit UVWs editor (relax, pack, flatten / unfold / pelt mapping, seams, stitch).
- Rigging and animation: bones, IK solvers, skin with envelopes and weight
tools, auto key and set key, controllers and constraints, a curve editor and
dope sheet,
.lxafanimation files. - Files: the documented
.loomscene format (docs/LOOM-FORMAT.md), FBX import and export (meshes, rigs, skin weights, blend shapes, animation), OBJ import and export, import of.maxscene files (nodes, hierarchy, editable poly / mesh geometry with UVs).
Needs a recent stable Rust toolchain.
cargo run -p loom_app --releaseLinux and Windows are built for every commit on main; the newest builds are
on the nightly release.
Cross-compiling the Windows build on Linux:
rustup target add x86_64-pc-windows-gnu
cargo build --release -p loom_app --bin loom --target x86_64-pc-windows-gnu(needs the mingw-w64 toolchain: gcc, binutils, headers and CRT).
| Input | Action |
|---|---|
| Q / W / E / R | Select, Move, Rotate, Scale |
| Middle drag | Pan |
| Alt + middle or left drag | Orbit (Alt + left click removes from the selection) |
| Ctrl + Alt + middle or left drag | Zoom |
| Wheel | Zoom |
| Right click | Quad menu |
| 1 – 5 | Sub-object levels |
| Z / Alt+Ctrl+Z | Zoom extents selected / zoom extents |
| Alt+W | Maximize viewport |
| F3 / F4 | Wireframe / edged faces |
| Ctrl+Z / Ctrl+Y | Undo / redo |
The full key map is in docs/reference/ as tab-separated
tables, one per shortcut group.
- Every run listens on a control socket only its user can open,
$XDG_RUNTIME_DIR/3dloom/<pid>.sock(currentthere is the newest run): one JSON object per line,{"cmd": "<command name>", "args": {...}}, plusping,screenshot,diagnostics,inputand the log requests (see CONTRIBUTING.md).LOOM_CONTROL_PORT=7833 loomalso opens the same protocol on 127.0.0.1. - Every run writes a log to
$XDG_STATE_HOME/3dloom/logs(~/.local/state/3dloom/logs). cargo run -p loom_mcpis a stdio MCP server; its tools are generated from the command registry, one per command, plus the socket's own requests.tools/run-virtual.sh [port]runs the app on a virtual X display (Xvnc or Xvfb), for automated and visual tests.
See docs/ARCHITECTURE.md and CONTRIBUTING.md.
MIT, see LICENSE.
3ds Max is a trademark of Autodesk, Inc. 3dLoom is an independent project and is not affiliated with or endorsed by Autodesk.