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).
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.
The Sunani Host provides minimal APIs for:
These APIs are designed to be small enough to be implemented consistently across different platforms.
The following demos showcase Sunani running almost entirely inside WebAssembly. Rendering, input handling, and application logic are all driven from the WASM side.
Sunani is open source and developed as a personal research and hobby project.