Program Voxels is a web-based parametric tool that automates building massing studies using cellular automata algorithms. Designed for architects and urban planners, the application intelligently distributes multiple building programmes within a user-defined boundary while respecting complex adjacency relationships.
Built with Vue 3, Three.js, and Rhino Compute, the tool bridges visual programming with an intuitive web interface. Users define their building footprint on a 2D canvas, set parameters like building height and voxel resolution, and specify target percentages for each programme. The adjacency matrix lets designers mark programme relationships as forbidden, neutral, allowed, or preferred, directly influencing spatial organisation.
A custom Python script in Grasshopper executes a two-phase cellular automata algorithm. The first phase distributes programmes vertically to establish full-height columns, while the second expands horizontally, strictly enforcing adjacency constraints. The result is a 3D voxel model where spatial logic emerges from simple rules applied iteratively across hundreds of cells.
The interactive 3D viewer allows users to click any programme within the model to instantly see statistics: total area in square metres, target share percentage, and actual distribution achieved. This real-time feedback enables rapid iteration. Adjusting adjacency rules or programme percentages and regenerating the model takes seconds.

Program Voxels demonstrates how parametric design can accelerate early-stage massing studies whilst maintaining design intent through rule-based spatial relationships. The tool outputs both 3D geometry for further development in Rhino and PDF reports documenting the generative process, making it practical for professional workflows.

The code behind the app can be accessed on github.