Skip to main content

Packages and plugins

One owner for each capability and the reason packages stay focused.

PackageOwns
@lupinum/board-coreNodes, camera, grid, selection, hierarchy, commands, validation, JSON Canvas, events
@lupinum/vue-boardDOM input, reactive adaptation, rendering, default chrome, minimap subpath
@lupinum/board-connectionsEdge state, commands, persistence, routing, hit testing, optional Vue layer
@lupinum/board-historyRuntime undo and redo roots
@lupinum/nuxt-boardAuto-import and style registration

Plugins install only during construction and expose one named API. The plugin tuple controls engine typing; importing a package alone does not augment every engine.

First-party plugins can participate in the same candidate transaction as core. For example, deleting a node and its incident edges commits atomically. Applications should not build generic plugins against the unsupported internal ABI.

The first-party packages use one lockstep release version. That keeps their internal ABI exact while applications consume only the supported public APIs.