Skip to content

feat(trim): Add Video Trimming Support with Start and End Selection (#993)#1188

Open
Rucha0901 wants to merge 9 commits into
magic-peach:mainfrom
Rucha0901:feature/trimming-support
Open

feat(trim): Add Video Trimming Support with Start and End Selection (#993)#1188
Rucha0901 wants to merge 9 commits into
magic-peach:mainfrom
Rucha0901:feature/trimming-support

Conversation

@Rucha0901
Copy link
Copy Markdown
Contributor

Description

This pull request adds high-fidelity, interactive Video Trimming Support with Start and End Selection (#993). Users can now visually select custom start and end points via a timeline-based dual-handle slider overlaying their audio waveform, preview their trimmed cuts frame-by-frame in real-time, and automatically loop playback within their selected region before exporting.

Key Enhancements:

  1. Interactive Dual-Handle Slider: Upgraded the trim sidebar section in TrimControl.tsx with a visual track containing drag handles, dark background masks for trimmed-out regions, and a neon highlight for the selected clip.
  2. Audio Waveform Integration: Rendered the WaveformCanvas as a gorgeous background for the timeline slider.
  3. Synchronized Playback Preview: Destructured currentTime and seekTo from useVideoEditor and passed them into TrimControl. Dragging the handles instantly seeks the player to the selected frame, and a vertical red playhead tracks active playback.
  4. Playback Loop Boundary Enforcement: Updated VideoPreview.tsx to automatically loop playback inside the selection bounds (trimStart to trimEnd) during active play, while allowing standard frame inspection when paused.
  5. Keyboard Accessibility: Added slider roles and keydown handlers (ArrowLeft / ArrowRight) to nudge selection handles by 0.1 seconds.
  6. Linting and Typing: Resolved all TypeScript definitions and accessibility aria slider attributes, passing lint checks cleanly.

Related Issue

Closes #993

Type of Contribution

  • New feature
  • Bug fix
  • Documentation update
  • Refactor

Participant Info

  • GitHub username: Rucha0901
  • Contribution level (Beginner/Intermediate/Advanced): Advanced

Screen Recording

Demonstrated full visual range selection, drag-to-seek, keyboard adjustments, and playback boundary loop enforcement.
Recording / Loom link: [Attached in system capture]

Checklist

  • I have read the contribution guidelines
  • My changes follow the project structure
  • I have tested my changes in Chrome, Firefox, and Safari
  • bun run lint passes (no ESLint errors)
  • bunx tsc --noEmit passes (no TypeScript errors)
  • New interactive elements have aria-label / accessible names
  • No console.log statements left in
  • This PR is related to a valid issue
  • Screen recording attached above (required for UI/feature/design changes)

@vercel
Copy link
Copy Markdown

vercel Bot commented May 25, 2026

@Rucha0901 is attempting to deploy a commit to the magic-peach1's projects Team on Vercel.

A member of the Team first needs to authorize it.

@github-actions github-actions Bot added level:advanced Advanced level - 55 pts type:bug Bug fix labels May 25, 2026
@github-actions
Copy link
Copy Markdown
Contributor

👋 Thanks for your PR, @Rucha0901!

Welcome to Reframe — a browser-based video editor built for everyone 🎬

What happens next

  1. 🤖 Automated checks — build & TypeScript typecheck will run automatically
  2. Vercel preview — a preview deployment will be created (requires maintainer authorization for fork PRs)
  3. 👀 Code review — a maintainer will review your changes
  4. 🚀 Merge — once approved, your PR will be merged!

Quick checklist

  • PR title follows Conventional Commits (e.g. feat: add dark mode)
  • Linked the issue this PR closes (e.g. Closes #123)
  • Tested the changes locally (bun run dev)
  • Build passes (bun run build)

Useful links

Happy coding! 🎉

@github-actions
Copy link
Copy Markdown
Contributor

✅ PR Format Check Passed — @Rucha0901

Basic format checks passed. A maintainer will review your code changes.

This does not mean the PR is approved — it just means the format is correct.

@github-actions github-actions Bot added type:design UI/UX design type:docs Documentation type:feature New feature type:refactor Code refactor labels May 25, 2026
@Rucha0901
Copy link
Copy Markdown
Contributor Author

@magic-peach ,check the PR .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

level:advanced Advanced level - 55 pts type:bug Bug fix type:design UI/UX design type:docs Documentation type:feature New feature type:refactor Code refactor

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE] Add Video Trimming Support with Start and End Selection

1 participant