Release v0.1.5: Nested Kanban View

Major Feature: Nested Kanban Board
- Parent tasks now appear in each column where they have subtasks
- Provides hierarchical context while maintaining status-based organization
- Eliminates need to choose between hierarchy and status views

Parent Card Features:
1. Multi-Column Presence
   - Parent card appears in every column containing its descendants
   - Shows "X of Y subtasks in this column" counter
   - Automatically updates as children move between columns

2. Expandable/Collapsible
   - Click chevron to show/hide children in that specific column
   - Each parent instance independently expandable
   - Children displayed nested with indentation

3. Visual Distinction
   - Thicker orange border (border-2 vs border)
   - Bold text styling
   - "bg-cyber-darker" background instead of "bg-cyber-darkest"
   - Non-draggable (only leaf tasks can be moved)

4. Recursive Display
   - getDescendantsInStatus() finds all descendants (not just direct children)
   - Handles arbitrary nesting depth
   - Works with sub-subtasks and beyond

Technical Implementation:
- Added helper functions:
  - getDescendantsInStatus(taskId, allTasks, status)
  - hasDescendantsInStatus(taskId, allTasks, status)
- Modified TaskCard component with isParent and columnStatus props
- Updated KanbanColumn to show both parent and leaf tasks
- Only root-level tasks shown (nested children appear when parent expanded)

Display Logic:
- Each column shows:
  1. Root parent tasks with descendants in that status
  2. Root leaf tasks with that status
- Leaf tasks: tasks with no children
- Parent tasks: tasks with at least one child

Example Usage:
Project "Build Feature"
├─ Backend (2 subtasks in backlog, 1 in progress)
└─ Frontend (1 subtask in done)

Result: Project card appears in 3 columns:
- Backlog: "2 of 3 subtasks in this column"
- In Progress: "1 of 3 subtasks in this column"
- Done: "1 of 3 subtasks in this column"

Documentation:
- Updated README with nested Kanban explanation
- Added v0.1.5 section to CHANGELOG
- Updated version to v0.1.5 in App.jsx
- Moved "Nested Kanban" from roadmap to completed features

This completes the hierarchical task management vision for TESSERACT,
allowing users to see both project structure and status distribution
simultaneously without switching views.
This commit is contained in:
Claude
2025-11-20 17:59:53 +00:00
parent 8000a464c9
commit 66b019c60b
4 changed files with 242 additions and 115 deletions

View File

@@ -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.
![Version](https://img.shields.io/badge/version-0.1.4-orange)
![Version](https://img.shields.io/badge/version-0.1.5-orange)
![License](https://img.shields.io/badge/license-MIT-blue)
## 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)