Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

Signex — schematic editor

Signex

Open-source, AI-first electronics design automation

License Version Rust Wiki Discussions

Features · Screenshots · Building · Roadmap · Wiki · Contributing · License


Signex is open-source EDA tooling built in Rust with GPU-accelerated rendering and an Altium Designer-quality UI — schematic + PCB editor, 3D viewer, simulation, plugin system. Native file formats (.snxsch, .snxpcb) are line-diffable in git and ~5× smaller than the equivalent JSON.

Migrating from KiCad? The optional signex-kicad-import companion tool (GPL-3.0-or-later, distributed independently) converts .kicad_sch / .kicad_pcb / .kicad_pro files to Signex's native formats one-way. Run it once against your project; open the resulting .snxprj in Signex.

Two editions from one codebase:

  • Signex Community (Apache-2.0, free forever) — full schematic + PCB editor, 3D viewer, simulation, plugin system
  • Signex Pro (subscription) — adds Signal AI (Claude-powered design copilot), real-time collaboration, and Signex 365 cloud PLM

Status: Early development — v0.14.0 shipped — the Footprint Editor milestone. The .snxfpt pad + parametric-sketch editor is now enabled: place pads, draw a parametric sketch driven by an Apache-clean Newton-LM constraint solver (19 constraint kinds), and bake to pads / silk / courtyard. v0.14 completes the active-bar tooling (Align / Distribute, Move / Drag, Fill / Region, Text Frame, the selection-filter All toggle) and exposes the full constraint set. The v0.13 clean-room schematic renderer and the Symbol & Library surfaces (unified Active Bar, .snxsym TOML envelope, Library Browser, Pick Symbol / Footprint) carry forward. Join the discussion or check the roadmap.

Features

What works today (v0.1–v0.8):

  • Open native Signex schematics (.snxsch, .snxsym, .snxprj); migrate legacy KiCad files via the signex-kicad-import companion tool
  • Full schematic editing: select, move, wire (W), bus (B), label (L), component placement (P), delete, rotate (Space), mirror (X/Y)
  • Advanced shape tools — Line, Rectangle, Circle, Arc (3-click), Polygon (click-by-click), editable drawing Properties with live preview
  • Copy/paste, undo/redo (100 levels), save back to KiCad format
  • 6 built-in themes with customizable theme editor
  • Altium-style docking panels with drag-to-undock/dock
  • Active Bar — 14-button floating toolbar with dropdown menus
  • Context menu, in-place text editing (F2), selection filter
  • Properties panel with context-aware field editing, Parameter Manager
  • Multi-window editing (v0.7) — undock any tab into its own OS window and edit it independently; each window keeps its own pan/zoom, selection, and undo/redo history
  • ERC validation (v0.7) — 11 Altium-style rules including cross-sheet hierarchy checks and net-label conflicts; Messages panel with click-to-zoom
  • Annotation (v0.7) — four modes, review-and-confirm dialog, lock/unlock per designator, project-wide consistency
  • F5 net-color palette, F8 ERC, F9 AutoFocus (dim unrelated objects)
  • Pin connection matrix (12×12, per-cell severity override)
  • Lasso + Inside/Outside/TouchingLine selection modes (Shift+S to cycle)
  • Native .snxsch / .snxpcb formats — TOML envelope + TSV bulk blocks, line-diffable, ~5× smaller than JSON, single file per design
  • 60fps pan/zoom on schematics with 500+ components
  • Output (v0.8) — PDF export with bookmarks + theme palette, Altium-spec BOM preview with column/variant pickers and CSV/HTML/XLSX export, KiCad netlist export, unified Print Preview / Export PDF modal
  • Multi-project workspaces (v0.8) — multiple projects open side-by-side, per-tab project scoping, accent-tinted active project root
  • Altium-style dirty tracking (v0.8) — closing tabs never prompts; project-close lists every dirty file with Save All / Discard All / Cancel
  • Hierarchical sheet polish (v0.8) — Altium-port-style child-sheet pins, per-sheet stroke/fill colours, multisheet style preference
  • TabPill chrome refactor (v0.8) — 3-sided shared borders, theme-aware inactive fill, drag accent from theme

What's next:

VersionMilestone
v0.9Apache-clean cutover — native .snxsch / .snxpcb formats, KiCad I/O moved to optional signex-kicad-import companion
v0.10Library Browser tab scaffold — read-only .snxlib table
v0.11Library & Polish — full DBLib model, SCH Library editor, Component Preview, picker + auto-mount, distributor adapters
v0.13Symbol & Library — clean-room schematic renderer, unified Active Bar in the symbol editor, .snxsym TOML envelope (footprint editor hidden)
v0.14Footprint Editor — .snxfpt pad + parametric-sketch editor enabled, Newton-LM constraint solver (19 kinds), Align/Distribute/Move/Fill/Text tooling
v1.0Community Preview — schematic-only release
v2.0–v2.2Community Release — full PCB editor
v3.0Pro Release — Signal AI + collaboration
v4.0Unified simulation view with SPICE, EM, thermal
v5.0Signex 365 cloud PLM

Screenshots

Active Bar with power port dropdown and Properties panel
Active Bar with dropdown menus, Selection Filter tags, Properties panel with document options

More themes

Catppuccin Mocha theme GitHub Dark theme
Solarized Light theme
Catppuccin Mocha, GitHub Dark, Solarized Light — 6 themes built in, fully customizable

Architecture

signex/
├── crates/
│   ├── signex-app/       # Main binary — Iced 0.14 application
│   ├── signex-types/     # Domain types — NO rendering deps
│   ├── signex-render/    # wgpu rendering (types → Canvas draw calls)
│   ├── signex-widgets/   # Reusable Iced widgets (tree view, icon button)
│   ├── kicad-parser/     # S-expression parser (.kicad_sch/.kicad_pcb/.kicad_sym)
│   └── kicad-writer/     # S-expression serializer (write KiCad format)
└── Cargo.toml

Design principles:

  • KiCad compatibility first. Open existing KiCad projects, save back losslessly. No proprietary format.
  • Elm architecture. Iced's Message -> update -> view cycle. No interior mutability.
  • Multi-window by default. Built on iced::daemon; every undocked tab gets its own engine + canvas keyed by window id, so two schematics can be edited in parallel without cross-talk.
  • Nanometer coordinates. i64 nanometers internally; exact in both metric and imperial.
  • Canvas for schematic, Shader for PCB. CPU tessellation for schematics, GPU instanced rendering for 100K+ PCB elements.
  • Types crate has zero rendering deps. Clean separation between domain and display.

Hardware Requirements

Signex uses wgpu for hardware-accelerated rendering and expects a modern GPU with effective Vulkan 1.1 (Linux), DirectX 12 (Windows), or Metal (macOS) support. In practice this means a GPU released around 2014 or later — Intel HD Graphics 4400+, NVIDIA GeForce 600-series and newer, AMD Radeon HD 7000-series and newer, or any Apple Silicon Mac.

Older GPUs that only expose legacy OpenGL may still launch the app via the fallback path, but expect rendering glitches such as overlapping panels and broken layout — these GPUs are not supported.

Building

Prerequisites: Rust 1.80+ and a GPU supporting Vulkan, Metal, or DX12.

git clone https://github.com/alplabai/signex.git
cd signex
cargo run -p signex-app          # Run
cargo test --workspace           # Test
cargo clippy --workspace -- -D warnings  # Lint

Roadmap

MilestoneVersionStatus
Scaffold — Iced shell, panels, themes, dock systemv0.1Done
Parser — KiCad format read/write, domain typesv0.2Done
Canvas — wgpu pan/zoom/grid, Altium-style camerav0.3Done
Schematic Viewer — render all elements, multi-sheet navv0.4Done
Schematic Editor — select, move, wire, undo/redo, savev0.5Done
Full SCH Editor — copy/paste, labels, components, Active Barv0.6Done
Validation + Multi-Window — ERC, annotation, pin matrix, undockable tabsv0.7Done
Output — PDF, BOM, netlist, multi-project workspaces, dirty trackingv0.8Done
Native file formats — .snxsch / .snxpcb TOML+TSV; KiCad I/O via signex-kicad-import companionv0.9Done
Library Browser tab — read-only .snxlib tablev0.10Done
Library & Polish — full DBLib model, SCH Library editor, Component Preview, picker + auto-mount, distributor adaptersv0.11Done
Symbol & Library — clean-room schematic renderer, unified Active Bar in symbol editor, .snxsym TOML envelopev0.13Done
Footprint Editor — .snxfpt pad + parametric-sketch editor, Newton-LM solver (19 constraints), Align/Distribute/Move/Fill/Text toolingv0.14Done
Community Preview — schematic-only editorv1.0
PCB Viewer — GPU rendering, layers, cross-probev2.0
PCB Routing + DRC + Outputv2.1–v2.2
Community Release — full schematic + PCB editorv2.2
3D Viewer, Advanced PCB, High-Speed Designv2.3–v2.5
Pro Release — Signal AI + plugins + collaborationv3.0
Simulation — SPICE, EM, thermal, simulation wizardsv4.0–v4.1
Signex 365 — cloud PLM, BOM Studio, ERP bridgev5.0

See docs/ROADMAP.md for the detailed version plan.

Documentation

The Signex Wiki is the user guide — installation, quick start, keyboard shortcuts, feature-by-feature walkthroughs for every v0.1–v0.7 capability (ERC, annotation, multi-window editing, hierarchical sheets, net-color pen, themes, and more), plus an FAQ and roadmap.

Start with Quick Start to open your first KiCad project, or jump straight to Keyboard Shortcuts for the full Altium-compatible reference.

Contributing

Signex is open source and we welcome contributions from everyone — whether you're an EDA professional, a Rust developer, a KiCad user, or someone who just wants to help build a better design tool.

Ways to contribute:

  • Report bugs or rendering discrepancies vs KiCad
  • Add KiCad test fixtures from real projects
  • Implement a feature from the roadmap
  • Fix an open issue
  • Improve documentation

Quick start:

git clone https://github.com/alplabai/signex.git
cd signex
cargo build --workspace
cargo run -p signex-app

See CONTRIBUTING.md for the full guide: branching workflow, crate map, code style, and good first issues.

License

Signex Community Edition is licensed under the Apache License 2.0. The main repository contains no GPL-derived code; Apache consumers (anyone embedding or linking against Signex) get a clean Apache codebase with no GPL aggregation in their build closure.

KiCad migration is provided via the optional signex-kicad-import companion tool, which is GPL-3.0-or-later because it implements KiCad's file format with structure derived from KiCad's GPL-3.0 source. The two projects are distributed independently. See docs/LICENSING.md for the full rationale and the audit trail behind the two-repo split.

Copyright 2026 Alp Lab AI

关于 About

Open-source, AI-first EDA tool — KiCad-compatible schematic and PCB editor built in Rust
altiumedaelectronicsguihardwareicedkicadopen-sourcepcbrustschematicwgpu

语言 Languages

Rust99.2%
Shell0.4%
Python0.2%
WGSL0.1%
Inno Setup0.1%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
970
Total Commits
峰值: 318次/周
Less
More

核心贡献者 Contributors