The Rasmah GUI
Overview
Everything in this Handbook so far has been code. Rasmah also ships a graphical interface — a browser-based front end over the same Julia engine — so a model can be built and solved by pointing and clicking instead of typing.
The GUI is not a separate program with its own rules. Every click records the equivalent Julia call, and the interface can show the running Julia script at any moment. That makes the GUI and the API two views of the same model: start in the GUI to sketch an idea, export the script to keep it under version control, or round-trip between the two. The whole CAD → mesh → simulation pipeline is reachable from either.
The workspace pipeline
The interface is organized as a left-to-right pipeline of three workspaces, matching the order the Handbook itself follows:
- Geometry — create primitives, sketches, booleans, and transforms to build the part (the chapters Primitives, SDFs, and CSG through Assembly & registration).
- FEA — select faces, define loads and boundary conditions, pick a material, mesh, and solve (the meshing and FEM chapters).
- TopOpt — set the objective and constraints and run topology optimization (the topology-optimization chapter).
Below the ribbon, the window is laid out top to bottom as project tabs, the ribbon (workspace + tabs + tool buttons), the sidebar (model tree + property panel), the 3D viewport, and the status bar (engine, terminal, script). The model tree lists every feature as it is created; the property panel edits its parameters, with a live preview before each change is committed.
Script generation
The payoff of a GUI over a differentiable engine is traceability. The GUI records every action as Julia, so a session is never a black box:
- the Julia Script button shows the accumulated script for the current model;
- the engine terminal exposes the running Julia process directly;
- the AI assistant answers questions about the interface and drives the tools for you, grounded in the same model, tutorials, and API.
Because the script is ordinary Rasmah code, everything written in the earlier chapters applies to it unchanged — it can be edited, version-controlled, and re-run headless.
Next steps
The GUI is a convenience layer over the API; there is no separate "GUI language" to learn. To use it well, read the chapters for the workspace you are in, and keep the Geometry & modeling chapter handy as the foundation of the whole pipeline.
