How thekannex/mritzing works
Mritzing is a browser-based schematic editor. Users choose parts, place and wire them on a canvas, edit and navigate the schematic, then save or export it. Custom parts can remain local or be submitted to the shared library; administrators review submissions through a PHP API. The graph reflects documented capabilities and sampled call paths; several feature links rely on README documentation because their implementation was not sampled.
Main entry points: toolbar.js Toolbar and panel · app.js App shell · parts-api.js Parts API client · custom-part-editor.js Custom part editor
Components 18
Schematic editor
- App shell
app.js - Canvas input
schematic/input.js - Schematic state
schematic/state.js - SVG renderer
schematic/renderer.js - Toolbar and panel
schematic/toolbar.js - Language strings
schematic/i18n.js
Parts library
- Built-in parts
schematic/library.js - Custom part editor
schematic/custom-part-editor.js - Browser local storage
Project files and export
- Project JSON I/O
schematic/project-io.js - SVG and PNG export
schematic/export.js
Shared library
- Parts API client
schematic/parts-api.js - Admin review dialog
ui/dialogs/admin-parts-dialog.js - Parts API
api/parts.php - Parts file store
api/data
Other components
- Editor user
- Community users
- Administrator
Connections 25
- Editor user → App shell: uses editor
- App shell → Canvas input: binds events
- App shell → Toolbar and panel: builds UI
- App shell → Parts API client: loads shared parts
- Canvas input → Schematic state: edits schematic
- Canvas input → App shell: requests render
- App shell → SVG renderer: renders canvas
- SVG renderer → Schematic state: reads schematic
- SVG renderer → Built-in parts: renders part definitions
- Toolbar and panel → Built-in parts: offers parts
- Toolbar and panel → Project JSON I/O: saves and opens
- Toolbar and panel → SVG and PNG export: starts export
- Toolbar and panel → Custom part editor: opens editor
- Custom part editor → Browser local storage: stores local parts
- Custom part editor → Parts API client: submits part
- Project JSON I/O → Browser local storage: embeds custom parts
- SVG and PNG export → Editor user: downloads image
- Toolbar and panel → Language strings: gets translated labels
- Parts API client → Parts API: requests parts
- Parts API → Parts file store: reads and writes parts
- Parts API → Community users: serves approved parts
- Community users → Custom part editor: creates custom part
- Administrator → Admin review dialog: reviews submissions
- Admin review dialog → Parts API client: requests moderation
- Parts API client → Parts API: sends admin actions