Code Layout
Find the current implementation in the runebender repository.
| Status | Alpha |
|---|---|
| Stability | Verify file paths against the current source |
One Application Package
The root runebender Cargo package contains the native editor, headless commands, and reusable font engine.
The browser host is a separate Cargo workspace under web/ and reuses the editor sources.
The complete architecture guide is the source map and change-routing guide.
Where to Start
| Area | Source |
|---|---|
| Executable and CLI | src/main.rs, src/application/cli.rs |
| Native application state and editing | src/application/workspace.rs, src/application/editor/ |
| Views, canvas, and controls | src/application/view/, src/application/widgets/ |
| Platform adapters | src/application/platform/ |
| Canonical document and persistence | src/font/ |
| Agent and live editing contracts | src/automation/ |
| Outline, text, formats, and analysis | src/outline/, src/text/, src/formats/, src/analysis/ |
| Toolkit-independent UI data and workflows | src/ui/, src/workflows/ |
| Browser host | web/ |
The in-memory document is font::project::Project.
Babelfont owns canonical glyph geometry; UFO and Designspace adapters preserve values that are not represented there.
Before Editing
Read the repository’s AGENTS.md for local working rules.
For interface changes, read interface design principles and themes.
Use Development for build and validation commands.