## ADDED Requirements ### Requirement: Sidebar Shot Column Display Switch The system SHALL provide a column visibility control in the Sidebar that allows users to toggle which columns are displayed in the Shot data table from any page in the application. #### Scenario: User toggles column from Sidebar - **WHEN** user interacts with the column display switch in the Sidebar - **THEN** the Shot data table column visibility is updated globally across all views #### Scenario: User views available column options - **WHEN** user expands the column display control in the Sidebar - **THEN** the system displays all available Shot table columns with their current visibility state #### Scenario: Column preferences persist across sessions - **WHEN** user toggles a column visibility setting - **THEN** the preference SHALL be saved and restored when the user returns to the application ### Requirement: Global Column Visibility State The system SHALL maintain a global column visibility state that is accessible from both the Sidebar and the Shot page column visibility control. #### Scenario: Sidebar control reflects current visibility state - **WHEN** user opens the Sidebar column control - **THEN** the checkboxes SHALL reflect the current column visibility state from the global state #### Scenario: Changes in Sidebar reflect in Shot page - **WHEN** user toggles a column from the Sidebar - **THEN** the Shot page column visibility control SHALL show the updated state ### Requirement: Default Column Visibility The system SHALL provide sensible default column visibility settings that apply when no user preference has been saved. #### Scenario: New user views Shot table - **WHEN** a new user (no saved preferences) views the Shot data table - **THEN** default columns (Thumbnail, Shot Name, Episode, Status) SHALL be visible - **AND** task type columns SHALL be hidden by default ### Requirement: Column Types Supported The system SHALL support toggling visibility for the following column types: - Thumbnail - Shot Name - Episode - Status - Task type columns (dynamic based on project task types) #### Scenario: User toggles thumbnail column - **WHEN** user toggles the Thumbnail column visibility - **THEN** the thumbnail column SHALL show/hide in the Shot data table #### Scenario: User toggles task type column - **WHEN** user toggles a task type column (e.g., "Animation", "Compositing") - **THEN** that task status column SHALL show/hide in the Shot data table