Apache License 2.0

项目介绍

alplabai/signex 是一个托管在 GitHub 上的开源项目,主要使用 Rust 编写,采用 Apache License 2.0 许可证,目前获得 217 个 Star、24 次 Fork。

仓库全名
alplabai/signex
开源许可证
Apache License 2.0
Star 数
217
Fork 数
24
未关闭 Issue
148

README 摘要

Signex Open-source, AI-first electronics design automation Features · Screenshots · Download · Building · Roadmap · User guide · Contributing · License Signex is open-source EDA tooling built in Rust with GPU-accelerated rendering and an Altium Designer-quality UI. Today it is a schematic editor with symbol, footprint and component-library editors, ERC, annotation,…

完整内容见 GitHub 原始 README 或本页 。

常见问题

signex 用什么语言开发?

主要使用 Rust 编写,采用 Apache License 2.0 许可证,目前有 217 个 Star。

signex 可以免费商用吗?

仓库采用 Apache License 2.0 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 signex 的源码?

可以直接克隆仓库:git clone https://github.com/alplabai/signex.git,默认分支为 trunk;安装与运行步骤见仓库 README。

signex 最近还在维护吗?

仓库最近一次更新为 21 小时前,当前有 148 个未关闭 Issue;Star 数为 217,可作为社区活跃度的参考。

关于

Open-source, AI-first EDA tool — GPL licenced or Industry Lead EDA tools compatible schematic and PCB editor built in Rust Language

描述取自 GitHub 官方 API,中文内容由 GitRead 中文社区 编辑团队整理。

简要分析

热度分
269
价值分
130
活跃状态
活跃

语言占比

Inno Setup
Python
Rust
Shell
WGSL

Release

README

Signex — schematic editor

Signex

Open-source, AI-first electronics design automation

License Latest release Rust User guide Discussions

Features · Screenshots · Download · Building · Roadmap · User guide · Contributing · License


Signex is open-source EDA tooling built in Rust with GPU-accelerated rendering and an Altium Designer-quality UI. Today it is a schematic editor with symbol, footprint and component-library editors, ERC, annotation, and PDF / BOM / netlist export. The PCB editor, 3D viewer, simulation and plugin system are on the roadmap, not in the Community Preview. Native file formats (.snxsch, .snxpcb) are line-diffable in git and ~5× smaller than the equivalent JSON.

New here? Install a package (see Download), then follow the User Guide: it takes you from File ▸ New Project to a saved schematic and an exported PDF.

Migrating from a GPL-based EDA tool? The optional import companion repository (GPL-3.0-or-later, distributed independently) converts project files from GPL-based EDA tools to Signex’s native formats one-way. Run it once against your project; open the resulting .snxprj in Signex.

Migrating from Altium? Install the optional signex-altium-import companion (Apache-2.0, clean-room). Then File › Import › Altium Project… converts a .PrjPcb, .SchDoc, .PcbDoc, .SchLib or .PcbLib into a sibling <name>-signex/ folder and opens it. The import lists everything it had to approximate or skip; review that list before you fabricate an imported board.

Two editions from one codebase:

  • Signex Community (Apache-2.0, free forever) — the schematic editor today; PCB layout and routing follow in AI Design, then manufacturing output in the Community Release (see the roadmap)
  • Signex Pro (subscription, planned for the Pro Release) — adds Signal AI (Claude-powered design copilot), plugins, real-time collaboration, and Signex 365 cloud PLM

Status: Early development. v1.0.0-rc.1 (2026-10-29), the first release candidate of the Community Preview (schematic-only), is the latest tag and the last one numbered with SemVer; v0.15.0 (2026-07-23) is the latest stable release. From the next release on, versions are calendar-based, YY.MM.MICRO (for example v26.11.0; see docs/ROADMAP.md §3). trunk carries work past v0.15.0 that may not be in a release yet: a stock library with placeable parts, typed component values with a range filter, ERC completeness rules with waivers and an ERC report, cross-sheet net navigation, project-wide Find and Replace, and in-place text editing. The release plan and the Community Preview exit criteria are in docs/ROADMAP.md. Release candidates are published as GitHub pre-releases; see Download. Join the discussion or check the roadmap.

Features

What works today (v0.1–v0.15, plus the work on trunk since):

  • Open native Signex schematics (.snxsch, .snxsym, .snxprj); migrate legacy files from GPL-based EDA tools via the import companion repository
  • 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 to the native .snxsch / .snxprj formats (.snxsch: TOML envelope + TSV bulk blocks, line-diffable in git; .snxprj: JSON, see why)
  • 7 built-in themes with customizable theme editor
  • Altium-style docking panels with drag-to-undock/dock
  • Active Bar — 13-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, extended since) — 31 built-in rules (RuleKind in crates/signex-erc/src/lib.rs) including cross-sheet hierarchy checks, net-label conflicts, bus checks and completeness checks (part without footprint / value / MPN, unannotated designator, single-pin net, net with no driver, off-grid, …); per-finding waivers that carry a reason and an author; File ▸ Export ▸ ERC Report as .txt, .csv, .json, .html or .pdf (docs/ERC_RULES.md, docs/ERC_REPORT.md)
  • Annotation (v0.7) — four modes, review-and-confirm dialog, lock/unlock per designator, project-wide consistency
  • F5 net-color palette (Altium profile), F8 ERC, F9 AutoFocus (dim unrelated objects)
  • Pin connection matrix (6×6 axes folding the 14 pin directions, per-cell severity override)
  • Lasso, Inside, Outside, Touching Rectangle and Touching Line selection modes (Active Bar select menu)
  • 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, 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
  • TabPill chrome refactor (v0.8) — 3-sided shared borders, theme-aware inactive fill, drag accent from theme
  • Apache-clean native formats (v0.9) — .snxsch / .snxpcb are the canonical format; import of GPL-based EDA tool formats moved to the optional companion tool
  • Component library subsystem (v0.10–v0.11) — Library Browser tab, DBLib row model, SCH Library editor, Component Preview, Pick Symbol/Footprint + auto-mount, DigiKey / Mouser / LCSC / JLCPCB distributor adapters, per-library git version control + History panel
  • Clean-room schematic renderer + Symbol editor (v0.13) — renderer reimplemented against Signex-only specs (docs/RENDERING_RULES.md, IEEE-Std-91); unified Active Bar and TOML .snxsym envelope
  • Multi-unit symbols (v0.14) — part_count, per-unit body geometry and graphics, unit buttons, two-click rect / line / circle + three-click arc
  • Footprint & sketch editor (v0.14) — .snxfpt pad + parametric-sketch editor driven by an Apache-clean Newton-LM constraint solver (19 constraint kinds); bake to pads / silk / courtyard; Align / Distribute / Move / Fill / Text tooling; CPU 3D-body extrude preview
  • Authoritative netlist contract (v0.14) — one connectivity derivation in signex-net (build_netlist / build_project_netlist) consumed by ERC, net-flood, and export; same-name labels + T-junctions merge correctly
  • Configurable keyboard-shortcut profiles (v0.14) — grouped, searchable in-app editor; menu labels sourced from the command table
  • GPU render alignment (v0.14) — signex-gfx aligned to iced’s wgpu 27; the PCB editor draws through the shader widget. The schematic editor still draws on the CPU canvas — its GPU adapter is not mounted yet

What’s next:

Plan Milestone
Community Preview Schematic-only release
AI Design PCB layout from the schematic, routing, and Signal AI as assistant and generator for schematic and board
Community Release Manufacturing output (Gerber, drill, ODB++)
3D Viewer → High-Speed Design 3D Viewer, Advanced PCB, High-Speed Design
Pro Release Licensing and billing, plugins, collaboration
Simulation Unified simulation view with SPICE, EM, thermal
Signex 365 Cloud PLM

Screenshots

Signex schematic editor with a selected symbol and its Properties panel
Active Bar, project tree with native .snxsch / .snxprj files, and the Properties panel for the selected symbol

More themes

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

Graphite: the next interface (design preview)

The next Signex interface, Graphite, in its light and dark themes. These are design previews: Graphite, the Signal AI panel (Assistant and Generator) and PCB layout are in development for the AI Design gate (roadmap); the screenshots above show the app as it ships today.

Schematic editor with the Signal AI panel, Graphite Light Schematic editor with the Signal AI panel, Graphite Dark
Schematic editor: Projects, Properties and Messages docks, the Active Bar, and Signal AI

More Graphite screens

PCB layout with layer stack and DRC, Graphite Light PCB layout with layer stack and DRC, Graphite Dark
Start screen with the Generator, Graphite Light Start screen with the Generator, Graphite Dark
Library Browser, Graphite Light Library Browser, Graphite Dark
Component editor pin map, Graphite Light Component editor pin map, Graphite Dark
Footprint editor with sketch constraints, Graphite Light Footprint editor with sketch constraints, Graphite Dark
Symbol editor, Graphite Light Symbol editor, Graphite Dark
Preferences, theme, Graphite Light Preferences, theme, Graphite Dark
Command palette, Annotate, ERC and BOM dialogs, Graphite Light Command palette, Annotate, ERC and BOM dialogs, Graphite Dark
PCB layout, start screen with the Generator, Library Browser, component, footprint and symbol editors, Preferences and the main dialogs

Architecture

A 17-crate Rust workspace (edition = 2024), an acyclic DAG with signex-app at the apex and signex-types as the shared foundation:

signex/
├── crates/
│   ├── signex-app/            # Main binary — iced 0.14 app (panels, dock, canvas, editors)
│   ├── signex-types/          # Domain types — schematic/PCB/layer/theme — NO rendering deps
│   ├── signex-engine/         # Command / patch / undo engine for schematic edits
│   ├── signex-net/            # Authoritative netlist + connectivity contract
│   ├── signex-erc/            # ERC rule engine (+ signex-erc-dsl)
│   ├── signex-sketch/         # Apache-clean Newton-LM constraint solver + sketch schema
│   ├── signex-bake/           # Sketch → footprint bake (pad / silk / courtyard / mask / …)
│   ├── signex-output/         # PDF / netlist / BOM export pipeline (+ signex-bom)
│   ├── signex-renderer/       # Domain types → render primitives (+ signex-gfx wgpu pipelines)
│   ├── signex-library/        # .snxlib component library — port/adapter model (+ signex-library-server)
│   ├── signex-widgets/        # Reusable iced widgets (tree view, active bar, previews)
│   └── signex-3d-model-importer/  # STEP / WRL importer for 3D body attach
└── Cargo.toml

Design principles:

  • Native .snx* formats first. .snxsch / .snxpcb / .snxprj are the canonical formats (TOML envelope + TSV bulk blocks, line-diffable, ~5× smaller than JSON; the .snxprj project file is the one JSON exception, see docs/architecture/snxprj-format.md). One-way import from GPL-based EDA tools is an optional, independently-distributed companion tool.
  • Elm architecture (MVU). iced’s state → view → Message → update cycle; view is pure, update is the only mutation site and never blocks — all IO returns as a Task. No process-global mutable state.
  • Domain logic in domain crates. Types and engines below signex-app carry zero iced/wgpu deps (Cargo-enforced); connectivity is derived once in signex-net and read everywhere else, never re-derived.
  • 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 — no float EPS comparisons for “same point”.
  • Canvas for schematic, Shader for PCB. CPU tessellation for schematics, GPU instanced rendering (signex-gfx, wgpu 27) for large PCB scenes.

Download

Before downloading, check the hardware requirements. These packages are published for every release from v1.0.0-rc.1 on. Release candidates such as v1.0.0-rc.1 are published as GitHub pre-releases, which the releases/latest link skips: open the Releases page to get one. The latest stable release, v0.15.0, carries a smaller set (x86_64 Linux packages, the aarch64 macOS .dmg, the Windows installers and zips) and needs glibc 2.39.

Platform Package Architecture Use
Windows signex-setup-<arch>-<version>.exe x86_64, ARM64 (aarch64) Run for a guided installation
Windows signex-windows-<arch>-<version>.zip x86_64, ARM64 (aarch64) Extract and run without installing
macOS signex-macos-universal-<version>.dmg Apple silicon and Intel Open and drag Signex to Applications
Linux signex_<version>_<arch>.deb x86_64 (amd64), ARM64 (arm64) Debian or Ubuntu (glibc 2.35 or newer from v1.0.0-rc.1 on): sudo apt install ./signex_<version>_<arch>.deb
Linux Signex-<version>-<arch>.AppImage x86_64, ARM64 (aarch64) Most distributions: make executable with chmod +x, then run
Linux signex-linux-<arch>-<version>.tar.gz x86_64, ARM64 (aarch64) Extract and run without installing
All signex-<version>.cdx.json n/a CycloneDX SBOM: the signex binary’s dependencies for every platform (a superset of any one build), with version and licence
All SHA256SUMS.txt n/a SHA-256 checksums of every file above

From v1.0.0-rc.1 on, the Linux packages (.deb, AppImage, tarball) are built on Ubuntu 22.04 and need glibc 2.35 or newer, so they run on Ubuntu 22.04, Debian 12 and later distributions. Check yours with ldd --version.

First launch

Until release signing is enabled (see docs/RELEASE_SIGNING.md), packages do not carry a trusted publisher or developer signature:

  • Windows: Microsoft Defender SmartScreen may appear. Select More info, then Run anyway.
  • macOS: after opening the DMG and moving Signex to Applications, right-click Signex and select Open on the first launch to bypass Gatekeeper’s unidentified-developer warning.

These workarounds can be removed when Windows signing and macOS signing and notarization land.

Verify a download

Every release includes a SHA256SUMS.txt: take the one attached to the release you downloaded, from the Releases page. Download it next to the package you chose. The checksum file lists every release artifact, so the commands below select the one file you downloaded.

Linux (set file to the exact filename you downloaded):

file='Signex-<version>-x86_64.AppImage'
grep -F "  $file" SHA256SUMS.txt | sha256sum -c -

macOS (set file to the exact filename you downloaded):

file='signex-macos-universal-<version>.dmg'
grep -F "  $file" SHA256SUMS.txt | shasum -a 256 -c -

Windows PowerShell (set $file to the exact filename you downloaded):

$file = "<downloaded-package-filename>"
$expected = ((Select-String -Path .\SHA256SUMS.txt -SimpleMatch "  $file").Line -split '\s+')[0]
(Get-FileHash -Algorithm SHA256 -Path $file).Hash.ToLowerInvariant() -eq $expected

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.97.0 — pinned via rust-toolchain.toml, so rustup installs it automatically; this is also the MSRV (we build and support exactly this toolchain) — and a GPU supporting Vulkan, Metal, or DX12.

On Linux, install the development packages CI uses (Debian and Ubuntu names; mesa-vulkan-drivers supplies a software Vulkan driver for machines without a GPU):

sudo apt-get install -y \
  libxkbcommon-dev libwayland-dev libvulkan-dev \
  libx11-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev \
  mesa-vulkan-drivers

A binary you build yourself links against your own glibc. The glibc 2.35 floor applies to the release packages, which are built on Ubuntu 22.04 for that reason (scripts/check_glibc_ceiling.sh, #1688).

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

Roadmap

Milestone Version / gate Status
Scaffold — Iced shell, panels, themes, dock system v0.1 Done
Parser — external format read/write, domain types v0.2 Done
Canvas — wgpu pan/zoom/grid, Altium-style camera v0.3 Done
Schematic Viewer — render all elements, multi-sheet nav v0.4 Done
Schematic Editor — select, move, wire, undo/redo, save v0.5 Done
Full SCH Editor — copy/paste, labels, components, Active Bar v0.6 Done
Validation + Multi-Window — ERC, annotation, pin matrix, undockable tabs v0.7 Done
Output — PDF, BOM, netlist, multi-project workspaces, dirty tracking v0.8 Done
Native file formats — .snxsch / .snxpcb TOML+TSV; external-format I/O via the import companion v0.9 Done
Library Browser tab — read-only .snxlib table v0.10 Done
Library & Polish — full DBLib model, SCH Library editor, Component Preview, picker + auto-mount, distributor adapters v0.11 Done
Symbol & Library — clean-room schematic renderer, unified Active Bar in symbol editor, .snxsym TOML envelope v0.13 Done
Footprint Editor — .snxfpt pad + parametric-sketch editor, Newton-LM solver (19 constraints), Align/Distribute/Move/Fill/Text tooling v0.14 Done
Editor Fixes — footprint/symbol editor correctness, order-independent netlist, crash-safe persistence, pinned toolchain v0.15 Done
Command Registry & Symbol Units 1.0.0-rc.1 Done (test follow-up #1727 ships in the next release)
Community Preview — schematic-only editor Gate v1.0.0-rc.1 shipped 2026-10-29 (last SemVer tag); next release is CalVer
AI Design — PCB layout from the schematic, routing, Signal AI assistant and generator Gate Next after the Community Preview
Community Release — manufacturing output; full schematic + PCB editor Gate
3D Viewer, Advanced PCB, High-Speed Design Planned
Pro Release — licensing and billing, plugins, collaboration Gate
Simulation — SPICE, EM, thermal, simulation wizards Planned
Signex 365 — cloud PLM, BOM Studio, ERP bridge Gate

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

Documentation

The User Guide takes you from a downloaded package to a saved schematic and an exported PDF, starting with File ▸ New Project. It lives in the repository, so it is versioned with the code and reviewed in pull requests.

In-repo reference docs live under docs/: the command reference, keyboard shortcut file format, main menu bar, ERC rules, ROADMAP.md, LICENSING.md, RELEASE_SIGNING.md, and REPOSITORY_AND_CODEBASE.md. The wiki is no longer the primary guide.

Contributing

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

Ways to contribute:

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

Build and run (Linux needs the packages listed under Building):

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.

Migration from GPL-based EDA tools is provided via the optional import companion repository, which is GPL-3.0-or-later because it implements those tools’ file formats with structure derived from their 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

评论

暂无评论