diff --git a/CHANGELOG.md b/CHANGELOG.md index 2e0f29a..68585c9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,31 @@ All notable changes to TESSERACT will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.1.5] - 2025-01-XX + +### Added +- **Nested Kanban View** - Major feature implementation + - Parent tasks now appear in each column where they have subtasks + - Parent cards show "X of Y subtasks in this column" indicator + - Parent cards are expandable/collapsible to show children in that column + - Parent cards have distinct visual styling (thicker orange border, bold text) + - Only leaf tasks (tasks with no children) are draggable + - Parent cards automatically appear in multiple columns as children move +- Helper functions for nested Kanban logic: + - `getDescendantsInStatus()` - Get all descendant tasks in a specific status + - `hasDescendantsInStatus()` - Check if parent has any descendants in a status + +### Changed +- Kanban board now labeled "Kanban Board (Nested View)" +- Parent task cards cannot be dragged (only leaf tasks) +- Column task counts now include parent cards +- Improved visual hierarchy with parent/child distinction + +### Improved +- Better visualization of task distribution across statuses +- Easier to see project structure while maintaining status-based organization +- Parent tasks provide context for subtasks in each column + ## [0.1.4] - 2025-01-XX ### Added diff --git a/README.md b/README.md index 811b11c..f202e95 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ **Task Decomposition Engine** - A self-hosted web application for managing deeply nested todo trees with advanced time tracking and project planning capabilities. - +  ## Overview @@ -12,7 +12,9 @@ TESSERACT is designed for complex project management where tasks naturally decom ### Key Features - **Arbitrary-Depth Nesting**: Create tasks within tasks within tasks - no limits on hierarchy depth -- **Dual View Modes**: Toggle between Tree View (hierarchical) and Kanban Board (status-based) +- **Dual View Modes**: + - **Tree View**: Hierarchical collapsible tree with full nesting + - **Nested Kanban**: Status-based board where parent tasks appear in multiple columns - **Intelligent Time Tracking**: - Leaf-based time calculation (parent times = sum of descendant leaf tasks) - Automatic exclusion of completed tasks from time estimates @@ -101,13 +103,29 @@ docker-compose down -v **Expand/Collapse**: Click chevron icon to show/hide subtasks -#### Kanban View +#### Kanban View (Nested) -**Add Task**: Click "+" in any column to create a task with that status +The Kanban board displays tasks in a nested hierarchy while maintaining status-based columns: -**Move Tasks**: Drag and drop cards between columns to change status +**Parent Cards**: +- Appear in **every column** where they have subtasks +- Display "X of Y subtasks in this column" counter +- Have distinct styling (thick orange border, bold title) +- Click chevron to expand/collapse and see children in that column +- Cannot be dragged (only leaf tasks are draggable) -**Edit Tasks**: Use the three-dot menu same as Tree View +**Leaf Tasks**: +- Appear only in their status column +- Fully draggable between columns +- Standard card styling + +**Add Task**: Click "+" in any column to create a root-level task + +**Move Tasks**: Drag and drop leaf task cards between columns + +**Edit Tasks**: Use the three-dot menu on any card (parent or leaf) + +**Example**: A project with backend (2 tasks in backlog, 1 in progress) and frontend (1 in done) will show the project card in all three columns with appropriate counts. ### Understanding Time Estimates @@ -354,7 +372,6 @@ Ensure JSON structure matches schema. Common issues: See [CHANGELOG.md](CHANGELOG.md) for version history. ### v0.2.0 (Planned) -- Nested Kanban view (parent cards split across columns) - Task dependencies and blocking relationships - Due dates and calendar view - Progress tracking (% complete) diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx index 175785c..d3d3ed9 100644 --- a/frontend/src/App.jsx +++ b/frontend/src/App.jsx @@ -13,7 +13,7 @@ function App() {