QuantumSketch is an HTML5 Canvas based Feynman diagram editor.
- TypeScript implementation
- Direct manipulation (select, drag, snap, resize)
- DSL/script engine for fast diagram generation
- Export to TikZ / SVG
- Undo / Redo and clipboard operations
https://katagiriso.github.io/QuantumSketch/
- Install dependencies
npm install- Build
npm run build- Open
docs/index.htmlin your browser
npm run watch
npm run build
npm run gen:allinone- Select / box-select / multi-select (
Shift+Click) - Vertex-first drag behavior for connected graph editing
- Propagator endpoint detachment with
Alt+Drag - Loop radius direct handle on canvas
- Grid/vertex snap feedback while drawing
- Group / Ungroup (PowerPoint-like behavior)
- Zoom with mouse wheel
- Pan with
Space + Drag(or middle mouse drag) - Responsive canvas layout
Ctrl/⌘ + C / X / VCtrl/⌘ + Zundo,Ctrl/⌘ + Shift + ZorCtrl/⌘ + YredoCtrl/⌘ + Squick save to browser localStorage (quantumSketch.quickSave.latest)
Supports both quick command input and multiline script execution.
start x y/move x yline direction length [particle|style]prop direction length [particle|style]loop radiusbranch,next,join,join_mode
line x1 y1 x2 y2 [particle|style]loop x y radius [style] [beginAngle] [endAngle]
template qed_boxtemplate qed_vertextemplate qed_vactemplate penguintemplate comptontemplate s_channeltemplate t_channeltemplate triangletemplate w_exchangetemplate bhabha_ttemplate sunsettemplate double_boxqed_se x y lengthqed_vp x y length
- TikZ text export
- SVG text export
- SVG download
- IDs are re-synchronized on load to avoid collisions.
- Selection state is unified around selected-elements ordering.
MIT