This project supplies components and services for the easier creation of svg-based diagrams.
To support such components, the library provides and uses explicit contracts of graphical identity (interface Identifiable) and position (interface Positionable), that using code should implement.
Diagram currently offers text alignment, drag-and-drop-support and arrow components that can attach to explicit points, bounding boxes, or identifiable objects.
Further contributions are welcome.
The available library elements are best learned from our interactive playground.
Install the library via npm:
npm install ngx-emfular-diagram
or adapt your package.json manually to the required version:
"ngx-emfular-diagram": "^1.0.0",
older versions are available under the old package name, ngx-svg-graphics. The latest old version is:
"ngx-svg-graphics": "^3.0.0",
Support is currently offered by the main developer, Susanne Göbel under goebel@uni-koblenz.de.
We are open to contributors. Maybe you would like to write your bachelor's or master's thesis on EMFular? Read our arXiv-paper and get in touch with Susanne Göbel goebel@uni-koblenz.de.
EMFular-diagram is subject to (C) 2026, SoftLang Research Team, University of Koblenz, Faculty of CS, contact Susanne Göbel or Ralf Lämmel. It is provided under the CC BY 4.0 license. Basically, you are free to share and adapt the material as long as you give proper credit to us and our project. Feel free to include EMFular into your research but please cite us.