focus-flow/lib/scheduler_core.dart

42 lines
1.6 KiB
Dart

// Public library entry point for the ADHD scheduling core.
//
// Import this file from app/UI code instead of importing individual files from
// `lib/src/`. That keeps the public API explicit while allowing the internal
// file layout to change later. At the moment this library exposes pure domain
// objects and scheduling helpers only; it does not perform persistence, UI work,
// notifications, or network calls.
//
// Typical usage:
// 1. Build or load `Task`, `ProjectProfile`, and locked-time objects.
// 2. Create a `SchedulingInput` for the day being planned.
// 3. Call `SchedulingEngine` or one of the action services.
// 4. Store the returned immutable task list and surface notices/changes in UI.
// Public exports for the ADHD scheduling core.
//
// Keep this file small. Implementation details belong in `lib/src/`.
export 'src/models.dart';
export 'src/application_commands.dart';
export 'src/application_layer.dart';
export 'src/application_management.dart';
export 'src/application_recovery.dart';
export 'src/backlog.dart';
export 'src/child_tasks.dart';
export 'src/document_mapping.dart';
export 'src/document_migration.dart';
export 'src/free_slots.dart';
export 'src/locked_time.dart';
export 'src/occupancy_policy.dart';
export 'src/persistence_contract.dart';
export 'src/project_statistics.dart';
export 'src/quick_capture.dart';
export 'src/reminder_policy.dart';
export 'src/repositories.dart';
export 'src/scheduling_engine.dart';
export 'src/task_actions.dart';
export 'src/task_lifecycle.dart';
export 'src/task_statistics.dart';
export 'src/time_contracts.dart';
export 'src/today_state.dart';
export 'src/timeline_state.dart';