Gantt-domain event-sourcing: Chart-as-Aggregate (Tasks + Dependency-Kanten sind EIN Aggregat mit harten Invarianten — Finish-to-Start-Constraint, Zyklenfreiheit). Commands/events, ganttAggregate, ganttProjection, createGanttStore. Built on @bimetal/event-
Gantt-domain event sourcing — the data layer (aggregate + projection + store)
of the @bimetal/gantt component family. This package has no UI;
the UI lives in @bimetal/gantt-*-components.
Chart-as-Aggregate: tasks and dependency edges are ONE aggregate with hard
invariants — the FS/SS/FF/SF constraint including lead/lag, cycle-freedom,
dangling-freedom, and an acyclic parent forest. They are enforced in the
aggregate's handle, not as soft rules.
The chart is a singleton root: created once, mutated by task/dependency facts,
never deleted — so undo reverts to a prior whole-chart snapshot.
Installation
npm install @bimetal/gantt-data
What's Inside
Commands and domain events, ganttAggregate,
ganttProjection and createGanttStore — built on
@bimetal/event-sourcing.
Gantt-domain event-sourcing: Chart-as-Aggregate (Tasks + Dependency-Kanten sind EIN Aggregat mit harten Invarianten — Finish-to-Start-Constraint, Zyklenfreiheit). Commands/events, ganttAggregate, ganttProjection, createGanttStore. Built on @bimetal/event-