---
title: "API Reference"
type: docs
---

# API Reference

Prosperon's API is a set of modules imported with `use()`. There is no global engine object — import only what you need.

## Game-Facing Modules

These are the modules you use to build games:

| Module | Import | Purpose |
|--------|--------|---------|
| **core** | `use('core')` | Main loop, window, GPU initialization |
| **sprite** | `use('sprite')` | Create and manage sprites |
| **compositor** | `use('compositor')` | Build render plans from scene configs |
| **camera** | `use('camera')` | Viewport into the world |
| **input** | `use('input')` | Action mapping, device routing, control stacks |
| **sound** | `use('sound')` | Audio playback and mixing |
| **world** | `use('world')` | Entity management |
| **text2d** | `use('text2d')` | Text rendering |
| **shape2d** | `use('shape2d')` | SDF-rendered shapes (rect, circle, ellipse, pill) |
| **tilemap2d** | `use('tilemap2d')` | Grid-based tile rendering |
| **line2d** | `use('line2d')` | Line rendering |
| **particles2d** | `use('particles2d')` | Particle emitters |
| **tween** | `use('tween')` | Value interpolation over time |
| **ease** | `use('ease')` | Easing functions |
| **color** | `use('color')` | Color utilities |
| **resources** | `use('resources')` | Asset path resolution |
| **action** | `use('action')` | Action definitions |
| **draw2d** | `use('draw2d')` | Immediate-mode 2D drawing |
| **clay** | `use('clay')` | UI layout |
| **point** | `use('point')` | Point/vector utilities |

## Actor Primitives

These are built into the Pit language runtime and available in all `.ce` programs:

| Primitive | Purpose |
|-----------|---------|
| `$start(callback, path)` | Spawn a child actor from a program |
| `$receiver(callback)` | Register a message handler |
| `send(target, message)` | Send a message to an actor |
| `$delay(callback, seconds)` | Schedule a one-shot callback |
| `$clock(callback, interval)` | Schedule a repeating callback |
| `$stop()` | Terminate the current actor |

## Globals

| Name | Purpose |
|------|---------|
| `use(path)` | Import a module |
| `log.console(msg)` | Print to console |
| `meme(proto, data)` | Create object with prototype and overrides |

## Internal Modules

These are used by the engine internally and not intended for direct game use:

`film2d`, `effects`, `sdl_gpu`, `graphics`, `rasterize`, `fx_graph`, `debug_imgui`, `device`, `input/backends/*`, `input/bindings`, `input/devices`, `input/router`
