← Gallery № 03 · canvas-2d

Generative Branching Tree

L-system inspired tree with continuous growth and regrowth cycles.

Canvas 2D

What is Generative Branching Tree?

Generative Branching Tree is a free Canvas 2D web effect in the TappyPrism library. L-system inspired tree with continuous growth and regrowth cycles. 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 (generative-tree.html) with zero dependencies — no npm package, no framework, no build step. It exposes 2 live parameters — Growth Speed, Branch Depth — adjustable in the browser or at runtime.

Parameters

ParameterKeyRangeDefault
Growth SpeedGROWTH_SPEED_BASE0.003 – 0.0250.008
Branch DepthMAX_DEPTH4 – 149

How to add Generative Branching Tree to your page

  1. Download the standalone file generative-tree.html and copy its source into your project.
  2. Or embed it as a background iframe:
    <iframe src="https://prism.tappypotato.com/fx/generative-tree.html" style="position:fixed;inset:0;width:100%;height:100%;border:0;z-index:-1" title="Generative Branching Tree"></iframe>
  3. Tune it at runtime with postMessage:
    iframe.contentWindow.postMessage({ type: 'param', name: 'GROWTH_SPEED_BASE', value: 0.008 }, '*');

Frequently asked questions

What is Generative Branching Tree?

Generative Branching Tree is a free Canvas 2D web effect in the TappyPrism library. L-system inspired tree with continuous growth and regrowth cycles. 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 (generative-tree.html) with zero dependencies — no npm package, no framework, no build step. It exposes 2 live parameters — Growth Speed, Branch Depth — adjustable in the browser or at runtime.

How do I add Generative Branching Tree to my website?

Download the standalone file at https://prism.tappypotato.com/fx/generative-tree.html and copy its source into your page, or embed it as a background iframe: <iframe src="https://prism.tappypotato.com/fx/generative-tree.html" style="position:fixed;inset:0;width:100%;height:100%;border:0;z-index:-1" title="Generative Branching Tree"></iframe>. Tune it live with postMessage, e.g. iframe.contentWindow.postMessage({ type: 'param', name: 'GROWTH_SPEED_BASE', value: 0.008 }, '*').