FFalCAD docs

Architecture

FalCAD is one engineering document model with several workbenches on top. A project is not five copies of a board. It is a linked graph with stable identities, explicit source-of-truth rules, versioned operations and validated derived artifacts.

┌──────────────────────────── falcad (app) ─────────────────────────────┐
│  React renderer (one code base for web + desktop)                     │
│  shell · command registry · workbench registry · inspector · panels   │
│  workbenches: schematic · simulation · PCB (2D/3D) · code/HDL · …     │
│  ProjectSession → StructuredDocument (transactions, undo, recovery)   │
│  PlatformAdapter: browser (FS Access / OPFS) | Electron bridge        │
└───────────────┬───────────────────────────────────────────────────────┘
                │ packages (TypeScript sources)
  ┌─────────────┼───────────────┬──────────────┬───────────┬──────────┐
  │ format      │ kernel        │ sim          │ pcb       │ hdl, mcu │
  │ .falcad,    │ netlist, ERC, │ MNA analog,  │ DRC,      │ Yosys/   │
  │ schemas,    │ transactions, │ logic, SPICE │ Gerber,   │ nextpnr  │
  │ migrations  │ templates,    │ export       │ Excellon, │ WASM,    │
  │             │ capabilities  │              │ 3D mesh   │ AVR emu  │
  └─────────────┴───────────────┴──────────────┴───────────┴──────────┘
        ▲ library (symbols, footprints)   ▲ toolchains (manifests, detection, safe execution)

  falcad-cli ── same engines, headless; local MCP server (read-only + proposals)
  falcad-sdk ── extension API; sandboxed extension host; signed packages
  falcad-cloud (private) ── ASP.NET Core, MongoDB, SignalR collaboration hub,
                            resource-based authorization, quotas, audit

Principles in code

Execution modes

A task (simulate, synthesize, compile, export) runs in one of these modes:

Code and designs are never uploaded just to run a task.

See the decision records for the reasoning behind each choice.