Skip to content

Add camera view shape options#14

Open
BradGroux wants to merge 3 commits into
jkuri:mainfrom
BradGroux:feature/camera-view-shapes
Open

Add camera view shape options#14
BradGroux wants to merge 3 commits into
jkuri:mainfrom
BradGroux:feature/camera-view-shapes

Conversation

@BradGroux
Copy link
Copy Markdown

@BradGroux BradGroux commented May 10, 2026

Summary

  • Add 3:2, 2:3, and Circle options to the camera shape controls
  • Add the same Camera Shape picker to pre-recording Options when a camera is selected
  • Apply the selected shape live to the floating webcam preview before and during recording
  • Seed new editor projects from the pre-recording camera shape choice
  • Render Circle as a 1:1 camera view with a fixed 50% radius
  • Apply the same circular rendering in editor preview, drag shadows, custom camera regions, and export

Closes #13

Validation

  • make format
  • xcodebuild -project Reframed.xcodeproj -scheme Reframed -configuration Debug build -quiet -derivedDataPath .build -destination "platform=macOS,arch=$(uname -m)" CODE_SIGNING_ALLOWED=NO
  • make build fails locally because this branch intentionally does not include the separate signing fix from PR Fix local debug builds without signing certificate #12

@BradGroux BradGroux marked this pull request as ready for review May 10, 2026 02:23
Copilot AI review requested due to automatic review settings May 10, 2026 02:23
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds additional camera framing options (3:2, 2:3, Circle) and centralizes corner-radius computation so the chosen shape renders consistently across the editor preview, interactions (drag shadow), custom camera regions, and export compositing.

Changes:

  • Extend CameraAspect with 3:2, 2:3, and Circle options and add shared helpers (pickerRows, isCircle, cornerRadius(in:percentage:)).
  • Update editor UI controls to present aspect options in multiple segmented rows and disable the radius slider for Circle.
  • Replace ad-hoc radius calculations with CameraAspect.cornerRadius(...) in preview layout/interaction and compositor/export code paths.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated no comments.

Show a summary per file
File Description
Reframed/Editor/VideoPreviewContainer+Layout.swift Uses CameraAspect.cornerRadius(...) to ensure preview masking/shadow paths match the selected shape (including Circle).
Reframed/Editor/VideoPreviewContainer+Interaction.swift Updates drag shadow rounding to respect the selected camera shape consistently while dragging.
Reframed/Editor/PropertiesPanel+CameraTab.swift Presents aspect options using multiple SegmentPicker rows and disables radius control for Circle.
Reframed/Editor/EditorTypes.swift Adds new camera aspects plus shared helpers for picker layout and radius computation (Circle forces 50%).
Reframed/Editor/CameraRegionEditPopover.swift Mirrors the updated aspect selection UI and Circle radius behavior for custom camera regions.
Reframed/Compositor/VideoCompositor+InstructionBuilder.swift Computes exported camera corner radius via CameraAspect.cornerRadius(...) for consistent output rendering.
Reframed/Compositor/FrameRenderer+Helpers.swift Applies the same corner-radius logic when resolving custom camera regions during rendering.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add more camera view shape options

2 participants