Drag any component from the left palette onto the canvas, or click it once and then click the canvas to place it. The search box filters all 47 components. The four Quick Templates (point-to-point link, 2-degree ROADM node, 4-node ring, submarine segment) drop a complete starter layout you can then edit.
Hover any component: green port dots appear on its edges. Drag from a port dot to another component to create a fiber span. Or press C for the connect tool and click source, then target. Select a span to set its color, width, dash style, routing (straight, elbow, curved), direction arrows, and two labels — use them for distance and loss, e.g. "80 km G.652D" and "17.6 dB".
Text (T), sticky notes (N), rectangles, ellipses, diamonds, lines, arrows, and zones (Z) for marking site boundaries. Drawing tools stay active after each stroke or shape — draw as many as you like, then press V or Esc to return to Select. Double-click any empty spot to drop a text label and start typing immediately. Hold Alt while dragging an element to pull off a duplicate; hold Shift while corner-resizing to keep proportions, or Alt to resize from the center. The middle mouse button pans from any tool. The freehand pen (P) draws ink; when a drawing tool is active, the strip at the top of the canvas sets ink color, stroke width, and a wide semi-transparent highlighter mode. The eraser (E) removes pen strokes, lines, and arrows you drag across — it never touches components or fiber spans, so a quick scrub cannot destroy the topology. Undo (Ctrl+Z) reaches 144 steps deep, covers every action including erasing and property edits, and restores what was selected at the time; typing in a field counts as a single step, not one per keystroke.
The Flowchart & Signal Flow palette category carries the full symbol set: process, decision, start/end terminator, input/output, manual input, document, data cylinder, subroutine, preparation, manual operation, delay, display, on-page and off-page connector references, plus summing junction, gain block, and signal node for control and signal-flow diagrams. Every symbol is resizable, has editable fill, stroke, and dash style, shows green port dots on hover, and connections between symbols automatically arrive as grey directional arrows instead of fiber styling. Build a decision tree, a troubleshooting flowchart, or a transfer-function block diagram next to the optical topology it describes.
Drag near another element and magenta smart guides snap you to its edges and centers. Multi-select (marquee or Shift-click) unlocks align, distribute, same-size and rotate buttons in the right panel — distribute spaces with equal gaps and auto-spaces overlapping items 21 px apart, and the one-click Row / Column buttons snap every center onto a single shared line and space the run evenly in the same action. Ctrl+G groups elements so they move as one; Ctrl+L locks anything you must not disturb; Ctrl+]/Ctrl+[ step the stacking order. Flip H / Flip V mirrors asymmetric symbols (a MUX facing the wrong way, a decision branch) while labels stay readable, and the style painter (Ctrl+Shift+C/V) carries colors, widths, and dash patterns from one element to many. Right-click for duplicate, paste-here, stacking order, and more.
The Convert button (or U) opens the Optical Unit Converter: dBm to mW, dB to linear ratio, wavelength to frequency, channel spacing in GHz to nm at any center wavelength, and ITU C-band channel numbers to frequency and wavelength. It floats over the canvas and can be dragged anywhere, so you can read values while labelling spans.
Save (Ctrl+S) downloads a .json project you can re-open with Open. Snapshot keeps an in-memory restore point for this browser session (one is also taken automatically every two minutes while you work). Export gives PNG at 2x (white or transparent), clean SVG, print/PDF, and copy-PNG-to-clipboard for pasting straight into slides or documents. Press F for distraction-free mode while presenting.
The moon button in the toolbar switches between Light (default), Solarized Light, Solarized Dark, GitHub Dark, and Midnight Blue. Component labels and the grid adapt so designs stay readable on every background, and the chosen theme is stored inside the project file. Exports always render on a clean light background regardless of the on-screen theme, so deliverables stay publication-ready.