Initial commit

This commit is contained in:
twotalesanimation
2026-05-19 22:20:29 +02:00
commit 0fbe856dce
173 changed files with 38316 additions and 0 deletions
+413
View File
@@ -0,0 +1,413 @@
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.