Rubber Reality
Elastic grid mesh deformed by traveling attractors with spring physics and snap-back.
What is Rubber Reality?
Rubber Reality is a free Canvas 2D web effect in the TappyPrism library. Elastic grid mesh deformed by traveling attractors with spring physics and snap-back. It is drawn with the Canvas 2D API, which trades some GPU efficiency for the widest possible browser and device support. It ships as a single self-contained HTML file (rubber-reality.html) with zero dependencies — no npm package, no framework, no build step. It exposes 2 live parameters — Elasticity, Distortion Points — adjustable in the browser or at runtime.
Parameters
| Parameter | Key | Range | Default |
|---|---|---|---|
| Elasticity | ELASTICITY | 0.3 – 2.5 | 1 |
| Distortion Points | DISTORTION_POINTS | 1 – 6 | 3 |
How to add Rubber Reality to your page
- Download the standalone file rubber-reality.html and copy its source into your project.
- Or embed it as a background iframe:
<iframe src="https://prism.tappypotato.com/fx/rubber-reality.html" style="position:fixed;inset:0;width:100%;height:100%;border:0;z-index:-1" title="Rubber Reality"></iframe> - Tune it at runtime with postMessage:
iframe.contentWindow.postMessage({ type: 'param', name: 'ELASTICITY', value: 1 }, '*');
Frequently asked questions
What is Rubber Reality?
Rubber Reality is a free Canvas 2D web effect in the TappyPrism library. Elastic grid mesh deformed by traveling attractors with spring physics and snap-back. It is drawn with the Canvas 2D API, which trades some GPU efficiency for the widest possible browser and device support. It ships as a single self-contained HTML file (rubber-reality.html) with zero dependencies — no npm package, no framework, no build step. It exposes 2 live parameters — Elasticity, Distortion Points — adjustable in the browser or at runtime.
How do I add Rubber Reality to my website?
Download the standalone file at https://prism.tappypotato.com/fx/rubber-reality.html and copy its source into your page, or embed it as a background iframe: <iframe src="https://prism.tappypotato.com/fx/rubber-reality.html" style="position:fixed;inset:0;width:100%;height:100%;border:0;z-index:-1" title="Rubber Reality"></iframe>. Tune it live with postMessage, e.g. iframe.contentWindow.postMessage({ type: 'param', name: 'ELASTICITY', value: 1 }, '*').