Skip to content

@remotion/effects: Add progressive pixelation effects - #9047

Merged
JonnyBurger merged 1 commit into
mainfrom
codex/progressive-pixelation
Jul 13, 2026
Merged

@remotion/effects: Add progressive pixelation effects#9047
JonnyBurger merged 1 commit into
mainfrom
codex/progressive-pixelation

Conversation

@JonnyBurger

Copy link
Copy Markdown
Member

Summary

  • add linear and radial progressive pixelation effects with Studio controls
  • use aligned block-size levels for stable WebGL2 rendering
  • add package exports, tests, docs, demos, and preview assets

Verification

  • bun run build
  • bun run stylecheck
  • bun test src/test in packages/effects
  • rendered both effect previews with --gl=angle

Closes #9045

@vercel

vercel Bot commented Jul 13, 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 Jul 13, 2026 9:58am
remotion Ready Ready Preview, Comment Jul 13, 2026 9:58am

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.

ℹ️ No critical issues — one minor documentation suggestion inline.

Reviewed changes — added linear and radial progressive pixelation effects to @remotion/effects.

  • Added linearProgressivePixelate() and radialProgressivePixelate() effect factories backed by a shared WebGL2 runtime.
  • Added package entrypoints, bundle config, Studio effect catalog entries, and interactive schema controls (line and ellipse visual handles).
  • Added docs pages, demo components, sidebar entries, article registration, and preview image assets.
  • Added unit tests covering defaults, schema wiring, parameter validation, and distinct effectKey derivation.

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

Comment on lines +107 to +116
// Adjacent power-of-two grids remain aligned as the block size changes.
float level = log2(targetBlockSize);
float lowerBlockSize = exp2(floor(level));
float upperBlockSize = lowerBlockSize * 2.0;
float levelProgress = fract(level);
fragColor = mix(
samplePixelated(lowerBlockSize),
samplePixelated(upperBlockSize),
levelProgress
);

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.

Suggested change
// Adjacent power-of-two grids remain aligned as the block size changes.
float level = log2(targetBlockSize);
float lowerBlockSize = exp2(floor(level));
float upperBlockSize = lowerBlockSize * 2.0;
float levelProgress = fract(level);
fragColor = mix(
samplePixelated(lowerBlockSize),
samplePixelated(upperBlockSize),
levelProgress
);
float level = log2(targetBlockSize);
float lowerBlockSize = exp2(floor(level));
float upperBlockSize = lowerBlockSize * 2.0;
float levelProgress = fract(level);
fragColor = mix(
samplePixelated(lowerBlockSize),
samplePixelated(upperBlockSize),
levelProgress
);

@JonnyBurger
JonnyBurger merged commit a946a1e into main Jul 13, 2026
20 checks passed
@JonnyBurger
JonnyBurger deleted the codex/progressive-pixelation branch July 13, 2026 10:05
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.

progressive pixelation

1 participant