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

BudgetNode (class)

PM Budget node: tracks project budget and costs. Dollar sign icon with budget vs actual comparison.

MemberKindDescription
string BudgetNamePropertyGets or sets the budget name.
decimal PlannedBudgetPropertyGets or sets the planned budget.
decimal ActualCostPropertyGets or sets the actual cost.
string CurrencyPropertyGets or sets the currency.
BudgetNode()MethodInitializes 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).

MemberKindDescription
List<TaskSchedule> SchedulesPropertyGets or sets the schedules.
int ProjectDurationPropertyGets or sets the project duration.
List<TaskNode> CriticalPathPropertyGets or sets the critical path.
void Calculate(IReadOnlyList<SkiaComponent> components, IReadOnlyList<IConnectionLine> lines)MethodComputes 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.

MemberKindDescription
string TaskNamePropertyGets or sets the task name.
float SlackPropertyGets or sets the slack.
int DurationPropertyGets or sets the duration.
CriticalPathNode()MethodInitializes 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.

MemberKindDescription
string DeliverableNamePropertyGets or sets the deliverable name.
string DeliveryDatePropertyGets or sets the delivery date.
bool IsApprovedPropertyGets or sets the is approved.
DeliverableNode()MethodInitializes 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.

MemberKindDescription
string DependencyTypePropertyGets or sets the dependency type.
int LagDaysPropertyGets or sets the lag days.
string FromTaskPropertyGets or sets the from task.
string ToTaskPropertyGets or sets the to task.
DependencyNode()MethodInitializes 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.

MemberKindDescription
string TaskNamePropertyGets or sets the task name.
string StartDatePropertyGets or sets the start date.
string EndDatePropertyGets or sets the end date.
int PercentCompletePropertyGets or sets the percent complete.
GanttBarNode()MethodInitializes a new instance of the GanttBarNode class.

GanttRow (class)

A single row in the Gantt timeline (task bar).

MemberKindDescription
string NamePropertyGets or sets the name.
int StartDayPropertyGets or sets the start day.
int FinishDayPropertyGets or sets the finish day.
float PercentCompletePropertyGets or sets the percent complete.
bool IsCriticalPropertyGets or sets the is critical.
int DurationDaysPropertyGets 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.

MemberKindDescription
float RowHeightPropertyGets or sets the row height.
float HeaderHeightPropertyGets or sets the header height.
float DayWidthPropertyGets or sets the day width.
float LabelWidthPropertyGets or sets the label width.
bool ShowCriticalPathPropertyHighlight rows on the critical path in a distinct color.
SKColor BarColorPropertyGets or sets the bar color.
SKColor CriticalBarColorPropertyGets or sets the critical bar color.
SKColor ProgressColorPropertyGets or sets the progress color.
SKColor GridColorPropertyGets or sets the grid color.
List<GanttRow> RowsPropertyGets or sets the rows.
string RowsJsonPropertyJSON projection of Rows used for persistence.
GanttTimelineNode()MethodInitializes a new instance of the GanttTimelineNode class.
void SetSchedule(IEnumerable<TaskNode> tasks, CriticalPathCalculator? schedule = null)MethodPopulates 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.

MemberKindDescription
string IssueTitlePropertyGets or sets the issue title.
new string PriorityPropertyGets or sets the priority.
string StatusPropertyGets or sets the status.
string AssignedToPropertyGets or sets the assigned to.
IssueNode()MethodInitializes a new instance of the IssueNode class.

MilestoneNode (class)

PM Milestone: diamond shape.

MemberKindDescription
string LabelPropertyGets or sets the label.
MilestoneNode()MethodInitializes 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.

MemberKindDescription
string PhaseNamePropertyGets or sets the phase name.
string StartDatePropertyGets or sets the start date.
string EndDatePropertyGets or sets the end date.
string StatusPropertyGets or sets the status.
PhaseNode()MethodInitializes a new instance of the PhaseNode class.

PMControl (class)

Base class for Project Management (PM) nodes with consistent sizing and port helpers.

MemberKindDescription
int InPortCountPropertyGets or sets the in port count.
int OutPortCountPropertyGets 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.

MemberKindDescription
string ResourceNamePropertyGets or sets the resource name.
string ResourceTypePropertyGets or sets the resource type.
int AllocationPercentPropertyGets or sets the allocation percent.
decimal CostPerHourPropertyGets or sets the cost per hour.
ResourceNode()MethodInitializes 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.

MemberKindDescription
string RiskDescriptionPropertyGets or sets the risk description.
string ProbabilityPropertyGets or sets the probability.
string ImpactPropertyGets or sets the impact.
string MitigationPlanPropertyGets or sets the mitigation plan.
RiskNode()MethodInitializes a new instance of the RiskNode class.

SummaryNode (class)

PM Summary/Phase: bracketed bar indicating a group span.

MemberKindDescription
string TitlePropertyGets or sets the title.
SummaryNode()MethodInitializes a new instance of the SummaryNode class.

TaskNode (class)

PM Task: rounded rectangle with optional progress bar and title.

MemberKindDescription
string TitlePropertyGets or sets the title.
int PercentCompletePropertyGets or sets the percent complete.
int DurationDaysPropertyGets or sets the duration days.
TaskNode()MethodInitializes a new instance of the TaskNode class.

TaskSchedule (class)