PySide6 GUI for browsing and generating gLayout pcells.
The catalogue (cells, primitives, parameters, defaults) is introspected at
runtime from the glayout package via discovery.py -- adding or renaming
cells in the upstream repo does not require any changes to this viewer.
- Dockable sub-window interface (
QDockWidgets): cells tree, parameter form, GDS preview (matplotlib), DRC report, LVS report, log strip. - Drag-to-pan and scroll-to-zoom on the preview canvas.
- Theme picker (Fusion light/dark, Solarized, Nord, Dracula, system) with matplotlib retinting.
- Layout persistence in
default_layout.json(ASCII; base64-wrappedQMainWindow.saveState()payload). - DRC via
pdk.drc(...)(klayout) and LVS viapdk.lvs_netgen(...)(magic + netgen). Pre-flight checks for missing tools /PDK_ROOT.
Used as a submodule of a gLayout checkout:
./start_gui.shThe launcher prefers $GLAYOUT_PYTHON, then a gLayout conda env, then
the system python3. It sets PYTHONPATH=<repo>/src and stubs PDK_ROOT
if unset (override PDK_ROOT to point at a real PDK install for LVS).
PySide6, matplotlib, gdstk (in addition to glayout's own deps).