claude

Terminal 3D Gaussian Splatting via 80 AI Agents

A developer built a 3D Gaussian splat renderer running in terminal using ASCII characters, created entirely through orchestrating over 80 Claude AI agents in a

What It Is

A developer recently constructed a 3D Gaussian splat renderer that operates entirely within a terminal window, displaying complex 3D scenes using nothing but ASCII and Unicode characters. The project ran on CPU alone through Rust with Rayon parallelization, requiring no GPU acceleration. What makes this particularly noteworthy is the development methodology: the creator orchestrated over 80 Claude AI agents across three days, establishing a hierarchical workflow where different agent types handled distinct phases of development.

The agent architecture separated concerns cleanly. A main Claude session functioned purely as coordinator, delegating all implementation work to a custom “Task” subagent stored in a .claude folder. This Task agent then spawned additional specialized agents through agent-mux based on the work required. For new features, the workflow progressed through planning with Opus 4, challenging assumptions with Codex 5.3 xhigh, building with Codex 5.3 high, and auditing with Opus or Codex xhigh. For optimization problems, the system spawned 4-5 Codex 5.3 xhigh agents in parallel, each exploring different implementation approaches before converging on solutions.

Why It Matters

This project demonstrates two significant developments in AI-assisted programming. First, it shows that complex graphics rendering can be achieved in constrained environments. Terminal-based 3D rendering opens possibilities for remote server visualization, debugging tools, and educational demonstrations where traditional graphics pipelines are unavailable or impractical.

Second, and more importantly, it validates a multi-agent development pattern that treats AI assistants as specialized team members rather than monolithic tools. The hierarchical structure mirrors how human development teams organize: architects plan, specialists implement, reviewers audit. By keeping the main session focused on coordination while delegating heavy cognitive work to nested subagents, developers can maintain clearer context boundaries and reduce the cognitive overhead of managing complex projects.

The parallel optimization approach particularly stands out. Spawning multiple agents to explore competing solutions simultaneously mimics how experienced teams tackle difficult problems, generating diverse hypotheses before converging on the best path forward. This pattern could reshape how developers approach performance-critical code sections.

Getting Started

The core implementation uses Rust with the Rayon crate for parallelization. A basic terminal renderer structure might look like:


fn render_gaussians(gaussians: &[Gaussian3D], width: usize, height: usize) -> Vec<char> {
 (0..height).into_par_iter()
 .flat_map(|y| {
 (0..width).map(move |x| {
 let intensity = compute_pixel_intensity(x, y, gaussians);
 intensity_to_char(intensity)
 }).collect::<Vec<_>>()
 })
 .collect()
}

For developers interested in replicating the multi-agent workflow, the pattern requires setting up custom agents in a .claude folder and using tools like agent-mux to manage parallel agent execution. The key is maintaining strict separation: the main session should only coordinate and delegate, never implement directly.

The Gaussian splatting algorithm itself requires computing 3D Gaussian distributions and projecting them onto 2D screen space, then mapping intensity values to character sets with varying visual density.

Context

Traditional 3D Gaussian splatting typically relies on GPU compute shaders for real-time performance, as seen in implementations like https://github.com/antimatter15/splat. Moving this to CPU-based terminal rendering represents a significant constraint that requires aggressive optimization.

Alternative approaches to terminal graphics include ASCII art generators and tools like libcaca, but these typically work with pre-rendered images rather than real-time 3D scenes. The terminal constraint forces creative solutions around character selection and spatial resolution limitations.

The multi-agent development pattern contrasts sharply with single-session AI assistance. While one-on-one interaction with an AI assistant works well for straightforward tasks, complex projects benefit from specialized agents handling distinct concerns. The tradeoff involves increased setup complexity and coordination overhead against better context management and parallel exploration of solution spaces.

Limitations include terminal refresh rates, character resolution constraints, and CPU performance bounds. The approach works best for visualization and demonstration rather than production graphics pipelines. However, the development methodology itself transfers readily to other complex software projects beyond graphics rendering.