Experiment versions
Fork the live font, compare independent designs, and apply selected changes with undo.
| Status | Experimental; native MCP tools |
|---|---|
| Stability | Versions are session-only and are not saved with the font |
Runebender exposes experiment versions through MCP. The Graph canvas does not yet provide live version controls or embedded experiment proofs. Use a connected MCP client for this workflow.
Start
Install current designbot and runebender. Restart the
editor after updating. In OMP run /mcp reload and connect to the intended editor.
Read design_context, the official type-design guide, and the font’s DESIGN.md.
Use experiment_fork to create named versions and experiment_list to inspect
them. Creating a version snapshots its input; edits stay in the version until
explicitly applied to the root.
The root is the open, unsaved master. For comparisons made at different times, create
a baseline version and fork that twice, so both directions have exactly the same input.
Each branch has its own font and proposal layers. Use branch and master on every
agent operation targeting a version; omitting branch addresses the root.
Example OMP brief:
In master 0, fork baseline, then kern-a and kern-b from baseline. Use the same approved references and text for both. Work only on kern-a in this conversation. Read its kerning revision, propose your pair values with experiment_kern, and produce a specimen of “AVATAR To Wa”. Leave the root unchanged.
A second OMP session can connect to the same editor and work on kern-b. The editor serializes calls; the sessions share the named versions. The MVP does not launch or select AI providers automatically. Keep the provider and model in OMP, and record which model/brief was used in the fork’s reason.
Draw and kern
experiment_fork: root snapshot or child of a named parent; unique name and reason.experiment_list: versions, parents, changed glyphs, kerning status and recent intent.read_glyph,glyph_inventory,proof,propose_edits,proposal_install: accept branch; install a drawing into that branch before applying it to the root.read_kerning: table, group membership and revision.experiment_kern: branch-only pair changes; numeric value sets a pair, null removes it. Existing glyphs or side-specific groups are supported. Group editing is excluded.specimen: a one-page, basic Latin proof at 18, 24, 36 and 48 points. Live outlines use harfrust positioning plus UFO kerning; feature kern is disabled to avoid applying kerning twice. Other feature positioning remains active. Unsupported feature includes or missing characters fail explicitly. This is not a complete compiled-font proof.export_proof(MCP): same snapshot as PNG/PDF, explicit output path, no overwrite.
Review and apply
Use proof, specimen, or export_proof through MCP to compare versions.
Proofs are snapshots: regenerate them after edits.
Use experiment_apply for selective existing glyphs or kerning-only application,
with an explicit keep_structure policy.
Root changes since the baseline produce conflicts before any mutation. Unrelated edits
survive. No operation saves the root to disk: inspect, undo if needed, then Save normally.
Undo last application restores the affected glyphs and/or kerning only if they still match what was applied. It refuses to overwrite newer work. Glyph edits also enter the ordinary glyph undo history; mixing undo routes can cause the transaction undo to refuse, which preserves later work rather than guessing intent.
Limits
Versions are session-only and disappear when the font closes. Use the available
MCP export tools to preserve a version before closing. Confirm exact schemas
with tools/list. Normal font Save persists accepted root changes.
OMP remains the AI client for this increment. Local/cloud process nodes, persistent version bundles, and canvas comparison controls remain future work. The MVP does not merge overlapping conflicts, create absent glyph records, edit groups, or automatically dispatch multiple AI jobs. Family-wide interpolation validation remains a separate review. Keep experimental proofs as files and record accepted decisions in the font project’s design brief.