Search documentation
Search the Foldnano user guide, plugin docs and contributor docs

Interface Reference

This page lists every control in the editor, area by area. Use it to look up a button you don't recognize. The task-oriented pages explain the workflows; they're linked from each section.

Hover over any icon button in the app to see its name in a tooltip, and press ? to show the keyboard shortcut for each control (see Keyboard Shortcuts).

Start Screen

A new, empty document shows Start a new design with Honeycomb, Square and Freeform buttons. Each opens the New Region panel for that type, where you choose its base plane (see Adding a region). A greyed Wireframe card, marked API preview, is for plugin developers: it creates a wireframe region, and hovering it links to the current status of wireframe support.

Below it, or load an existing design is a drop zone (click to browse). It accepts:

  • designs: .fn.json, cadnano .json / .cadnano.json
  • plugins: local plugin .zip files

Top Toolbar

On narrower screens (such as an iPad), the toolbar buttons show only their icons. Hover over one, or press ?, to see its name.

ControlWhat it does
Foldnano (with beta badge)Opens the About dialog: the version and build, What's New (the last 3 months of changes, some with a Learn more link to the guide, and Show earlier updates for older ones), the author, the MIT license, and third-party licenses. A small blue dot before the name means What's New has entries you haven't opened yet, and inside What's New those entries carry the same dot and darker text until you next reload; some major changes are also announced once in a card at the bottom right
New DocumentCreates a new, empty document. With a GitHub repository connected, it asks whether to create a New File in that repository or a Local-Only Design kept in this browser
OpenOpens the Load design files here dialog (see Open dialog)
SaveSaves the working copy to browser storage now
⌄ next to SaveSave menu (see below)
Add RegionStarts adding a honeycomb region (see Adding a region)
⌄ next to Add RegionAdd Honeycomb Region, Add Square Region, Add Freeform Region, Load Cadnano Design as a Region
Auto Staple — [region]Generates staples for the active lattice region. Shown only when the active region is a lattice region. See Creating A Design.
Document nameClick to rename; Enter confirms, Escape cancels. For a file already committed to GitHub, a Rename and Commit dialog asks for confirmation and also commits any uncommitted local changes.
Save statusSee Save status
Agent runs badgeShown while a coding agent may run Python from a linked plugin folder: which folder is connected to which design, the running script, or why runs are paused. × stops agent runs. See Agent Runs.
Undo / Redo arrowsSame as Ctrl/Cmd + Z / Ctrl/Cmd + Shift + Z
CommitShown for GitHub files. Opens the Source Control Changes tab; an amber dot means uncommitted changes.
GitHub / your avatarNot connected: Connect to GitHub. Connected: toggles the Source Control panel. See Saving And GitHub.
Sun / moonToggle dark mode
Bug iconOpens the Error Log (see Error log)
? (circle)Help menu: Workspace help (the ? overlay), plus the User guide, Keyboard shortcuts and Plugin development docs, each opening in a new tab

Save menu

ItemWhat it does
View Saved DocumentsSaves, then opens the Saved Documents page (/toc)
View OligosSaves, then opens this design's Oligo Report
Backups…Lists this design's last 5 backups; compare one with your design, download it as .fn.json, or restore it (see Backups)
Save to GitHub RepoPublishes this design to your connected repository (see Saving And GitHub)
Export as cadnano JSON — [region]Downloads the active lattice region as cadnano JSON (shown only for lattice regions), after listing anything cadnano can't hold. See Exporting cadnano JSON
Export as Foldnano JSONDownloads the full design as .fn.json
Export Oligos of this Part as CSVDownloads the oligo/sequence CSV
Other Save OptionsPlaceholder, currently disabled

Save status

Next to the document name, a colored dot and label show the state of the browser working copy:

IndicatorMeaning
Green dot, time (for example 2 min ago)All changes saved locally
Pulsing amber dot, N unsaved editsAutosave pending; click to save now
Red dot, Save failedThe last save failed; click to retry
Pulsing blue dot, Click to Save LocallyThe design was loaded from a URL and isn't stored yet (see Loading from a URL)

The ⓘ next to it (Storage info) explains that designs are saved in this browser, not on a server, and whether the browser has granted persistent storage (see Persistent storage). When a save fails, a banner with Retry and Download .json also appears (see When saving fails).

Adding a region

Add Region (or one of its menu items) opens the New Region tool panel:

  1. The panel shows the region type.
  2. Choose its Base Plane: Top (XY) (normal points up, Z), Front (XZ) (normal points forward, Y), or Side (YZ) (normal points right, X).
  3. Click Create type Region Here, or Cancel.

With Plugin dev mode on, Add Region offers wireframe regions too, for developers of routing plugins. See Wireframe Plugin APIs.

Load Cadnano Design as a Region opens a dialog where you drop a cadnano .json / .cadnano.json, choose the same Base Plane options, and click Load. The file becomes a new region in the current part.

Open dialog

Open accepts the same files as the start screen. Each dropped file is listed with an action:

  • Foldnano .fn.json: Load opens it.
  • cadnano .json: Open creates a new .fn.json document from it; the original .json isn't changed. When a GitHub repository is connected, Add original to current repo folder also stores the original file there. If the file could be either lattice, you're asked whether it is honeycomb or square.
  • Plugin manifest or local plugin .zip: shows the plugin's details and an Install button (see Plugins For Users).

Loading from a URL

Opening the editor with ?url=<link to a design file> loads that design directly. A cadnano file doesn't record its lattice; when its helix length fits both honeycomb and square and its crossovers don't settle it, the editor asks. Add &lattice=honeycomb or &lattice=square to the link to answer in advance. It isn't stored in the browser until you click Click to Save Locally in the save status and confirm Save to Browser in Save this design to your browser?. To download a copy instead, use the Save menu exports.

Icon Rail

The narrow column on the far left opens side panels:

IconPanel
Pull-request arrowSource Control (GitHub files, changes, and history; see Saving And GitHub)
BlocksPlugins (see Plugins For Users)
Plugin iconsPanels added by enabled plugins, such as Script Lab

Click an active icon again to close its panel.

Viewer Toolbar

The toolbar row below the top toolbar belongs to whichever viewer you last worked in. A badge on its left names that viewer. When the left pane is active, a Plane / 3D toggle switches it between the plane view and the 3D view.

Strand view toolbar

Reset view (arrows pointing inward) fits the strand view back to its default zoom.

Mode holds the tools: Pan, Select, Draw strands, Break strand, Skip bases, Insert bases, Paint oligo, Apply modification, Assign sequence, and Split region. See Editing Tools.

View:

ControlWhat it does
S badgeScaffold sequence indicator: green when every scaffold's sequence is applied and current, red when it needs re-applying. Click it to toggle the scaffold highlight. See Editing Tools.
Highlight strands (highlighter)Highlight and Warnings menu (see Selection)
Hide strands (crossed eye)Hide all crossovers, only unconstrained crossovers, or sequence. Hidden crossovers leave labeled marks
Circular Scaffold MapOpens the Circular Scaffold Map panel. Disabled until an oligo is marked as scaffold.
Show / Hide RBS blocksShades the rigid blocks that rigid-body simulation treats as single bodies
PNGDownloads the strand view as a PNG image
SVGDownloads the strand view as an SVG, including sequences

Edit (all act on the current strand selection):

ControlWhat it does
Align free ends leftMoves the selected free ends to the leftmost selected position
Justify selected segment endsAligns the left ends of two or more selected segments to the leftmost one and their right ends to the rightmost one
Align free ends rightMoves the selected free ends to the rightmost selected position
Delete selection (trash)Same as Delete / Backspace
Duplicate selected oligosSee Duplicates And Repeat Groups
Duplicate as linked mirror copiesSee Duplicates And Repeat Groups

The align buttons work in the Select tool and move free ends only (never ends joined to a crossover). They're enabled only when the move is possible for every selected end at once, and the whole alignment is one undo step. See Aligning ends for which ends move and a worked example.

Length (labeled with the active region's name):

ControlWhat it does
Trim unused lengthShortens the active region to the smallest length that still fits its strands, rounded up to the lattice step (21 bp honeycomb, 32 bp square), and never below two steps
# bps fieldNumber of base pairs to add (steps by the lattice step)
Extend region lengthAdds that many base pairs to every helix in the active region

On the right, press ? for help is a reminder of the workspace help (shortcuts plus an explanation of each control).

Plane view toolbar

ControlWhat it does
Reset viewFits the plane view back to its default zoom
ModePan, Select, Draw (see Views And Regions)
Delete selected helicesDeletes the selected helices; in lattice regions only empty ones are removed
Distribute in a circleFreeform only: spaces three or more selected perpendicular helices evenly on a circle around their centre, keeping their order and roll
Distribute in a circle, facing the centreSame, and rolls each helix so roll 0 points at the centre
Export as imageDownloads the plane view as a PNG image

3D view toolbar

ControlWhat it does
Reset camera to default 3D viewResets the 3D camera
3D OverlaySwitches the tool panel between 3D View Inspector and 3D Overlays (see 3D Overlays)
MeshWireframe regions only: switches the tool panel to Reference Mesh (see Wireframe Plugin APIs)
ModePan, Select, Draw
View togglesHelix grid (g), NT model (e), Cross-section cursor (c, unavailable while the NT model is shown), Coordinate axis, Base planes (f)
Selection: show only selected strandsLimits the 3D view to the strands selected in the strand viewer
Lock current selectionFreezes that filter on the current selection, so you can keep selecting in the strand viewer without changing the 3D view
Relax / Re-relax / StopRuns, re-runs (after topology changes), or stops the rigid-body simulation (RBS) that relaxes the design
Relaxed layout toggleSwitches between the lattice layout and the relaxed (simulated) layout
Crossover stress toggleColors crossovers by strain
Clear relaxed layoutDiscards the simulation result
ParamsSimulation settings: Spring k, Repulsion C, Friction, Steps, Collisions
ExportImage, GLB, oxDNA, mrDNA, plus Include mirror copies for oxDNA / mrDNA
Performance stats (bar chart)Shows rendering statistics

Status chips at the right edge show Simulation running, Relaxed layout stale, Plane selected, and, after a run, the block count and RMS error.

When a design has no assigned sequence, oxDNA export first opens No Sequence Data: unassigned double-stranded positions are filled with random complementary bases, and you choose the base for single-stranded positions (T by default, or A, C, G, Random), then click Export.

See Simulation And Export for the workflows.

Tool Panel

A floating panel on the right shows the options of the current tool or view. Its heading names it: Selection Tool, Paint Tool, Modification Tool, Sequence Tool, Skip Tool, Insert Tool, New Region, Circular Scaffold Map, 3D View Inspector, 3D Overlays, or Reference Mesh.

  • Drag the heading to move the panel between the top and bottom of the window, or double-click it to flip position.
  • The › button collapses it to a small tab; ‹ expands it again.

The per-tool panels are described on Editing Tools and Selection. The view panels are below.

Circular Scaffold Map

A QC view of how staples bind the scaffold (explained in Selection And Highlighting). Draws each scaffold as a circle, with every staple as an arc or chord between the scaffold positions it binds, a radial bar per double-stranded segment (height = segment length), and histograms of segment length and crossover span.

ControlWhat it does
Zoom out / Zoom in / Reset zoomZoom the map (or Ctrl/Cmd + scroll wheel)
Click a stapleSelects that oligo in the strand viewer; hovering emphasizes it on the map
Render as a full circleFor a linear or broken scaffold, draws it as a closed circle (click again to revert)
Histogram bin size (nt)Groups lengths into bins
Histogram max count shownCaps the y-axis so small bars stay visible; reset returns to auto-scale
Download SVGDownloads the map
Copy histogram dataCopies the histogram values as tab-separated text, ready to paste into a spreadsheet

3D View Inspector

SectionControls
RegionsEach region's plane color, name, and helix count; the eye button hides or shows it in 3D
PlanesShow / Hide the design planes in 3D. While shown: name and ID of the plane you clicked; Rotate / Move gizmo mode; origin and normal; Add Plane; Remove Plane (only for a plane no region uses, and never the last plane)
Simulation DiagnosticsAfter a run: blocks, constraints, RMS error, and max overlap

See Views And Regions for plane editing.

Strand View: Rows And Context Menu

  • Region header: click to make the region active; double-click to collapse or expand it. The plane icon on the header switches the left pane to 3D, shows the planes, and frames that region's plane.
  • VH tag (left edge of each row): drag to reorder helices within the region.
  • Cross-region arrows mark connections that continue in another region.
  • The status bar at the bottom right shows details of whatever is under the pointer.

Right-click in the strand view opens a context menu:

OnItems
An oligo or segmentSet as Scaffold / Set as Staple, Delete Oligo
A segmentalso Delete Segment, Copy Segment Sequence
An oligoalso Copy Oligo Sequence

The copy items are disabled when there's no sequence. Set as Scaffold is how you mark the scaffold explicitly (see Mental Model).

Strand view context menu with Set as Scaffold, Delete Oligo, Delete Segment, Copy Segment Sequence and Properties

The context menu on a segment.

Current limitation

The Properties item, and the Paste and Export as SVG items on empty space, are placeholders and don't do anything yet. Use the toolbar SVG button to export.

Status Bar

The strip along the bottom of the editor shows, for a GitHub file:

  • the branch name,
  • unsaved to GitHub (amber dot) when there are uncommitted changes, or ↓ remote ahead when GitHub has newer commits,
  • ? GitHub not checked when Foldnano couldn't check GitHub for newer changes (for example while offline); it checks again by itself when you're back online or return to the tab, or click it to try now. Committing still checks, and shows the conflict options if the file changed,
  • the repository and file path, and the short commit SHA,
  • Backups; click it to open the design's backups (see Saving And GitHub).

With a repository connected but no file open it shows owner/repo · branch · no file open.

Read-Only Tabs

If the same document is open in another tab, this tab shows This file is open in another tab. Editing is disabled. with a Take back control button. Only Pan stays available until you take control; plugins can still run, but their results can't be applied (see Saving And GitHub).

Error Log

The bug icon in the top toolbar opens Error Log, recent errors from this browser, kept locally for troubleshooting. Each entry can be copied as JSON, or use Copy all as JSON to include them in a bug report. Error notifications also offer a View Details link that jumps to the entry.