Screenshot from a Flitter program showing colourful distorted ellipse shapeswith trails moving outwards from the centre of the screen.

Flitter

Flitter is a functional programming language and declarative system for describing 2D and 3D visuals. The language is designed to encourage an iterative, explorative, play-based approach to constructing visuals.

The engine is able to live reload all code and assets (including shaders, images, videos, models, etc.) while retaining the current system state - thus supporting live-coding. It also has support for interacting with running programs via MIDI surfaces.

Flitter is designed for expressivity and ease of engine development over raw performance, but is fast enough to be able to do interesting things.

Documentation

Examples

Some simple examples are included in the source but many more can be found at the Flitter examples repo.

Papers and presentations

There is a paper discussing the background and design of Flitter that was presented at the Alpaca 2025 conference. You can also watch a video of the accompanying talk, which demonstrates writing a simple Flitter program from scratch to generate some animated 3D visuals.

License and Development

Flitter is copyright © Jonathan Hogg and licensed under a 2-clause “simplified” BSD license except for the OpenSimplex 2S noise implementation, which is based on code copyright © A. Svensson and licensed under an MIT license.

The complete source code is available in the GitHub Flitter repo, which also hosts the issues tracker. The official release packages are available in the PyPI flitter-lang package.