# MiRiS Developer Portal
The technical hub of the MiRiS game-making circle. Engines, SDKs, and tools for shipping production-grade interactive worlds.
## What lives here
- โธmiris-engine โ modular runtime targeting desktop, console, and WASM.
- โธmiris-sdk โ typed bindings for TypeScript, Rust, and C++20.
- โธmiris-cli โ scaffolding, hot reload, and asset pipeline orchestration.
- โธmiris-pack โ deterministic content bundler with delta updates.
## Install
# install the toolchain
curl -fsSL https://miris.dev/install.sh | sh
miris init my-game --template platformer
cd my-game && miris dev
## Status
// Hello, World โ your first MiRiS scene
import { Engine, Scene, Sprite } from "@miris/sdk";
import { vec2 } from "@miris/math";
const engine = new Engine({
canvas: "#stage",
target: 60,
renderer: "webgpu",
});
const scene = new Scene("main");
const hero = await Sprite.load("/assets/hero.png");
scene.add(hero, vec2(320, 240));
engine.tick((dt) => {
hero.x += 120 * dt;
if (hero.x > 800) hero.x = 0;
});
engine.mount(scene).run();
$ miris dev [engine] webgpu adapter acquired (Apple M3 Pro) [scene] compiled main โ 1.8ms [serve] http://localhost:4242 ready in 312ms [watch] 14 source files ยท hot reload armed
{
"engine": {
"version": "0.42.1",
"renderers": ["webgpu", "webgl2", "vulkan"],
"targets": ["native", "wasm", "console"]
},
"sdk": {
"languages": ["typescript", "rust", "cpp"],
"modules": 38,
"docs": "https://miris.dev/sdk"
},
"cli": {
"commands": ["init", "dev", "build", "pack", "ship"],
"hot_reload": true
}
}
## Endpoints
| Method | Path | Description |
|---|---|---|
| GET | /v1/engines |
List runtime channels and platform support. |
| GET | /v1/sdk/:lang/manifest |
Type manifest for the requested language binding. |
| POST | /v1/builds |
Submit a build job; returns artifact descriptors. |
| DELETE | /v1/builds/:id |
Cancel a running build job. |
# SDK Modules
Pick what you need. Tree-shakeable, deterministic, and forward-compatible across the 0.x line.
Engine bindings, scene graph, frame scheduler.
SIMD-friendly vec/mat/quat with deterministic fixed-point fallback.
Rigid body and constraint solver, deterministic across hosts.
Graph-based DSP, sample-accurate scheduling, spatial mixing.
Authoritative netcode, snapshot interpolation, lag compensation.
Behavior trees, GOAP, utility AI; runs on the same tick budget.
# miris-cli
A single binary that scaffolds, watches, builds, packs, and ships your project.
# scaffold
miris init <name> --template <platformer|topdown|3d>
# dev loop with hot reload
miris dev --port 4242 --target webgpu
# release pipeline
miris build --profile release --targets "native,wasm"
miris pack --delta
miris ship --channel stable
## Common flags
| Flag | Default | Notes |
|---|---|---|
--target | webgpu | Renderer backend. |
--profile | dev | dev, release, shipping. |
--deterministic | false | Force fixed-point math everywhere. |
--watch | true | Reload on source change. |
# README
MiRiS is a developer-first toolkit for shipping interactive worlds. The portal is the canonical home for the engine, SDK, and CLI.
## Philosophy
Determinism, then ergonomics. Both, always.
## Links
- โธEngine source โ open repository, MIT.
- โธSDK reference โ typed manifests for every language binding.
- โธDiscord โ engine devs and circle members.
- โธRFC tracker โ open proposals and design notes.
## Versioning
SemVer with a deterministic-API guarantee within minor versions. Pin to ~0.42 to receive only patch updates.