Skip to content

feat: add real-time preview for video aspect ratios, filter adjustments and rotation#875

Open
SatyaViswas wants to merge 1 commit into
magic-peach:mainfrom
SatyaViswas:feat/live-preview-transform
Open

feat: add real-time preview for video aspect ratios, filter adjustments and rotation#875
SatyaViswas wants to merge 1 commit into
magic-peach:mainfrom
SatyaViswas:feat/live-preview-transform

Conversation

@SatyaViswas
Copy link
Copy Markdown

Description

This PR introduces a complete architectural upgrade to the core video display layer inside src/components/VideoPreview.tsx, enabling a real-time, high-fidelity WYSIWYG (What You See Is What You Get) interface.

Key changes include:

  • Dynamic Canvas Crop Mask: Replaced the static, hardcoded rendering boundaries with an absolute percentage positioning system calculated dynamically from active editing parameters. The viewport accurately scales to all dimensions (including vertical configurations like 9:16 / 4:5 and panoramic modes like 47:10) without warping the application dashboard layout.
  • Real-Time Transformation Rendering: Bound state parameters for rotation, framing styles (fit vs fill), and micro-level color corrections directly to native hardware-accelerated CSS style overrides on the local player tracking node. Adjusting settings instantly cascades visual feedback onto the workspace preview without requiring an intermediate export cycle.
  • Visual Canvas Contrast Isolation: Added a subtle contrast separating border configuration (ring-1 ring-white/10 shadow-2xl bg-black) outlining the dynamic canvas window. This explicitly defines pixel-accurate output frame regions even when manipulating dark source footages that match underlying dark-mode panels.
  • Redundant Logic Pruning: Cleaned up obsolete overlay simulation elements and reference states, keeping the presentation layout lightweight, accessible, and performant.

Related Issue

Fixes #867

Type of Contribution

  • Bug fix
  • New feature
  • Documentation update
  • GSSoC contribution

Participant Info

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

Screen Recording

Screen.Recording.2026-05-21.at.11.09.24.PM.mov

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 21, 2026

@SatyaViswas 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 type:design UI/UX design type:docs Documentation type:feature New feature labels May 21, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 21, 2026

✅ PR Format Check Passed — @SatyaViswas

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
Copy link
Copy Markdown
Contributor

👋 Thanks for your PR, @SatyaViswas!

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

🟠 GSSoC'26 PR detected — thanks for contributing under GirlScript Summer of Code 2026!

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 github-actions Bot added the gssoc'26 GirlScript Summer of Code 2026 label May 21, 2026
@SatyaViswas SatyaViswas force-pushed the feat/live-preview-transform branch from 1927fd5 to 3cdd4ed Compare May 22, 2026 06:26
@SatyaViswas
Copy link
Copy Markdown
Author

Hey @magic-peach , just to remind, I resolved all conflicts and my PR is upto date with the main branch. Please review and merge my PR!

@SatyaViswas SatyaViswas force-pushed the feat/live-preview-transform branch from 3cdd4ed to 01b92ca Compare May 23, 2026 03:20
@SatyaViswas
Copy link
Copy Markdown
Author

Hey @magic-peach. I resolved all the latest conflicts and my PR is upto date with the main branch. Please review and merge my PR!

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

Labels

gssoc'26 GirlScript Summer of Code 2026 level:advanced Advanced level - 55 pts type:bug Bug fix type:design UI/UX design type:docs Documentation type:feature New feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE]: Add real-time video preview for rotation, framing, and color adjustments

1 participant