Cutframe Update: Canvas-Aware Palette Adaptation for WebGLCutframe Update: Canvas-Aware Palette Adaptation for WebGL
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started
Cutframe update — same skin, broader adaptation.
I’ve updated Cutframe’s page-adaptation algorithm after testing it on more complex visual backgrounds.
The original adapter derived its palette from DOM and CSS styles. Canvas and WebGL introduced another challenge: the colors visitors actually see aren’t necessarily reflected in those styles.
Cutframe now samples five regions of readable background canvases and clusters their colors to derive a coordinated surface and accent palette, with contrast checks for text and controls. The same approach handles solid colors, multicolor artwork, and animated 3D scenes.
Low-frequency sampling and stability checks help reduce flicker. New palettes transition smoothly from the currently displayed colors, with the color animation stopping once the transition finishes. Developers can inspect the sampled regions, adjust the behavior, or override colors when needed. Unreadable sources use a safe fallback.
The cut-corner frame, controls, and time-lens interaction remain the same. These screenshots show the same skin and video frame across different WebGL backgrounds—the update is to how the player adapts to its surroundings.
I’m open to collaborations in creative web development, interactive experiences, and digital art. Feel free to DM me if you have a project in mind.
Post image
Post image
Post image
Benjamin's avatar
TRUEFRAME logo
sampling the canvas instead of trusting the css makes way more sense for webgl pages
Back to feed
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started