Roadmap

What we've built, what we're building, what's next.

What's built, what's next, and where we're going.

Formo is in active development. This page is updated as milestones ship. No fake dates — only "done", "in progress", and "planned."


Done

Core systems that are built and working.

FeatureStatus
Vector network engineFloat32 vertices, Uint32 segments, relative tangents, regions
Shape typesRectangle, Ellipse (6 modes), Star (3 gizmos), Polygon, Frame
Mode-based editorSelect, Vector Edit, Pen, Run
Properties panel12 typed property types, schema-driven, multi-select
Paint systemMulti-fill, multi-stroke, gradients with independent transforms
Reactive formula systemAcorn compiler, signal graph, topological sort, cycle detection, batch evaluation
Formula editorSyntax highlighting, autocomplete, per-node coloring, source maps
Physics engineplanck.js integration, dynamic/static/kinematic bodies, multi-collider, collision events
Physics UITriple toggle, density/friction/restitution sliders, velocity widget, collider groups
Event systemclick, mousedown, mouseup, mouseenter, mouseleave, collide — compiled handlers
Tag systemUser-defined groups, reactive formula access (Tag.brick.length)
Run modeLive mouse/keyboard events, formula evaluation at 60fps, physics simulation
Globalsmouse, keys, time, dt, frame, Tag, Math, console
Scene treeDrag reorder, parent/child nesting, visibility toggle
SerializationSchema-driven save/load, localStorage persistence
Undo/redoFull history stack

In progress

Actively being built right now.

Animation timeline

Per-bone timelines with formula keyframes. Keyframes hold reactive expressions, not just static values. Visual editing with easing curves. The tween engine is already proven — built and tested in the Foximation animation editor.

Brush tool

Parametric strokes: raw points + configuration as source of truth. Nib shape sweep with pressure/tilt. Non-destructive — change brush settings after drawing.


Planned

Near term

FeatureDescription
Keyframe blendingMock-based crossfades between animation clips. Freeze-blend and live-blend modes.
IK solversTwo-bone (analytical), CCD (iterative), FABRIK (position-based). For character animation.
Physics jointsRevolute, prismatic, distance, weld, rope, spring. Motors and limits.
Gravity attractorsPoint gravity fields with inverse-square falloff. Attraction and repulsion.
Export: standalone JSSelf-contained bundle with evaluation functions, event wiring, teardown. No dependencies.
Export: Lottie JSONStatic keyframe animations for mobile and web.

Medium term

FeatureDescription
Component systemTyped inputs/outputs, instances, independent state. Change definition → all instances update.
Non-visual componentsTimer, State, API Connection — logic-only entities with reactive interfaces.
Component slotsVNode inputs for IK targets, look-at targets, spatial references.
Export: ReactVisual components → React components. Non-visual → custom hooks. Props from inputs.
Export: CSS @keyframesSingle-property animations as native CSS.
MaskingAlpha masks and outline masks.

Long term

FeatureDescription
Visual designerWidget palette (Button, TextInput, Slider, etc.), flex/grid layout, preview mode.
Custom editorsUnity-style inspector panels for component types. Editors are themselves components.
Export: PIXI.jsScene graph compilation for PIXI.js runtime.
Export: THREE.js2D content as THREE.js planes/sprites.
Real-time collaborationMultiple cursors, conflict resolution, version history.
Instanced geometryLinked duplicates sharing vector network data.
CanvasKit renderingSkia-based renderer for advanced effects: blur, blend modes, path effects.

How features ship

  1. Design the system in documentation
  2. Build the core logic with tests
  3. Build the UI controls
  4. Internal testing
  5. Beta release for early users
  6. Iterate based on feedback
  7. Stable release

Every feature goes through this pipeline. No "stealth launches." Beta users see everything first.


Want to influence the roadmap?

Beta users get direct access. The features you need move up the list.

Join the Beta →

← НазадWhy Formo ExistsДальше →Pricing