momentum.js is a toolkit that brings generative art into the timeline of Adobe After Effects.
Generative art is good at building structure, but rarely operates in linear time. At the same time, traditional animation workflows remain keyframe-driven, where elements exist in isolation and maintaining overall coherence often requires significant manual effort.
In practice, much of generative work is still experienced as offline-rendered video and distributed through social platforms. The issue is not the output, but the process — generation and time have yet to exist within the same system.
momentum.js brings the two together into a single workflow. Inspired by basil.js, it introduces a drawing and generative API inside After Effects, similar to Processing and p5.js. This allows generative systems to be constructed directly on the timeline, rather than generated externally and imported.
Variables defined in code can be exposed as interface controls and animated with keyframes. This turns generative systems from one-off outputs into structures that can be continuously shaped over time.
In this context, the timeline is no longer just a container for playback, but becomes part of the generative process itself — structure is defined by code, and variation unfolds through time.
momentum.js does not aim to replace existing tools, but to propose a different way of working — where writing rules and shaping motion happen within the same system.
The project is built primarily with C++ and JavaScript, spanning the Adobe CEP extension environment, the After Effects scripting system, and a native plugin layer. Its drawing model is influenced by the sketch-based workflows of Processing and p5.js, while its broader direction also draws on openFrameworks and basil.js.

