7.7 KiB
Asset Detail Panel Specification
Overview
This document describes the addition of an Asset Detail Panel feature to the VFX Project Management System. The feature provides a comprehensive view of asset information organized into tabs, similar to the existing Shot Detail Panel.
Requirement Added
Requirement 26: Asset Detail Panel
User Story: As a user, I want to view detailed asset information with organized tabs when I select an asset in the asset browser, so that I can access all asset-related data including tasks, notes, and references in one place.
Location in Requirements: Added after Requirement 25 in requirements.md
Acceptance Criteria:
- Asset detail panel displays when clicking asset card
- Header shows asset metadata (name, category, status, description)
- Tasks tab displays all asset tasks
- Notes tab displays production notes
- References tab for reference files
- Versions tab for version history
- Progress overview shows task completion statistics
- Panel can be closed to return to asset browser
- Tasks load automatically when Tasks tab is selected
- Role-based permissions for actions
- Slide-in panel from right side
- Asset browser state maintained when panel opens/closes
Design Added
Asset Detail Panel Design
Location in Design: Added after Shot Detail Panel Design in design.md
Layout Structure:
- Header Section: Asset name, category badge, status badge, action menu
- Asset Information: Description, creation date, last updated date
- Progress Overview: Visual progress bar and task status summary
- Tabbed Content Area: Four tabs (Tasks, Notes, References, Versions)
Tab Specifications:
-
Tasks Tab (Default)
- Lists all asset tasks
- Task cards with status, assignment, deadlines
- "Add Task" button (coordinators/admins)
- Opens task detail panel on click
- Icon: ListTodo
-
Notes Tab
- Production notes and comments
- Threaded notes with timestamps
- "Add Note" button (coordinators/admins)
- Icon: MessageSquare
-
References Tab
- Reference files gallery
- "Upload Reference" button (all users)
- File preview, download, delete
- Icon: Image
-
Versions Tab
- Asset version history
- "Publish Version" button (artists/coordinators/admins)
- Version comparison and download
- Icon: History
Permission Model:
- Add Task: Coordinators & Admins
- Add Note: Coordinators & Admins
- Upload Reference: All Users
- Publish Version: Artists, Coordinators & Admins
- Edit Asset: Coordinators & Admins
- Delete Asset: Coordinators & Admins
User Experience:
- Default tab is "Tasks"
- Progress overview always visible
- Smooth tab transitions
- Empty states with guidance
- Role-based action buttons
- Slides in from right
- Maintains asset browser state
Tasks Added
Task 26: Implement Asset Detail Panel
Location in Tasks: Added after Task 22 (Project Thumbnail) in tasks.md
Main Task:
- Task 26: Implement asset detail panel with tabbed interface
Subtasks:
-
26.1 Create AssetDetailPanel component structure
- Create component file
- Implement header with badges
- Add asset information section
- Add progress overview
- Implement tabbed interface
- Add close functionality
- Implement slide-in animation
-
26.2 Implement Tasks tab
- Set as default tab
- Integrate TaskList component
- Load tasks with asset_id filter
- Add "Add Task" button
- Handle task selection
- Add loading/error states
- Display empty state
-
26.3 Implement Notes tab
- Create notes display
- Add "Add Note" button
- Display threaded notes
- Implement note creation
- Add loading/empty states
-
26.4 Implement References tab
- Create reference gallery
- Add "Upload Reference" button
- Implement file upload
- Display with thumbnails
- Add preview/download/delete
- Add loading/empty states
-
26.5 Implement Versions tab
- Create version history display
- Add "Publish Version" button
- Display version list
- Implement version comparison
- Add download feature
- Add loading/empty states
-
26.6 Integrate with AssetBrowser
- Handle asset card clicks
- Manage panel state
- Update URL with asset ID
- Maintain browser state
- Handle back button
- Ensure proper layering
-
26.7 Add role-based permissions
- Check permissions for all action buttons
- Hide/disable based on user role
-
26.8 Add tests (Optional)
- Component tests
- Tab switching tests
- Task loading tests
- Permission tests
- Panel behavior tests
Implementation Notes
Similarities to Shot Detail Panel
The Asset Detail Panel is designed to be consistent with the existing Shot Detail Panel:
- Same layout structure (header, info, progress, tabs)
- Same slide-in behavior from right
- Same permission model approach
- Same empty state patterns
- Same integration pattern with parent component
Key Differences
- Tab Count: 4 tabs instead of 5 (no Design tab for assets)
- Versions Tab: Assets have version tracking, shots don't
- Category Badge: Assets display category (characters, props, etc.)
- Default Tasks: Asset tasks vary by category
- Context: Assets are reusable across shots
Component Reuse
The implementation should reuse existing components:
- TaskList component for Tasks tab
- TaskDetailPanel for task details
- Existing note components for Notes tab
- File upload components for References tab
- Status badges and progress bars
Backend Requirements
The backend already supports most required functionality:
- GET /assets/{asset_id} - Get asset details
- GET /tasks?asset_id={id} - Filter tasks by asset
- Asset reference endpoints exist
- Task management endpoints exist
New endpoints needed:
- Asset version management endpoints (if not already implemented)
- Asset notes endpoints (if not already implemented)
Benefits
- Consistency: Matches Shot Detail Panel UX
- Efficiency: All asset info in one place
- Context: Better understanding of asset status
- Collaboration: Centralized notes and references
- Version Control: Track asset evolution
- Task Management: Direct access to asset tasks
User Workflows
View Asset Details
- User browses assets in AssetBrowser
- User clicks on asset card
- AssetDetailPanel slides in from right
- Default Tasks tab shows asset tasks
- User can switch between tabs
- User clicks close or outside to return to browser
Add Task to Asset
- User opens asset detail panel
- User is on Tasks tab (default)
- User clicks "Add Task" button (if coordinator/admin)
- Task creation dialog opens
- User creates task
- Task appears in list
Upload Reference
- User opens asset detail panel
- User switches to References tab
- User clicks "Upload Reference" button
- File upload dialog opens
- User selects and uploads file
- Reference appears in gallery
Track Asset Versions
- User opens asset detail panel
- User switches to Versions tab
- User sees version history
- User can publish new version (if artist/coordinator/admin)
- User can compare or download previous versions
Next Steps
- Review and approve this specification
- Begin implementation with Task 26.1
- Create AssetDetailPanel component
- Implement each tab incrementally
- Test integration with AssetBrowser
- Verify permissions work correctly
- Add comprehensive tests
Related Documents
- Requirements:
.kiro/specs/vfx-project-management/requirements.md(Requirement 26) - Design:
.kiro/specs/vfx-project-management/design.md(Asset Detail Panel Design) - Tasks:
.kiro/specs/vfx-project-management/tasks.md(Task 26) - Shot Detail Panel: Reference implementation for similar functionality