Add a lightweight scheduling system to the existing FeedBack production tracking platform. IMPORTANT: This is NOT enterprise scheduling. Do NOT build Microsoft Project. Do NOT build ShotGrid resource planning. The goal is: * simple visual scheduling * artist workload visibility * drag-and-drop planning * lightweight production coordination Think: “Trello timeline view for VFX tasks.” The complexity level should match the existing kanban implementation. --- # CORE GOAL Allow producers/supervisors to: * assign tasks to artists * schedule when tasks should be worked on * visualize artist workload * see upcoming deadlines * drag tasks around visually The scheduling system should integrate directly with: * existing Tasks * existing Artists/Users * existing Due Dates * existing Kanban workflow --- # IMPORTANT PRODUCT PRINCIPLE Scheduling is: * lightweight planning * not time tracking * not timesheets * not attendance management We are ONLY planning: * who works on what * when * for roughly how long --- # NEW PAGE Add: ```plaintext id="9m0ynj" /schedule ``` Add navigation item: ```plaintext id="9cxij0" Schedule ``` --- # SCHEDULING MODEL Each task already has: * assignedArtistId * estimatedHours * dueDate Add: * scheduledStartDate * scheduledEndDate Optional: * scheduleNotes --- # ARTIST WORKLOAD ASSUMPTION Assume: ```plaintext id="sls7sz" 8 working hours per day ``` Use estimatedHours to determine task duration visually. Example: ```plaintext id="1o9r76" 16 estimated hours = 2 scheduled work days ``` Keep calculations simple. --- # MAIN UI The scheduling page should be a hybrid: * kanban * timeline/calendar Layout: ```plaintext id="8fys2r" Artists vertically Dates horizontally ``` Example: ```plaintext id="ltm7d0" Mon Tue Wed Thu Fri Chris [SH010 Comp------] Sarah [SH020 Roto--] Mike [Asset Car Model----] ``` This should feel: * visual * fast * draggable * uncluttered --- # TASK CARDS Each scheduled task block should show: * shot/asset code * task type * task status * due date * estimated hours Optional: * latest version indicator * review status badge Color coding: * TODO * IN_PROGRESS * INTERNAL_REVIEW * CLIENT_REVIEW * CHANGES * DONE --- # DRAG AND DROP Use: * dnd-kit Allow: * drag tasks between artists * resize tasks across days * move tasks along timeline When dragged: * update scheduledStartDate * update scheduledEndDate * update assignedArtistId if moved to another artist row Use optimistic updates. --- # SCHEDULING RULES Simple rules only. ## WARNING STATES Highlight: * overdue tasks * tasks ending after due date * artist overload Example overload: ```plaintext id="qff2t0" Artist scheduled > 8h/day ``` Use visual indicators only. DO NOT block scheduling. --- # FILTERS Add: * project filter * artist filter * task status filter Optional: * department filter --- # TASK SOURCE The schedule should ONLY display: * tasks with assigned artists OR * tasks with scheduled dates Unscheduled tasks remain in kanban/backlog. --- # BACKLOG PANEL Add optional side panel: ```plaintext id="o0lm45" Unscheduled Tasks ``` Allow dragging tasks: * from backlog * onto artist schedule This is VERY useful. --- # REVIEW INTEGRATION Scheduling should integrate with review flow. Example: ```plaintext id="hr4lxg" Task enters CLIENT_REVIEW → visually marked on schedule ``` Example: ```plaintext id="4f8pl5" Task enters CHANGES → warning badge appears ``` This creates production awareness. --- # KANBAN INTEGRATION The schedule and kanban should share: * same task objects * same statuses * same assignments Changing status in: * kanban * task page * review flow should instantly reflect in schedule. Example: ```plaintext id="rmy3ud" CLIENT_REVIEW → DONE ``` Task visually updates in schedule immediately. --- # DASHBOARD WIDGETS Add: * Artist Utilization * Tasks Due This Week * Overloaded Artists * Upcoming Reviews Simple summaries only. --- # UI REQUIREMENTS The scheduler should feel: * modern * clean * cinematic * dark mode first Inspiration: * Linear roadmap * Trello timeline * Notion timeline * Monday.com timeline BUT: simpler and faster. Avoid: * giant grids * enterprise clutter * complex dependencies * gantt-chart nightmares --- # IMPLEMENTATION PLAN ## PHASE 1 — DATABASE 1. Add scheduling fields to Task 2. Add indexes for schedule queries 3. Add task duration helpers --- ## PHASE 2 — BASIC TIMELINE 1. Build schedule page 2. Artist rows 3. Date columns 4. Render scheduled tasks --- ## PHASE 3 — DRAG/DROP 1. Move tasks 2. Resize durations 3. Reassign artists 4. Optimistic updates --- ## PHASE 4 — BACKLOG 1. Unscheduled task panel 2. Drag from backlog to schedule 3. Quick scheduling --- ## PHASE 5 — POLISH 1. Filters 2. Overload indicators 3. Review status badges 4. Utilization summaries --- # IMPORTANT Keep this system intentionally lightweight. The ideal workflow should feel like: ```plaintext id="xmv8lx" Create task → Assign artist → Drag onto schedule → Artist uploads version → Review → Approve ``` That simplicity is the product advantage.