4.0 KiB
4.0 KiB
Shot Table View Feature - Summary
Overview
Created comprehensive specification for implementing a shot table view with task status display, similar to the existing asset table functionality.
Documents Created/Updated
1. New Spec Document
File: .kiro/specs/vfx-project-management/shot-table-view-spec.md
Complete specification including:
- 5 detailed user stories with acceptance criteria
- Data model definitions
- Backend API changes
- Frontend component designs
- UI/UX specifications
- Implementation plan (5 phases)
- Testing strategy
- Success criteria
- Future enhancements
2. Updated Design Document
File: .kiro/specs/vfx-project-management/design.md
Added new section: Shot Table with Task Status Display
- Task status columns for shot task types
- Column visibility controls
- Status filtering and sorting
- Episode and frame range display
- Custom task type support
- Matches asset table design patterns
3. Updated Tasks Document
File: .kiro/specs/vfx-project-management/tasks.md
Added Task 20: Shot table view with task status display
5 subtasks:
- 20.1: Enhance backend shot list endpoint with task status
- 20.2: Create shot table view component
- 20.3: Implement column visibility control for shots
- 20.4: Add task status filtering and sorting
- 20.5: Integrate shot table with project shots view
Key Features
Backend Enhancements
- Enhanced
ShotListResponsewithtask_statusdict andtask_detailslist - Task status filtering parameter
- Efficient query to include all task information
Frontend Components
- ShotsTableView.vue: Main table component
- ColumnVisibilityControl: Reusable column toggle (adapt from assets)
- TaskStatusFilter: Reusable status filter (adapt from assets)
- TaskStatusBadge: Consistent status display
User Capabilities
- View shots in table format with task status columns
- Show/hide specific columns
- Filter shots by task status
- Sort by any column
- Click shot to view details
- Session persistence for preferences
Design Principles
Consistency
- Matches asset table design and behavior
- Reuses existing components where possible
- Consistent 130px badge width
- Same color coding for status
Usability
- Quick visual assessment of shot progress
- Customizable view for different workflows
- Efficient filtering and sorting
- Seamless integration with existing UI
Performance
- Efficient backend queries
- Session storage for preferences
- Optimized rendering for 100+ shots
- Horizontal scroll for many columns
Implementation Approach
Phase 1: Backend (Task 20.1)
Enhance the shots endpoint to return task status information
Phase 2: Table Component (Task 20.2)
Build the core table view with all columns
Phase 3: Column Controls (Task 20.3)
Add column visibility management
Phase 4: Filtering & Sorting (Task 20.4)
Implement status filtering and column sorting
Phase 5: Integration (Task 20.5)
Wire everything together in the shots view
Next Steps
- Review the spec document for completeness
- Prioritize task 20 in the implementation backlog
- Begin with task 20.1 (backend enhancement)
- Iterate through subtasks sequentially
- Test each phase before moving to the next
Benefits
For Coordinators
- Quick overview of shot production status
- Easy identification of bottlenecks
- Efficient progress tracking
For Directors
- Clear view of shots ready for review
- Filter by status to prioritize reviews
- Track overall production progress
For Artists
- See which shots need attention
- Understand production priorities
- Track their assigned shots
Technical Notes
- Reuses patterns from asset table implementation
- Leverages existing task status infrastructure
- Compatible with custom task types
- Maintains backward compatibility
- No breaking changes to existing functionality
Estimated Effort
- Backend: 4-6 hours
- Frontend Table: 6-8 hours
- Column Controls: 2-3 hours
- Filtering/Sorting: 3-4 hours
- Integration: 2-3 hours
- Testing: 3-4 hours
Total: ~20-28 hours of development time