Skip to content

Interactivity promo video#8319

Open
JonnyBurger wants to merge 24 commits into
mainfrom
interactivity-promo-video
Open

Interactivity promo video#8319
JonnyBurger wants to merge 24 commits into
mainfrom
interactivity-promo-video

Conversation

@JonnyBurger

Copy link
Copy Markdown
Member

No description provided.

@vercel

vercel Bot commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
bugs Ready Ready Preview, Comment Jun 12, 2026 9:03am
remotion Ready Ready Preview, Comment Jun 12, 2026 9:03am

Request Review

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

[!CAUTION]
This PR introduces a TypeScript compilation error: StudioCanvasCapture.tsx passes density to HtmlInCanvasCapture but density was removed from HtmlInCanvasCaptureProps.

Reviewed changes — converts canvas capture from a simple on/off boolean (CANVAS_CAPTURE_ENABLED) to a multi-target string system (CANVAS_CAPTURE_TARGET), embeds capture metadata directly in WebM files via Mediabunny tags instead of downloading a separate JSON, and rewrites CanvasCapturePreview to read metadata from video tags.

  • Replace CANVAS_CAPTURE_ENABLED with CANVAS_CAPTURE_TARGET — a union type ('canvas' | 'timeline-list' | 'timeline-tracks' | 'timeline' | 'undo-redo' | 'full-studio' | 'off') replaces the boolean toggle. Each capture target wraps only the relevant UI subtree in StudioCanvasCapture.
  • Wrap individual studio regions with conditional capture wrappersEditor.tsx, Preview.tsx, Timeline.tsx, MenuToolbar.tsx each check CANVAS_CAPTURE_TARGET and conditionally wrap their content in StudioCanvasCapture.
  • Embed capture metadata as Mediabunny tags in the WebMfinalizeRecording now remuxes via Conversion to attach REMOTION_CAPTURE_DATA as a raw tag, eliminating the separate JSON download.
  • Record pointer clicks alongside mouse movementsPointerClick events (pointer-down/pointer-up) are recorded and stored in the video tags, used by CursorOverlay to scale the cursor glyph on click.
  • Remove density from HtmlInCanvasCapture propsCAPTURE_DENSITY = 2 is now a constant, exported for consumers. StudioCanvasCapture callsites all switched from density={2} to density={5}.
  • Rewrite CanvasCapturePreview to read cursor data from video tagscalculateMetadata uses mediabunny.Input/UrlSource to read video dimensions and extract capture metadata from tags instead of fetching a separate JSON file.
  • Remove inline cursor SVG componentsArrowCursor, TextCursor, ResizeCursor are deleted. CursorGlyph now delegates exclusively to CursorImg using cursor SVGs from remotion.media.
  • Add new demo recording assets — several .webm videos and .json metadata files in packages/example/public/ for star radius, star color, click-star, undo-redo, and timeline-scrub demos.
  • Rewrite CenteredSolid composition — replaced multi-effect demo with a star shape using the zigzag effect.
  • Wrap UndoRedoButtons in a fixed-size container and use Interactive.Svg in SpringSeason.

🚨 StudioCanvasCapture passes density to HtmlInCanvasCapture which no longer accepts it

StudioCanvasCapture.tsx:49 passes density={density} to <HtmlInCanvasCapture>, but this PR removes the density prop from HtmlInCanvasCaptureProps (packages/canvas-capture/src/index.tsx:111—114). This will fail TypeScript compilation. The StudioCanvasCapture component is not in the diff — it was missed.

Technical details
# StudioCanvasCapture passes density to HtmlInCanvasCapture which no longer accepts it

## Affected sites
- `packages/studio/src/components/StudioCanvasCapture.tsx:49``<HtmlInCanvasCapture ref={captureRef} density={density} ...>`
- `packages/canvas-capture/src/index.tsx:111-114``HtmlInCanvasCaptureProps` no longer includes `density`

## Required outcome
- Either update `StudioCanvasCapture` to stop passing `density` to `HtmlInCanvasCapture` (use the exported `CAPTURE_DENSITY` constant), or restore the `density` prop on `HtmlInCanvasCapture`.
- Note: all studio callsites were changed from `density={2}` to `density={5}`, so if the intent is to keep density=5, `CAPTURE_DENSITY` should be 5 (or the prop should be reinstated).

ℹ️ _scale destructured but unused in CursorGlyph

packages/example/src/CanvasCapturePreview.tsx:272 renames scale to _scale (unused parameter). It can be removed from the destructuring entirely.


Note: 1 inline comment(s) dropped because they did not anchor to lines inside the PR diff:

  • packages/studio/src/components/StudioCanvasCapture.tsx:49 (RIGHT) — file not in PR diff

Pullfrog  | Fix all ➔Fix 👍s ➔View workflow run | Using DeepSeek Pro (free via Pullfrog for OSS) | 𝕏

readonly scale: number;
}> = ({cursor, cursorAssetBasePath, scale}) => {
readonly cursorScale: number;
}> = ({cursor, scale: _scale, cursorScale}) => {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

ℹ️ _scale is destructured but never used — it was renamed from the old scale prop. Remove it from the destructuring pattern.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@vercel vercel Bot temporarily deployed to Preview – remotion June 12, 2026 08:48 Inactive
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.

1 participant