Signex v0.8.0
⚠️ Licensing notice (added 2026-04-29)This release contained KiCad-derived code (
kicad-parser,
kicad-writer, KiCad netlist exporter) shipped under Apache-2.0
in error. Those parts derive from KiCad's GPL-3.0 source and
should have been released under KiCad's reciprocal terms.From v0.9.0 onwards, KiCad I/O lives in a separate GPL-3.0
companion tool: signex-kicad-import.
The main signex repository is Apache-2.0 clean.See issue #62 for
context. This release stays available for historical use; prefer
v0.9.0
(or later) for new installations. Existing KiCad project files
convert via the companion tool.
The output-and-polish release. Adds the full PDF / BOM / netlist export pipeline, multi-project workspaces, Altium-style dirty tracking, a chrome refactor with the new TabPill widget, hierarchical-sheet rendering parity, and KiCad-parity field autoplace. Every v0.8.x sub-feature ships under this one tag.
Output subsystem
- PDF export — tabbed Export modal (file picker / settings / pan-drag preview), bookmarks per sheet, theme palette aware, DPI hookup, physical-structure tokens
- BOM — Altium-spec preview modal with column picker, variant picker, sort / drag / scroll, options applied on export, format-layer export (CSV / HTML / XLSX-ready)
- Netlist — date + path polish, KiCad-format export, output engine validation
- Unified PDF preview modal — File ▸ Export PDF and File ▸ Print Preview both open the same overlay; legacy
view_pdf_options_dialog+ 12ExportPdfSet*/ExportPdfDialog*variants pruned
Multi-project workspace
- Multiple
.snxprjprojects open side-by-side in the same window TabInfocarriesOption<ProjectId>;active_projectscoped to focused tab- Accent-tinted active project root + per-project Close menu action
- Per-tree-path semantics for project tree actions (right-click on project B with project A active still operates on B)
- Phase 2.5 cleanup — legacy single-project fields removed from
DocumentState(#54, #55, #56)
Dirty tracking + tab right-click menu
- Altium-style
dirty_pathsmodel — closing a tab never prompts; engines park while dirty - Project-close prompts with a Save All / Discard All / Cancel modal listing every dirty file
- Tab bar right-click menu replaces the inline close / undock buttons
Hierarchical sheets
- Child-sheet pins rendered as Altium-style ports (no protruding stubs), inward direction
- Pin labels rotate vertical on top / bottom edges for parity
- Per-sheet stroke / fill colours round-trip and editable from the Properties panel
[[multisheet]]Style preference (with sheet-alpha round-trip fix)- Child-sheet name / filename rendered outside the box per multisheet style
- Inline preset palette under the colour row before opening the picker
- Altium-green default sheet palette
Symbol field handling (KiCad parity)
- Autoplace fields on rotate / mirror — body-bbox classification, full text-height clearance, anchored to selection bbox including pins, two-text-height autoplace clearance, body-edge stack alignment
- Reference and Value rotate independently; rotate / mirror compose with symbol orientation
- Property
justifymirrored under rotation fold and mirror flags - KiCad
GetDrawRotationtoggle parity; symbol field rotation treated as absolute screen angle - Re-autoplace marked fields on load to repair legacy rotations
- Property
justifyparsing defaults to Center per KiCad spec - Pin numbers rotate along the pin axis for vertical pins
- Single em-size used for schematic text (parity with KiCad)
Chrome refactor
- New
TabPillcustom widget — 3-sided borders sharing L / R edges between adjacent tabs, permanent strip baseline, theme-border instead of pure black, drag accent follows theme accent - Modal close button unified across all 11 modals; chrome icon sizes bumped; thicker panel strokes; modal alignment so borders trace rounded corners
- Inactive tab fill is now visible (was theme-bg, blending in)
- New
chrome-catalogcrate + UI iteration workflow doc - Taller top-chrome search bar (24 → 28); narrow Justification labels in Properties
Canvas + engine
- Adaptive multi-level grid that scales smoothly with zoom
- Schematic editor grid style preference
Plumbing
kicad-parser/kicad-writerround-trip per-sheet stroke / fill colours and respect label style for defaultssignex-types::Labelgainsjustify_vto match renderer + parser contract- Engine command surface expanded with multi-project routing