Skip to content

Dependencies module (FS/SS/FF/SF) #32

Description

@bart-krakowski

Parent

#25

What to build

Extract the FS/SS/FF/SF event dependency system into a proper module. When registered, the module adds dependency-aware transformation to the write pipeline: moving a predecessor event automatically cascades the required shift to all dependents in topological order.

This module is the reason the Timeline/Gantt view exists as a product. Extracting it from `CalendarCore` into a module also fixes the current architecture where Gantt semantics are baked into the Calendar kernel.

Acceptance criteria

  • `DependenciesModule` plugs into the kernel via the module API (Kernel + module registration API #28)
  • `createDependency(sourceId, targetId, type)` creates a link and validates it does not form a cycle
  • Moving a predecessor cascades the correct shift to all dependents (FS: finish-to-start, SS: start-to-start, FF: finish-to-finish, SF: start-to-finish)
  • Cascade propagates transitively through the dependency graph in topological order
  • `validateEventDependencies()` checks whether placing an event satisfies its predecessor constraints
  • Circular dependency detection rejects the link with a descriptive error before it is committed
  • Removing the `DependenciesModule` causes dependency code to tree-shake out of the bundle

Blocked by

#28

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions