Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Introduction

A local 20B model solves 52 of 75 design-rule-verified layout tasks in this editor’s command API. The editor itself runs in your browser.

Reticle is an editor for very large hierarchical 2D layout scenes, the kind a chip’s physical design is made of. It renders and edits integer-coordinate geometry (rectangles, polygons, and paths on named layers) organized into cells, instances, and arrays. A cell placed thousands of times expands to billions of leaf shapes that stay browsable, because the hierarchy is never flattened for viewing: the renderer pays for what is on screen rather than for the flattened count. That is architecturally supported, not fps-benchmarked. No frame-rate figure for a billion-leaf design has been measured, so none is claimed here; the figures that have been measured, and the commands that reproduce them, are in Rendering and docs/PERF.md. It is written in Rust and compiled to native and to WebAssembly from one codebase.

Three things you can do with it

Open and share real chips in a browser. Import a GDSII, OASIS, CIF, DXF, Magic, or ZIP layout (any of those also accepted .gz-compressed) and browse it at interactive speed with nothing installed: open a local file, drop one onto the window, or pass ?gds=<url> to load a stream from a link. A session can be made read-only and shared, so a reviewer opens the exact view you are looking at and pans it themselves without being able to change it.

Generate verified structures from language. Six parameterized generators (a guard ring, a via farm, a pad ring, a seal ring, a density fill, and a probe-able test structure) turn a few numbers into structure that would otherwise be drawn by hand. Each is DRC-clean by construction against the SKY130 subset, checked by a property test that runs every generator over 400 random valid parameter sets and asserts zero design-rule violations. The same six surface three ways from one schema: the Generate panel in the app, one MCP tool per generator, and the generator tasks in the benchmark. See Layout generators.

Benchmark agents on physically verified tasks. A serializable command API exposes every edit, and a propose-verify-correct harness makes a model build layouts under the real design-rule and connectivity checks, so a task passes only when an objective checker accepts it. The suite is 95 tasks across five tiers at v0.7.0; a bare local 20B model driven by Reticle’s own loop passed 52 of the 75 tasks of the v0.4.0 suite, an older and smaller task set that is named here because a score is only meaningful against the suite it was measured on. An agent system such as Claude Code brings its own loop, so its result is not head-to-head comparable with a bare model. See the Agent benchmark suite and Benchmark methodology.

On top of the geometry that carries all of this sit pan, zoom, select, measure, and annotate tools; a full drawing and vertex-editing suite; boolean and transform operations; a design-rule checker; a router; connectivity extraction; GDSII, OASIS, CIF, DXF, Magic, and ZIP import (each also accepted .gz-compressed), GDSII and OASIS export; embedded scripting; and real-time multi-user collaboration.

What is new in v8

v8 widens the surface on every side while keeping the same evidence discipline. The browser bundle is now an installable Progressive Web App whose shell loads offline (Install and offline). A reticle-diff crate and a canvas overlay answer what changed between two versions (Layout diff). Notes anchor to a shape or cell and survive a lossless V1-to-V2 document migration (Comments). The reticle-sync layer now proves several editors’ edits converge to a byte-identical document with per-actor selective undo, tested end to end over a relay; the shipped app still wires one editor publishing to read-only viewers, and the view-only permission holds at both layers (Multi-writer). On the formats side there is LEF/DEF import cross-checked against OpenROAD (LEF/DEF), a documented subset of KLayout .lydrc DRC decks validated against KLayout headless (.lydrc compatibility), a standards-conformant OASIS writer whose output KLayout reads (GDS / OASIS interop), and a second PDK, IHP SG13G2, that every generator runs against DRC-clean (A second PDK). Extraction now recognizes SKY130 MOSFETs and runs a device-level LVS-lite cross-checked against Magic (Device recognition). A second, best-effort vision oracle (llava:7b) corroborates the authoritative checker on a small sample (Multimodal verification). The core read, generate, render, and save paths are exposed to Python as a stable-ABI wheel (Python bindings), and the browser can convert a GDS to a streamable archive in a Web Worker into the Origin Private File System with no server (In-browser conversion).

Why it exists

Reticle works the exact problem a semiconductor tooling team solves: visualizing and editing massive layout geometry at interactive speed. That one problem pulls together performance engineering, computational geometry, GPU rendering, spatial indexing, schema evolution, and distributed collaboration, with a checker-graded agent layer on top.

The north-star

Open a dense chip-like layout of over one million polygons in a browser. Pan and zoom at 60 fps. Run an incremental design-rule check and jump to a violation. Draw a polygon and boolean-union it against a neighbor. Watch a second user’s cursor and edits appear live, and watch an agent build under the same checks a person would.

How this book is organized

The Design chapters walk through each subsystem in dependency order, from the exact-integer geometry core up through rendering, checking, routing, and collaboration. The Automation and agents chapters cover the command API, the verify loop, the layout generators, the MCP server, and the benchmark. The Reference chapters cover how performance is measured, how to use the application, and how to contribute. Every subsystem is a separate crate; see Architecture for the crate graph.