- Dark blue-black background (#0f1419)
- Pink/magenta primary accent (#ff4081)
- All UI elements updated with new color scheme
- Optimized font size (14px base) for 1800x900 resolution
- Default size: 1800x900
- Minimum size: 1800x900
- Prevents over-scaling issues
Successfully implemented with grid layout:
Left Column (380px):
- File selection (Reference, Foreign, Output)
- Parameters panel (collapsible sections)
Middle Column (flexible):
- Top 60%: Side-by-side video previews with navigation
- Bottom 40%: Real-time log viewer
Right Column (420px):
- Top 50%: Job queue with status tracking
- Bottom 50%: Manual sync points (horizontal pills)
JobQueue Component:
- Status badges (Processing, Pending, Completed, Failed)
- Job cards with progress indicators
- Retry/Remove/View Logs actions
- Active job highlighting
- Empty state with helpful message
SyncPointPills Component:
- Horizontal pill-style chips (like your filter screenshot)
- Inline editing with save/cancel
- Timestamp display:
HH:MM:SS:MS → HH:MM:SS:MS - Add/Remove/Edit functionality
- Empty state with instructions
- Add multiple jobs to queue
- Automatic sequential processing
- Job status tracking:
- Pending: Yellow badge, waiting
- Processing: Pink badge, spinner animation
- Completed: Green badge, success icon
- Failed: Red badge, error icon with retry option
- Logs isolated per job
- View any job's logs by clicking
- "Add to Queue" button (instead of "Run AVSync")
- "Stop Processing" button when job is running
- Pink primary button color
New Files:
src/components/JobQueue.tsx+.csssrc/components/SyncPointPills.tsx+.csssrc/App.old.tsx(backup of original)src/App.old.css(backup of original)
Modified Files:
src/App.tsx- Complete rewrite with queue systemsrc/App.css- 3-column grid layoutsrc/index.css- New theme colorssrc/components/Header.tsx- "Add to Queue" buttonsrc/components/Header.css- Pink accent colorselectron/main.ts- 1800x900 window size
npm run dev- Select reference and foreign videos
- Choose output path
- (Optional) Navigate videos and add sync points
- (Optional) Adjust parameters
- Click "Add to Queue" - job is queued
- Repeat for multiple videos
- Jobs process automatically in order
- View Logs: Click the log icon on any job
- Retry Failed: Click retry icon on failed jobs
- Remove: Click trash icon on pending/completed/failed jobs
- Stop Current: Click "Stop Processing" in header
- Navigate both videos to matching frames
- Click "Add Sync Point" in video preview
- Appears as pill chip in right column
- Click edit icon to modify timestamps
- Click X to remove
- Hover to see inline edit controls
✓ Process multiple video pairs without supervision ✓ Each job has independent settings ✓ Failed jobs can be retried ✓ Logs saved per job ✓ Continue adding while processing
✓ Better space utilization (3 columns) ✓ Videos always visible while adjusting params ✓ Sync points more compact and manageable ✓ Status at a glance with color coding ✓ Professional dark theme
✓ Optimized layout for 1800x900 ✓ No more zoom issues ✓ Readable fonts ✓ Smooth animations
Run through these scenarios:
- App opens at 1800x900
- All 3 columns visible
- File selection works
- Video preview loads frames
- Frame navigation buttons work
- Add sync point creates pill
- Edit sync point inline
- Remove sync point
- Adjust parameters
- Add first job to queue
- Job shows as "Pending" (yellow)
- Job auto-starts and shows "Processing" (pink)
- Logs appear in middle-bottom
- Add second job while first processes
- Second job waits as "Pending"
- First job completes (green) or fails (red)
- Second job auto-starts
- Retry a failed job
- Remove a job from queue
- Stop processing job
- View logs of completed job
- Job Processing: Jobs run sequentially, one at a time
- Log Display: Shows current/selected job's logs only
- Queue Persistence: Queue clears on app restart (not saved)
- Form State: Input fields don't clear after adding to queue (allows batch similar jobs)
--bg-primary: #0f1419 /* Main background */
--bg-secondary: #1a1f2e /* Panels */
--bg-tertiary: #242b3d /* Headers, inputs */
--accent-primary: #ff4081 /* Primary actions, processing */
--accent-green: #10b981 /* Success, completed */
--accent-red: #ef4444 /* Error, failed */
--accent-yellow: #fbbf24 /* Warning, pending */
--accent-blue: #4a9eff /* Info */- 2-column layout
- Single job at a time
- Run → Wait → Configure next → Run
- Sync points in table view
- Light zoom needed (font too small)
- 3-column layout
- Queue multiple jobs
- Add all jobs → Process batch automatically
- Sync points as pills (compact)
- Perfect at 1800x900, no zoom needed
If you need to revert:
# Restore original
mv src/App.old.tsx src/App.tsx
mv src/App.old.css src/App.css
npm run buildFuture improvements you could add:
- Save queue to localStorage (persist on restart)
- Drag-and-drop file selection
- Reorder jobs in queue (drag-and-drop)
- Export/import queue configurations
- Preset templates for common settings
- Bulk add jobs from folder
- Progress percentage calculation
- Estimated time remaining
- Desktop notifications on completion
- Job history/statistics
Redesign Status: ✅ Complete and ready to use!
Run npm run dev to see the new UI in action!