dorkhub

gart

gënérative ȧrt

igr
Kotlin1579 forksBSD-2-Clauseupdated 1 day ago
git clone https://github.com/igr/gart.gitigr/gart

gȧrt

🧧 gënérative ȧrt made by pragmatic kotlin micro-framework.

❤️ Instagram / Online Gallery

☕️ Buy Me a Coffee if you like the project.

⭐️ Gȧrt is a pragmatical framework and set of utilities for generating and rendering still images and movies.

  • uses Skiko (by JetBrains) for Skia binding.
  • box-2d for physics simulation.
  • ffmpeg for video encoding.

🤷‍♂️ Honestly, I put the framework together for my own needs, so it’s a bit rough around the edges and the naming isn’t great. It’s not how I normally write code.

🤖 AI is used mostly to generate comments and documentation.

♻️ Hot Reload

See Hot Reload for details on how to set up hot reload for faster iteration.

🧹 Sweeper

See Sweeper for details on how to use the sweeper utility.

🚀 Features

See Features for a comprehensive list of features and utilities provided by the framework.

🧪 Example

Example folder contains several small projects demonstrating various features of the framework.

  • Example* - demonstrations of various features, usually interactive.
  • Template - minimal project template to start with.
  • Tools:
    • GradientGenerator - interactive gradient palette generator.
    • FunGraph - interactive function plotter.

🙋‍♀️ Who is using Gȧrt?

(Contact me if you want to be added to this list.)

🍭 Gȧlléry

A collection of generative art pieces (ordered by name).

Alien

Alien Letters V1
Alien Letters V1
Alien Letters V2
Alien Letters V2
Alien Letters V3
Alien Letters V3
Alien2
Alien2

Blob

Blob
Blob

Bubbles

BubbleStripe
BubbleStripe
Bubbles2
Bubbles2
Bubble Stripe 2
Bubble Stripe 2
Bubbub
Bubbub
Holes
Holes
Pebble1
Pebble1
Pebble2
Pebble2
Pinna
Pinna

Cell

Accertion D S7 G145
Accertion D S7 G145
Accretion
Accretion
Areola
Areola
Cell1
Cell1
Cell2
Cell2
Crista
Crista
Nervure
Nervure
Rugae
Rugae

Circledots

Awaking
Awaking
Circledots
Circledots
Fbf1
Fbf1
Fbf2
Fbf2
Gentle
Gentle
Guzv
Guzv
Xy 1
Xy 1
Xy 2
Xy 2
Xy 3
Xy 3

Cotton

Cotton Circles2
Cotton Circles2
Cotton Circles
Cotton Circles
Cotton1
Cotton1
Cotton2
Cotton2
Cotton3
Cotton3

Falllines

Falllines
Falllines

Flamebrush

Flamebrush1
Flamebrush1

Flowforce

Eclectic2
Eclectic2
Eclectic
Eclectic
Eclipse
Eclipse
Spring
Spring
Broke
Broke
Circlex
Circlex
Cyanowaves
Cyanowaves
Emergence
Emergence
Fire
Fire
Flow10
Flow10
Flowforce1
Flowforce1
Flowforce2
Flowforce2
Flowforce3
Flowforce3
Flowforce4
Flowforce4
Glst1
Glst1
Glst2
Glst2
Interruption
Interruption
Monolith
Monolith
Orb1
Orb1
Orb2
Orb2
Orb3 1
Orb3 1
Orb3 2
Orb3 2
Perl 1
Perl 1
Perl
Perl
Vivipard
Vivipard
Vorflow
Vorflow
Worms
Worms

Fluid

Fluid Pack
Fluid Pack
Fluid Wind
Fluid Wind

Harmongraph

HA
HA
HB
HB
HC
HC
HD
HD
HE
HE
HF
HF
HG
HG
HH
HH
Harmongraph0
Harmongraph0
Harmongraph1
Harmongraph1
Harmongraph2
Harmongraph2

Hills

February
February
Hills
Hills
Horizons
Horizons

Igor

Igor
Igor

Joydiv

Joydiv
Joydiv

Kaleiircle

Kaleidoscope2 1
Kaleidoscope2 1
Kaleidoscope2 2
Kaleidoscope2 2
Kaleidoscope2
Kaleidoscope2
Kaleidoscope3
Kaleidoscope3
Kaleidoscope
Kaleidoscope
Kaleiircle
Kaleiircle

Layers

Plica
Plica
Relief2
Relief2
Relief
Relief
Sabulum
Sabulum
Strata
Strata
Undula
Undula

Legoo

Legoo12
Legoo12
Legoo1
Legoo1
Legoo2
Legoo2

Lettero

LetterO
LetterO
Alpha Stripes
Alpha Stripes
Lettero2
Lettero2
Lettero3 1
Lettero3 1
Lettero3 2
Lettero3 2
Lettero3
Lettero3
Turgor
Turgor

Lines

Boks
Boks
Citymap
Citymap
Growth2
Growth2
Growth3
Growth3
Growth
Growth
Heapspace
Heapspace
Ngons
Ngons
Nocube
Nocube
Outline
Outline
Stripes1
Stripes1
Stripes2
Stripes2
Swing2
Swing2
Swing3
Swing3
Swing
Swing
TapesA
TapesA
TapesB
TapesB
Triadance2
Triadance2
Triangles
Triangles
Tridance
Tridance
Vitrall
Vitrall

Lissajous

Lissajous
Lissajous
Moire
Moire

Mathy

Corona
Corona

Metro

Metro2
Metro2
Metro
Metro

Monet

Monet1 0
Monet1 0
Monet1
Monet1
Monet2
Monet2

Neuromancer

Nm1
Nm1

Orbitr

12monkeys
12monkeys
Orbitr
Orbitr
Triangle In Space
Triangle In Space

Palecircles

All Circles
All Circles
Around
Around
Palecircles
Palecircles
Shad
Shad

Pixelmania

Circl
Circl
Cosmic
Cosmic
Flight
Flight
Glass
Glass
Liqf
Liqf
Nippon
Nippon
Rastersin
Rastersin
Romb
Romb
Stripo
Stripo
Tower01
Tower01
Waves Bw
Waves Bw
Waves
Waves

Plasma

Plasma2
Plasma2
Plasma3
Plasma3
Plasma4
Plasma4
Plasma
Plasma
Plasmeander
Plasmeander

Rayz

Mirr
Mirr
Mirrorz2
Mirrorz2
Mirrorz
Mirrorz
Rayz2 1
Rayz2 1
Rayz2 2
Rayz2 2
Rayz2 3
Rayz2 3
Rayz
Rayz

Rectapart

Fall Squares
Fall Squares
RectApart
RectApart
Rectapart3
Rectapart3
Rectaround
Rectaround
Rectpack1
Rectpack1
Rectpack2
Rectpack2

Rects

Butterfly
Butterfly
Cells
Cells
Divine Divide
Divine Divide
Impossible Rubik One
Impossible Rubik One
Impossible Rubik Three
Impossible Rubik Three
Impossible Rubik Two
Impossible Rubik Two
Mondrian 01
Mondrian 01
Mondrian 02
Mondrian 02
Mondrian 03
Mondrian 03
Rects Over
Rects Over
Rects1
Rects1
Rects2
Rects2

Repetition

Repetition1
Repetition1
Repetition2
Repetition2

Rotoro

Rotoro1
Rotoro1
Rotoro2 0
Rotoro2 0
Rotoro2 1
Rotoro2 1
Rotoro2 2
Rotoro2 2
Rotoro2
Rotoro2
Rotoro3
Rotoro3

Roundrects

Roundrects
Roundrects

Rule

Rulez01
Rulez01
Rulez02
Rulez02

Sea

Sea
Sea

Sf

Sf10
Sf10
Sf11 A
Sf11 A
Sf11 B
Sf11 B
Sf1
Sf1
Sf2
Sf2
Sf3
Sf3
Sf4
Sf4
Sf5
Sf5
Sf6
Sf6
Sf7
Sf7
Sf8
Sf8
Sf9
Sf9

Shad

Earth2
Earth2
Foo
Foo

Sixsix

Moon Over Window
Moon Over Window
Six 0
Six 0
Sixsix 1
Sixsix 1
Sixsix 2
Sixsix 2

Skyscraper

Dualcity
Dualcity
Perspective01
Perspective01
Perspective02
Perspective02
Scrapers
Scrapers
Skyscraper2
Skyscraper2
Skyscraper
Skyscraper

Spiral

Spiral2
Spiral2
Spiral3
Spiral3
Spiral
Spiral

Spirograph

Spirograph1
Spirograph1
Spirograph2
Spirograph2

Stripes

S2
S2
Stripes1
Stripes1
Stripes
Stripes
Tolerance
Tolerance

Sun

Echoes1
Echoes1
Echoes2
Echoes2
SunNS1
SunNS1
Sunlines
Sunlines

Switchboard

Switchboard
Switchboard

Td

Backbone
Backbone
Mesh
Mesh
Pandora
Pandora

Thre3

Noisepads
Noisepads
Surfing
Surfing

Ticktiletock

Ticktiletock 1
Ticktiletock 1
Ticktiletock
Ticktiletock

Triangular

SaharaDiamond
SaharaDiamond
Triage
Triage
Ommatidia
Ommatidia

Z

Z10
Z10
Z11
Z11
Z1
Z1
Z2
Z2
Z3
Z3
Z4
Z4
Z5
Z5

🖼️ 249 works across 50 collections — and counting.

more like this

q5xjs

A small and fast alternative (experimental) implementation of p5.js

JavaScript574

prompt-to-puzzle

A web app that dynamically generates playable 'Spot the Difference' games from a single text prompt using a multimodal…

TypeScript53

Dark-Matter

A tiny autoscroller game for android and desktop written in Kotlin using LibGDX, LibKTX and Ashley.

Kotlin55

search

search projects, people, and tags