Framework-agnostic core
@rifrocket/fabricjs-design-tool owns a single Fabric.js canvas and composes independently-testable managers — viewport, selection, layers, alignment, snapping, and command-pattern history — with zero React dependency.
A real plugin system
Object types, tools, panels, property fields, and export/import pipelines are all registry extension points. Ship your own plugin the same way the 17 built-in @rifrocket/fdt-plugin-* packages do.
A thin React adapter
<DesignEditor preset="default" /> gets you a batteries-included editor in one line, or drop down to <Editor> and useEditor() for full control over plugins, panels, and theme.
Batteries included, or à la carte
17 official plugin packages built on the exact same public registry API a third-party plugin uses — no special internal access, nothing to fork.
shapes-basic20 shape object typesshapes-basic-panelShape-creation UIqrcodeQR code generationsvg-importImport SVG documentsimageImage object typemedia-fieldsShared media property fieldsclipboardCopy, paste, duplicateexport-pdfExport via jsPDFimport-jsonRestore a documenteffects22 stackable effectseffects-panelEffects gallery & stack UIlocal-storageDebounced autosavealignmentAlign & distributesnappingSmart-guide toggledevtoolsEvent log & perf statspan-zoomWheel-zoom & drag-panpagesMulti-page documents
Ready to build?
Install what you need, skip what you don't — every package is independently installable.