Glyph

View navigation

Shortcut Action
Scroll Trackpad two-finger scroll pans; a mouse wheel zooms at cursor. Ctrl/Cmd + scroll (pinch) always zooms. See "Scroll-wheel behaviour" below if the guess is wrong for your device.
Ctrl/Cmd + Scroll Zoom at cursor (a trackpad pinch gesture, or an explicit Ctrl/Cmd + wheel on a mouse). A pinch follows your fingers: spreading them to twice the distance zooms 2×
Two-finger touch On a touch screen, two fingers pinch to zoom about the point between them and pan as that point moves. A third finger is ignored; lifting a finger ends the pinch without drawing or selecting.
Space + drag Pan
Ctrl + 0 Zoom to fit — if something is selected, fits the selection; otherwise fits the whole active cell
Ctrl + 1 Reset zoom to 100%
< / > Step the snap grid to the next finer / coarser stored preset (Arrange, "Grid presets") — clamps at either end rather than wrapping
View → Go to coordinate… Centre the view on a typed absolute (x, y) in the active display unit (zoom unchanged) — e.g. fly to an aligner mark at x = +45 mm, y = 0 to confirm it landed without scroll-hunting across the wafer.
Alt + ← / Alt + → Step backward / forward through the viewport history — every pan and wheel-zoom gesture commits one frame (debounced ~350 ms). Up to 50 frames are kept; jumping back and then taking a new pan/zoom drops the forward stack, just like a browser. Each tab has its own history.

Scroll-wheel behaviour (a two-finger trackpad scroll pans, not zooms). A plain scroll gesture is classified by its shape: a trackpad's fast train of small deltas pans, a physical mouse wheel's coarse single-step delta zooms — Ctrl/Cmd + scroll (a pinch gesture on every OS) always zooms either way. If the guess is wrong for your device — a mouse whose wheel reports smaller steps than usual, or a trackpad you'd rather have zoom by default — File → Setup → Settings… → Scroll-wheel behaviour offers "Always zoom" and "Always pan" to override the automatic guess.

A blank canvas (no grid, no orange axis cross) while the menus and panels draw. Glyph uses WebGPU when the browser offers it and WebGL otherwise; if the WebGPU path fails on your machine, File → Setup → Settings… → Graphics backend → WebGL and reload (or open the app once with ?renderer=webgl on its address to try it first). The field names the backend in use; the first time WebGPU reports an error (or loses its device) in a session, a warning offers "Use WebGL" directly, which switches and reloads. If the browser offers neither WebGPU nor WebGL (graphics acceleration turned off, or WebGL disabled), the canvas says so — "Glyph needs WebGL or WebGPU to draw the layout" — with what to turn on, instead of drawing.

Bookmarks. View → Bookmarks ▸ "Save bookmark 1…9" stores the current viewport in a slot; "Recall bookmark N" jumps back to it. To overwrite a saved slot use "Save view to slot ▸" (a saved slot's row says it replaces it), and "Clear bookmark ▸" empties one. Nine slots per tab: each open tab keeps its own bookmarks (and its own view and Alt+←/Alt+→ history). They are not saved with the document, and they are cleared when the tab's document is replaced — File → New, a template, or opening a file into the same tab.

**Maximise canvas (Ctrl+\ or F11).** Hides the right-side properties/layers/cells panel and the toolbar so the canvas takes the full window. The menu bar stays so you can toggle out again. Triggered via View → Maximise canvas (hide panels).

Markers (CSV review workflow)

Import a list of points to step through — useful for reviewing DRC findings, inspector notes, or any "look at these N spots" workflow.

  • View → Markers → Import markers from CSV… — accepts x,y per line, with optional label and an optional 4-column bounding box (minX, minY, maxX, maxY). Coordinates are interpreted in the active display unit (nm / µm / mm — File → Setup → Settings). Header rows and # comment lines are auto-skipped — and (since v0.142.6) the skip is disclosed, not silent: an info toast names a detected-and-skipped header, and every row the file can't use is named with its line number and reason behind a Show report action instead of being dropped quietly. A file yielding zero usable rows is refused with the same line-numbered report, mirroring the SREF-CSV importer's behaviour below.
  • F2 / Shift+F2 — step to the next / previous marker. When a check (Run check / F7, a diff, a .lyrdb import, the connectivity check) publishes, the view already frames #1, so the first press steps to #2. After a CSV import, which does not move the view, the first press lands on the marker shown as current without moving, so "waive the marker F2 landed on" waives the one you're looking at. Every press after that steps forward/back normally. A plain point marker recenters the viewport without changing zoom, so you keep your working scale across hops. A marker carrying a bounding box — every DRC violation does — zooms to it instead, with surrounding context, because a 200 nm violation framed against a 5 mm die is invisible otherwise.
  • Each marker draws a numbered crosshair on the canvas; the current marker highlights in the accent colour (orange), the rest amber. Bounding boxes (when present in the CSV) draw as thin rectangles.

Markers are not saved with the .gds — they're a per-session review aid.

One shared list. CSV imports, DRC violations (Arrange), and File → Diff against another .gds… (File I/O) all publish into this same marker list and step with the same F2 / Shift+F2 — so a .gds diff becomes a navigable set of "look at these N spots" markers exactly like a CSV import, without a second stepper to learn. Because it's one list, a CSV import, a diff, an imported .lyrdb report and a connectivity check each ask before replacing markers you already have. A design-rule check asks only when some of the markers shown did not come from a design-rule check; over nothing but its own earlier findings it replaces them without asking.

The grid scales automatically with zoom. Rulers on top and left show world coordinates in the display unit, promoted to the next larger unit when the tick step is large enough that the label gets shorter (a 10 mm chip at fit reads 2 mm, not 2000 µm). When the grid would be coarser than the target spacing, Glyph subdivides it automatically (a lighter sub-minor grid appears at 1/5 of the minor step).


Updated 2026-10-01

Open Glyph — free, no install Your files never leave your computer.
Open Glyph →