Shapeltonv0.1
✨ Procedural Generation Engine

Code the Beautiful.

A lightweight generative art toy. Write script, get shapes.

shapelton_engine

⚡ Blazing Fast

Native rendering loop with Compose Canvas.

🎨 Declarative

Describe your scene in plain text. The engine handles the math.

The Creation Pipeline

Shapelton converts simple, expressive text commands into dynamic animated geometry in real-time.

1. Write the Script

Define primitives (circle, rect, cloud), colors, positions, and sizes using intuitive syntax.

2. The Parser Interprets

The engine tokenizes your script and builds a spatial scene graph with shape nodes.

3. Apply Dynamic Behavior

Add animation modifiers (like `>> pulse` or `>> galaxy`) to bring your shapes to life.

purple cloud @ 200,200 dots:1800 >> galaxy slow 2x

API Reference

The engine accepts a specific grammar. Combine terms to create complexity.

Primitives

  • circle :: Round shape
  • triangle :: 3-point polygon (alias: tri)
  • rect :: Rectangle (alias: rectangle)
  • cloud :: Particle cluster (alias: points)

Geometry

  • @ x,y :: Position coordinates
  • ~ N :: Size / radius value
  • ~ NxM :: Width × height (rect)
  • dots:N :: Particle count (cloud)

Colors

  • red blue green yellow
  • purple cyan magenta gold
  • orange pink turquoise violet
  • lime dark white black
  • #RRGGBB :: Hex color

Size Modifiers

  • tiny :: 20
  • small :: 40
  • medium :: 60
  • big / large :: 100
  • huge :: 150

Shape Animations

  • >> pulse :: Rhythmic scaling
  • >> rotate :: Continuous spin
  • >> orbit :: Circular motion
  • >> wiggle :: Organic movement
  • >> bounce :: Spring physics
  • >> sway :: Gentle oscillation
  • >> shake :: Rapid vibration
  • >> rise :: Infinite upward flight, looping
  • >> slide :: Infinite rightward drift, looping

Cloud Animations

  • >> ambient :: Subtle drift
  • >> storm :: Chaotic movement
  • >> vortex :: Spiral formation
  • >> expand :: Growing outward
  • >> wind :: Directional flow
  • >> galaxy :: Rotating spiral

Speed Modifiers

  • slow :: 0.3×
  • normal :: 1.0×
  • fast :: 2.0×
  • quick :: 2.5×
  • veryfast :: 3.0×
  • 0.5x / 2x / 3x :: Raw multiplier

Strength Modifier

  • *N :: Intensity multiplier
  • *2 / *0.5 / *4 :: Any numeric value
  • Can appear before or after speed.
    Example: >> galaxy slow *2