Sunani

Sunani is a minimal virtual computing environment built around WebAssembly. It is designed as a small, portable, and experimental platform for interactive programs.

The same WebAssembly module can run on multiple hosts. Currently, Sunani provides host implementations for Go (native) and the Web (JavaScript + Canvas).

Design Philosophy

Sunani intentionally exposes only a very small host API. The host is responsible for windowing, input, and basic drawing, while almost all application logic lives inside WebAssembly.

This approach keeps the environment simple and predictable, and encourages building higher-level abstractions on the WebAssembly side rather than in the host.

Host API Overview

The Sunani Host provides minimal APIs for:

These APIs are designed to be small enough to be implemented consistently across different platforms.

Demos

The following demos showcase Sunani running almost entirely inside WebAssembly. Rendering, input handling, and application logic are all driven from the WASM side.

Use Cases

Source Code

Sunani is open source and developed as a personal research and hobby project.

Sunani on GitHub