How gfayrr/tasklace works
Tasklace is currently a UI-independent Gantt scheduling core, not yet a desktop application. Its principal workflow is to validate project data, compute a schedule against working-time rules and dependencies, and exchange the project through native files or JSON/CSV. Other implemented capabilities include shared-project merging and repair, baselines, tag appearance and conflict detection. The graph reflects the core and documented capabilities; some subsystem connections are supported only by the README or SOURCE INDEX, since their implementations were not excerpted.
Main entry points: read-project.ts Project validation · schedule-project.ts Schedule engine · project.ts Project model · task-placement.ts Task placement
Components 22
Scheduling and calendars
- Project model
src/core/model/project.ts - Schedule engine
src/core/scheduling/schedule-project.ts - Structure analysis
src/core/scheduling/project-structure.ts - Task placement
src/core/scheduling/task-placement.ts - Calendar compiler
src/core/calendar/compile-calendar.ts - Working-time arithmetic
src/core/calendar/working-time.ts - Task time slots
src/core/calendar/task-slots.ts
Validation and exchange
- Project validation
src/core/validation/read-project.ts - Validation issues
src/core/validation/validation-issues.ts - Tasklace files
src/core/file/tasklace-file.ts - JSON exchange
src/core/exchange/project-json.ts - CSV import
src/core/exchange/csv/project-csv-import.ts - CSV export
src/core/exchange/csv/project-csv-export.ts
Shared projects
- Shared session
src/core/shared/shared-session.ts - Shared document
src/core/shared/shared-document.ts - Shared project
src/core/shared/shared-project.ts - Merge repair
src/core/shared/repair-project.ts
Planning features
- Baseline snapshot
src/core/baseline/take-baseline.ts - Tag conflict detection
src/core/tags/tag-conflicts.ts - Tag appearance
src/core/tags/tag-appearance.ts - Tag palette
src/core/tags/tag-palette.ts
Other components
- Project author
Connections 30
- Project author → Project validation: provides data
README.md - Project validation → Project model: validates into
src/core/validation/read-project.ts - Project validation → Validation issues: reports issues
src/core/validation/read-project.ts - Project validation → Structure analysis: checks structure
src/core/validation/read-project.ts - Project validation → Calendar compiler: checks calendar
src/core/validation/read-project.ts - Schedule engine → Structure analysis: analyzes structure
src/core/scheduling/schedule-project.ts - Schedule engine → Calendar compiler: compiles calendar
src/core/scheduling/schedule-project.ts - Schedule engine → Task placement: places tasks
src/core/scheduling/schedule-project.ts - Task placement → Task time slots: computes slots
src/core/scheduling/task-placement.ts - Task placement → Working-time arithmetic: uses working hours
src/core/scheduling/task-placement.ts - Task time slots → Working-time arithmetic: uses working time
src/core/calendar/task-slots.ts - Calendar compiler → Working-time arithmetic: supports arithmetic
src/core/calendar/working-time.ts - Schedule engine → Tag conflict detection: checks conflicts
src/core/scheduling/schedule-project.ts - Schedule engine → Project model: schedules project
src/core/scheduling/schedule-project.ts - Tasklace files → Project validation: validates contents
src/core/file/tasklace-file.ts - Tasklace files → Shared project: uses project format
src/core/file/tasklace-file.ts - JSON exchange → Project validation: validates imports
src/core/exchange/project-json.ts - CSV import → Project validation: validates imports
src/core/exchange/csv/project-csv-import.ts - CSV import → Schedule engine: checks schedulability
src/core/exchange/csv/project-csv-import.ts - Project model → CSV export: exports task table
README.md - Project model → JSON exchange: exports document
README.md - Shared session → Shared document: coordinates edits
src/core/shared/shared-session.ts - Shared session → Shared project: uses project operations
src/core/shared/shared-session.ts - Shared session → Merge repair: repairs merges
src/core/shared/shared-session.ts - Shared project → Shared document: reads and writes
src/core/shared/shared-project.ts - Shared project → Merge repair: repairs project
src/core/shared/shared-project.ts - Baseline snapshot → Schedule engine: captures schedule
src/core/baseline/take-baseline.ts - Baseline snapshot → Project model: stores snapshot
README.md - Tag conflict detection → Task placement: uses task placement
src/core/tags/tag-conflicts.ts - Tag appearance → Tag palette: uses palette