# Configuration Reference
URL: https://pro.rv-grid.com/guides/gantt/reference/configuration-reference/
Source: src/content/docs/guides/gantt/reference/configuration-reference.mdx
Description: Human-readable map of public Gantt config objects.
Public config entry points:

- `GanttPluginConfig`
  - `weekStartsOn?: 0 | 1` controls week header/tick alignment. Omit for Sunday (`0`); set `1` for Monday.
  - `timelinePrecision?: 'day' | 'hour'` controls the default precision for timeline task create, move, and resize interactions. Use `'hour'` with `zoomPreset: 'hour-day'` or `zoom.defaultLevelId: 'hour-day'` for hour-scale planning.
  - `snap?: { unit?: 'day' | 'hour'; workingTime?: boolean }` controls interaction snapping. `unit: 'hour'` keeps interactions on hour boundaries; `workingTime: true` or omitted skips holidays, closed weekdays, and closed `calendar.workingHours`.
  - `calendars?: CalendarEntity[]` can include intraday `workingHours` such as `{ start: '09:00', end: '17:00' }` plus `hoursPerDay` for hour-mode snapping and scheduling.
  - `taskCreateRow?: boolean` shows an opt-in pinned bottom “Add new task” row. It requires `allowTaskCreate: true` and is hidden for read-only or resource-planning views. See [Add Task Row](/guides/gantt/interaction/add-task-row/) for `GanttAddTaskRowPlugin` behavior and `isGanttAddTaskRow()` usage.
- `GanttSchedulingConfig`
- `GanttResourcePlanningConfig`
- `GanttVisualConfig`

## Adaptive Mobile Interactions

Gantt automatically adapts pointer interactions for phones, tablets, and other coarse-pointer devices. There is no mobile-only configuration flag; the same `GanttPluginConfig` works across desktop and touch devices.

Mobile behavior is designed around **select-then-edit**:

- Mouse and trackpad users keep direct desktop interactions for moving, resizing, progress updates, dependency drawing, timeline panning, and split-panel resizing.
- Touch users tap a task bar first to select it and reveal larger resize, progress, dependency, and split handles.
- Dragging a selected task bar moves the task. Dragging a visible handle resizes, updates progress, edits splits, or creates dependencies.
- Plain touch scrolling in the task table or timeline remains scroll-first and should not move, resize, or create tasks accidentally.
- Hidden coarse-pointer handles are not hit-testable until the task is selected or interaction-active, so an edge swipe on an unselected task still behaves like navigation.
- Task editor dialogs switch to a single-column, full-viewport layout on narrow screens with larger controls for touch input.

The Enterprise E2E suite includes a dedicated mobile project using an iPhone viewport. It verifies that unselected task-bar swipes do not mutate dates, tapping selects a task and exposes handles, and the task editor dialog fits a phone-sized viewport.

Canonical definitions:

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

For generated signatures, see [API: Gantt](/api/gantt/).
