# Overview Scheduling
URL: https://pro.rv-grid.com/guides/gantt/scheduling/overview/
Source: src/content/docs/guides/gantt/scheduling/overview.mdx
Description: Configure MSP-style scheduling with task modes, dependencies, constraints, calendars, deadlines, resources, leveling, actuals, and critical path.
The Gantt scheduler computes effective task dates from authored dates, duration, task mode, dependencies, lag/lead, calendars, constraints, deadlines, resources, actuals, split ranges, and optional resource leveling.

Its compatibility target is Microsoft Project scheduling behavior: automatic tasks are dependency-safe, manual tasks preserve authored dates but show warnings, deadlines warn without constraining, and leveling can delay eligible work.

---

## Scheduling Configuration

Configure scheduling policies under `grid.gantt.scheduling`:

```typescript
grid.gantt = {
  scheduling: {
    taskModeDefault: 'auto',
    scheduleFrom: 'project-start',
    projectStartDate: '2026-04-06',
    excludeHolidaysFromDuration: true,
    lagCalendar: 'working-days',
    manualDependencyViolationBehavior: 'warn',
    resourceLeveling: 'warn',
    effortModeDefault: 'fixed-duration',
    progressRescheduling: 'remaining-duration',
  },
};
```

Definition source: `packages/enterprise/plugins/gantt/grid/gantt-plugin.types.ts`.

## Scheduling Warnings

Warnings are reported as scheduler conflicts and projected into rows:

| Code | Meaning |
|---|---|
| `manual-dependency-violation` | A manual task starts before an active dependency allows. |
| `dependency-constraint-conflict` | A dependency cannot be satisfied because an explicit constraint wins. |
| `hard-constraint-conflict` | A must-start/must-finish constraint overrides dependencies. |
| `constraint-window-conflict` | Soft constraint and dependency windows do not overlap. |
| `deadline-missed` | A task finishes after `deadlineDate`. |
| `resource-overallocation` | A resource exceeds capacity on a scheduled working date. |
| `resource-leveling-adjustment` | Auto-leveling shifted a task to remove over-allocation. |

## Performance

Large-project scheduler performance is covered by the Enterprise benchmark suite:

```bash
pnpm --filter @revolist/revogrid-enterprise bench:gantt
```

The benchmark exercises 1,000 and 3,000 task snapshots with dense dependencies and auto-leveling.

---

## Next Steps

Dive deeper into specific scheduling topics:

- **[MSP Compatibility](../compatibility)**: How RevoGrid maps to Microsoft Project.
- **[Engine Logic](../engine)**: The 5-step pipeline and conflict resolution.
- **[Scheduling Direction](../direction)**: Forward (ASAP) vs. Backward (ALAP).
- **[Calendars & Duration](../calendars)**: Working days, holidays, and lag calendars.
- **[Dependencies](../concepts/dependencies)**: FS, SS, FF, SF and lag/lead.
- **[Task Modes](../manual)**: Manual vs. Automatic scheduling.
- **[Constraints](../constraints)**: SNET, MSO, MFO and soft/hard rules.
- **[Deadlines](../deadlines)**: Target dates and missed deadline warnings.
- **[Resources & Assignments](../resources/resources-and-assignments)**: Resource capacity and assignments.
- **[Resource Planning View](../resources/resource-planning-view)**: Resource-centric timeline view.
- **[Resource Leveling](../leveling)**: Auto-leveling logic and priorities.
- **[Effort Modes](../effort-modes)**: Fixed work, duration, and units.
- **[Actuals & Progress](../progress)**: Tracking real-world status.
- **[Split Tasks](../split-tasks)**: Managing work gaps.
- **[Critical Path](../critical-path)**: Slack and schedule analysis.
