LinkDesk/.kiro/specs/vfx-project-management/shot-table-summary.md

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 ShotListResponse with task_status dict and task_details list
  • 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

  1. View shots in table format with task status columns
  2. Show/hide specific columns
  3. Filter shots by task status
  4. Sort by any column
  5. Click shot to view details
  6. 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

  1. Review the spec document for completeness
  2. Prioritize task 20 in the implementation backlog
  3. Begin with task 20.1 (backend enhancement)
  4. Iterate through subtasks sequentially
  5. 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