diff --git a/ROADMAP.md b/ROADMAP.md index a0d271a..e45ad8f 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -3,7 +3,7 @@ > Single source of truth for project status and remaining work. > Previous planning documents (IMPLEMENTATION_PLAN.md, UPGRADE_PLAN.md) are archived in `docs/archive/`. -*Last updated: 2026-03-16* +*Last updated: 2026-03-18* --- @@ -134,6 +134,12 @@ The review tool lives at its own dedicated page (`/projects/[projectId]/delivera - "Review" button on stage cards in deliverable detail page - Review sessions: session builder, presenter mode, summary grid, decision recording - `ReviewSession` + `ReviewSessionItem` models in schema +- Video upload with HLS streaming (A7.1) + custom video player (A7.2) +- Video annotation layer with auto-pause, timestamped annotations, timeline markers (A7.3 in progress) +- `Annotation.timestampSeconds` + `Annotation.frameThumbnailUrl` fields in schema +- Feedback item cards show timestamp badges for video annotations +- Revisions auto-poll when video status is "processing" +- `next.config.ts` configured with `proxyClientMaxBodySize: "500mb"` for video uploads **New dependency for all stages:** `sharp` (server-side PNG alpha compositing + image processing) @@ -421,7 +427,16 @@ enum ReviewDecision { APPROVED CHANGES_REQUESTED REJECTED } Extend the review tool to support video. Artists submit MP4 renders; reviewers scrub to a frame, pause, and draw spatial annotations (reusing the existing annotation tools) tied to that timestamp. Optional reference video for side-by-side comparison. Self-hosted transcoding via FFmpeg — no external services. -**Reference implementation:** [lawn-video-reviewer](https://github.com/) — React video player with HLS streaming, timestamped comments, and timeline markers. Key patterns to adapt: HLS-first streaming for instant playback and smooth seeking, custom video player with frame-accurate seeking, comment markers on the scrub timeline, and keyboard-driven playback controls. +**Reference implementation:** [lawn (pingdotgg/lawn)](https://github.com/pingdotgg/lawn) — React + Convex + Mux video reviewer with HLS streaming, timestamped text comments, and timeline markers. + +**Learnings from Lawn (reviewed 2026-03-18):** +- Lawn is a **time-only** comment system — no spatial annotations or drawing on video frames. Our drawing-on-frame annotation feature (SVG overlay + annotation tools) goes beyond Lawn's scope. +- **Timeline marker grouping**: Lawn deduplicates markers within 1% of the timeline to prevent visual clutter. Markers are green (resolved) / orange (unresolved) with an active ring when playback is within 1.5s. +- **Player architecture**: Custom player on raw `