Documentation

Learn by building

Every page starts with a working example. Theory comes after you have something running.


Getting Started

Your First Shape

Draw a rectangle. Change its color. Resize. Rotate. Learn the editor basics in 2 minutes.

Your First Formula

Make a shape follow your cursor with one line: Ball.x = mouse.x. Understand reactive expressions.

Your First Animation

Add physics to a circle. Press Space. Watch it fall. Add a platform. Watch it bounce.

Your First Game

Build Arkanoid: paddle, ball, bricks, collision logic. Under 60 seconds in the editor.


API Reference

Technical documentation for every system. Each page starts with a working example.

PageWhat it covers
NodesScene tree, node types, lifecycle, coordinate spaces
Properties12 built-in types, descriptors, constraints, paint deep dive
ShapesAll shape types: RECT, ELLIPSE, STAR, POLYGON, VECTOR, FRAME
FormulasSyntax, compiler, signals, dependency tracking, source maps
Events & MethodsAll events, event objects, methods, code editor
PhysicsBodies, colliders, joints, attractors, sensors, raycasting
AnimationKeyframes, blending, IK solvers, clips, export
ComponentsInputs/outputs, instances, slots, non-visual, custom editors
Globalsmouse, keys, time, dt, frame, Tag, Math, console
Keyboard ShortcutsEvery hotkey, all modes

Concepts

Deep-dive articles explaining how systems work:

TopicArticle
Vector networksHow VNs differ from paths
Reactive signalsHow formulas know when to update
Formula compilerFrom expression to reactive function
Events systemClicks, collisions, and custom methods
Tag groupsGroup nodes, query in formulas
Physics bodiesDynamic, static, kinematic
CollidersAuto colliders and multi-collider bodies
Collision eventsWhen shapes touch, code runs
Physics jointsHinges, springs, ropes, welds
Gravity attractorsPoint gravity and repulsion
IK solversTwo-bone, CCD, FABRIK
Animation blendingMock-based transitions

Guides

Step-by-step tutorials building real projects:

Eyes That Follow

Cursor tracking with 2 formulas. Learn clamp(), mouse globals, parent-relative positioning.

Bouncing Ball

Physics + formulas. Dynamic body, restitution, velocity readout.

Color Picker

Interactive UI widget. HSV color space, formula-bound gradients, mouse drag.

Particle System

Tags + physics + formulas. Spawn, destroy, count. Tag.particle.length in action.

Platformer

Full game: keyboard-controlled character, platforms, coins, score. Physics + events + tags.

Export to Web

Standalone JS export. Embed your creation in any webpage.


Product pages

PageDescription
Features overviewEverything Formo does in one page
Parametric shapes5 shape types, gizmos, paint system
FormulasThe reactive formula system
PhysicsBuilt-in physics engine
AnimationFormula-keyframe hybrid animation
ComponentsReusable building blocks
Brush toolParametric strokes, pressure, eraser
TimelineAnimation timeline UI
EditorFour editing modes
ExportJS, React, Lottie, CSS, PIXI, THREE
Visual designerWidgets, layout, preview mode
CollaborationReal-time multiplayer
PricingFree, Pro, Team plans

Writing style

These docs are written for someone who codes but hasn’t graduated. If you know JavaScript basics and want to build something interactive, you’re in the right place.


Open the editor and follow along →