voidscape-noir / design_brief.md
PrometheusGroup's picture
ok, give me a straight forward design brief for this product, using separate html and python server, draggable mini-player, with play/pause next/previous random shuffle icon, video "x of y", main page has a title header, search bar, under the search bar is a flex-grid (variable zoom upto 8x8 cards - use "+" and "-" buttons) displaying search results using CSS cards, video thumbnail, duration, video title, video author or channel name, green background signifying it is downloaded, each card will have a remove "X" circle button on the lower right corner, when user enters text and clicks search a modal opens and displays the results in a search grid (this search grid is to be the same format as the playlist flex-grid - css cards will have a red background for 'not downloaded', a remove "x" circle button to remove it from the search results list, user can click a card to add it to the playlist when selected a card in the search results display gets a green glowing border. Search modal needs a 'back' button, returning the user to the playlist, where they can press 'download new' to start the downloads. Theuser must be able to acess the search AND playlist while a video is playing.
5f4cbfa verified
# VoidScape Media Player Design Brief

## Core Features
1. **Dual Interface System**:
   - Main Playlist View
   - Search Modal View

2. **Player Components**:
   - Draggable mini-player (fixed position)
   - Play/Pause, Next/Previous, Shuffle controls
   - Progress bar with time indicators
   - Current track display (X of Y)

3. **Playlist View**:
   - Title header with gradient text
   - Search bar with search button
   - Variable zoom flex-grid (2x2 to 8x8)
   - Card components showing:
     - Video thumbnail
     - Duration badge
     - Video title
     - Channel/author name
     - Green background (downloaded)
     - Remove "X" button (lower right)

4. **Search Modal**:
   - Full-screen overlay with blurred background
   - Same card format as playlist but with:
     - Red background (not downloaded)
     - Remove "X" button
     - Green glowing border on selection
   - "Back to Playlist" button

5. **Interaction Flow**:
   - User enters search term → clicks search → modal opens
   - Clicking cards in search adds to playlist
   - "Download New" button initiates downloads
   - All functions accessible while playing media

## Technical Requirements
1. **Frontend**:
   - HTML5, CSS3, JavaScript (ES6+)
   - Web Components for reusable UI
   - Responsive flex-grid layout
   - Smooth animations/transitions
   - Dark theme with accent colors

2. **Backend**:
   - Python Flask server
   - REST API endpoints for:
     - Playlist management
     - Search functionality
     - Player controls

3. **State Management**:
   - Current playlist
   - Search results
   - Player status (playing/paused)
   - Current track position

## Visual Design
- Color Scheme:
  - Primary: Dark background (#111827)
  - Secondary: Gradient accents (blue-purple)
  - Status Indicators:
    - Green: Downloaded (#14532d)
    - Red: Not downloaded (#7f1d1d)

- Typography:
  - Main font: Inter (clean, modern)
  - Headers: Bold with gradient text
  - Body: Medium weight, high contrast

## User Flow
1. Landing on playlist view
2. Searching for content
3. Adding to playlist
4. Managing downloads
5. Controlling playback
6. Accessing all features during playback