Project management family
API reference for Beep.Skia.PM (17 public types)
Complete API surface of the Beep.Skia.PM assembly: 17 public types with their documented members. Follow the family guide for usage patterns.
Types in this assembly
BudgetNodeclassCriticalPathCalculatorclassCriticalPathNodeclassDeliverableNodeclassDependencyNodeclassGanttBarNodeclassGanttRowclassGanttTimelineNodeclassIssueNodeclassMilestoneNodeclassPhaseNodeclassPMControlclassResourceNodeclassRiskNodeclassSummaryNodeclassTaskNodeclassTaskScheduleclass
BudgetNode (class)
PM Budget node: tracks project budget and costs. Dollar sign icon with budget vs actual comparison.
| Member | Kind | Description |
|---|---|---|
string BudgetName | Property | Gets or sets the budget name. |
decimal PlannedBudget | Property | Gets or sets the planned budget. |
decimal ActualCost | Property | Gets or sets the actual cost. |
string Currency | Property | Gets or sets the currency. |
BudgetNode() | Method | Initializes a new instance of the BudgetNode class. |
CriticalPathCalculator (class)
Calculates the critical path for a project network diagram. Uses forward/backward pass to compute early/late dates and float (slack).
| Member | Kind | Description |
|---|---|---|
List<TaskSchedule> Schedules | Property | Gets or sets the schedules. |
int ProjectDuration | Property | Gets or sets the project duration. |
List<TaskNode> CriticalPath | Property | Gets or sets the critical path. |
void Calculate(IReadOnlyList<SkiaComponent> components, IReadOnlyList<IConnectionLine> lines) | Method | Computes the schedule from components and connection lines. Lines represent FS (Finish-to-Start) dependencies by default. DependencyNode with LagDays adjusts the dependency timing. |
CriticalPathNode (class)
PM Critical Path node: indicates tasks on the critical path (longest sequence determining project duration). Diamond shape with warning color.
| Member | Kind | Description |
|---|---|---|
string TaskName | Property | Gets or sets the task name. |
float Slack | Property | Gets or sets the slack. |
int Duration | Property | Gets or sets the duration. |
CriticalPathNode() | Method | Initializes a new instance of the CriticalPathNode class. |
DeliverableNode (class)
PM Deliverable node: represents a tangible output or result from a task/phase. Hexagon shape to distinguish from regular tasks.
| Member | Kind | Description |
|---|---|---|
string DeliverableName | Property | Gets or sets the deliverable name. |
string DeliveryDate | Property | Gets or sets the delivery date. |
bool IsApproved | Property | Gets or sets the is approved. |
DeliverableNode() | Method | Initializes a new instance of the DeliverableNode class. |
DependencyNode (class)
PM Dependency node: represents task dependencies with relationship types (FS, SS, FF, SF). Arrow/link style with lag/lead time indication.
| Member | Kind | Description |
|---|---|---|
string DependencyType | Property | Gets or sets the dependency type. |
int LagDays | Property | Gets or sets the lag days. |
string FromTask | Property | Gets or sets the from task. |
string ToTask | Property | Gets or sets the to task. |
DependencyNode() | Method | Initializes a new instance of the DependencyNode class. |
GanttBarNode (class)
PM Gantt Bar node: visual timeline representation showing task duration on a timeline. Horizontal bar with date range and progress indication.
| Member | Kind | Description |
|---|---|---|
string TaskName | Property | Gets or sets the task name. |
string StartDate | Property | Gets or sets the start date. |
string EndDate | Property | Gets or sets the end date. |
int PercentComplete | Property | Gets or sets the percent complete. |
GanttBarNode() | Method | Initializes a new instance of the GanttBarNode class. |
GanttRow (class)
A single row in the Gantt timeline (task bar).
| Member | Kind | Description |
|---|---|---|
string Name | Property | Gets or sets the name. |
int StartDay | Property | Gets or sets the start day. |
int FinishDay | Property | Gets or sets the finish day. |
float PercentComplete | Property | Gets or sets the percent complete. |
bool IsCritical | Property | Gets or sets the is critical. |
int DurationDays | Property | Gets or sets the duration days. |
GanttTimelineNode (class)
Gantt timeline view: renders scheduled tasks as bars over a day grid, highlighting the critical path. Populate with SetSchedule.
| Member | Kind | Description |
|---|---|---|
float RowHeight | Property | Gets or sets the row height. |
float HeaderHeight | Property | Gets or sets the header height. |
float DayWidth | Property | Gets or sets the day width. |
float LabelWidth | Property | Gets or sets the label width. |
bool ShowCriticalPath | Property | Highlight rows on the critical path in a distinct color. |
SKColor BarColor | Property | Gets or sets the bar color. |
SKColor CriticalBarColor | Property | Gets or sets the critical bar color. |
SKColor ProgressColor | Property | Gets or sets the progress color. |
SKColor GridColor | Property | Gets or sets the grid color. |
List<GanttRow> Rows | Property | Gets or sets the rows. |
string RowsJson | Property | JSON projection of Rows used for persistence. |
GanttTimelineNode() | Method | Initializes a new instance of the GanttTimelineNode class. |
void SetSchedule(IEnumerable<TaskNode> tasks, CriticalPathCalculator? schedule = null) | Method | Populates the timeline from tasks, optionally using a computed schedule for dates/criticality. Without a schedule, tasks are laid out sequentially. |
IssueNode (class)
PM Issue node: tracks active problems and blockers in the project. Red alert style with priority indication.
| Member | Kind | Description |
|---|---|---|
string IssueTitle | Property | Gets or sets the issue title. |
new string Priority | Property | Gets or sets the priority. |
string Status | Property | Gets or sets the status. |
string AssignedTo | Property | Gets or sets the assigned to. |
IssueNode() | Method | Initializes a new instance of the IssueNode class. |
MilestoneNode (class)
PM Milestone: diamond shape.
| Member | Kind | Description |
|---|---|---|
string Label | Property | Gets or sets the label. |
MilestoneNode() | Method | Initializes a new instance of the MilestoneNode class. |
PhaseNode (class)
PM Phase node: represents a major project phase containing multiple tasks. Larger container with distinct visual style.
| Member | Kind | Description |
|---|---|---|
string PhaseName | Property | Gets or sets the phase name. |
string StartDate | Property | Gets or sets the start date. |
string EndDate | Property | Gets or sets the end date. |
string Status | Property | Gets or sets the status. |
PhaseNode() | Method | Initializes a new instance of the PhaseNode class. |
PMControl (class)
Base class for Project Management (PM) nodes with consistent sizing and port helpers.
| Member | Kind | Description |
|---|---|---|
int InPortCount | Property | Gets or sets the in port count. |
int OutPortCount | Property | Gets or sets the out port count. |
ResourceNode (class)
PM Resource node: represents a resource (person, equipment, material) assigned to tasks. Displays resource allocation and availability.
| Member | Kind | Description |
|---|---|---|
string ResourceName | Property | Gets or sets the resource name. |
string ResourceType | Property | Gets or sets the resource type. |
int AllocationPercent | Property | Gets or sets the allocation percent. |
decimal CostPerHour | Property | Gets or sets the cost per hour. |
ResourceNode() | Method | Initializes a new instance of the ResourceNode class. |
RiskNode (class)
PM Risk node: tracks project risks with probability and impact assessments. Warning triangle shape with risk level color coding.
| Member | Kind | Description |
|---|---|---|
string RiskDescription | Property | Gets or sets the risk description. |
string Probability | Property | Gets or sets the probability. |
string Impact | Property | Gets or sets the impact. |
string MitigationPlan | Property | Gets or sets the mitigation plan. |
RiskNode() | Method | Initializes a new instance of the RiskNode class. |
SummaryNode (class)
PM Summary/Phase: bracketed bar indicating a group span.
| Member | Kind | Description |
|---|---|---|
string Title | Property | Gets or sets the title. |
SummaryNode() | Method | Initializes a new instance of the SummaryNode class. |
TaskNode (class)
PM Task: rounded rectangle with optional progress bar and title.
| Member | Kind | Description |
|---|---|---|
string Title | Property | Gets or sets the title. |
int PercentComplete | Property | Gets or sets the percent complete. |
int DurationDays | Property | Gets or sets the duration days. |
TaskNode() | Method | Initializes a new instance of the TaskNode class. |