Skip to content

feat: implement hardware-accelerated live preview transformations#1218

Open
SatyaViswas wants to merge 4 commits into
magic-peach:mainfrom
SatyaViswas:feat/live-preview-transforms
Open

feat: implement hardware-accelerated live preview transformations#1218
SatyaViswas wants to merge 4 commits into
magic-peach:mainfrom
SatyaViswas:feat/live-preview-transforms

Conversation

@SatyaViswas
Copy link
Copy Markdown
Contributor

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 #653

Type of Contribution

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

Participant Info

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

Screen Recording

Screen.Recording.2026-05-26.at.6.03.45.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 26, 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
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 26, 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.

@SatyaViswas SatyaViswas changed the title feat: add real-time WYSIWYG preview for video aspect ratios, filters, and rotation feat: add real-time preview for video aspect ratios, filters, and rotation May 26, 2026
@SatyaViswas SatyaViswas changed the title feat: add real-time preview for video aspect ratios, filters, and rotation feat: implement hardware-accelerated live preview transformations May 26, 2026
@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 type:refactor Code refactor labels May 26, 2026
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.

feat: canvas-based live preview — show crop/rotation/color changes instantly

1 participant