๐Ÿ“„ overview.md ร—
๐Ÿ“„ quickstart.ts ร—
๐Ÿ“„ api.json ร—
๐Ÿ“„ modules.md ร—
๐Ÿ“„ cli.sh ร—
๐Ÿ“„ README.md ร—

# 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

bash click to copy
# install the toolchain
curl -fsSL https://miris.dev/install.sh | sh
miris init my-game --template platformer
cd my-game && miris dev

## Status

version"0.42.1"
channel"stable"
buildpassing
coverage94.2
platforms["macos","linux","win","wasm"]
license"MIT"
issues17
contributors42
typescript quickstart.ts ยท 28 lines
// 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();
~/my-game ยท zsh
$ 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
json api.json ยท public surface
{
  "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.

@miris/core

Engine bindings, scene graph, frame scheduler.

v0.42.1stable
@miris/math

SIMD-friendly vec/mat/quat with deterministic fixed-point fallback.

v0.42.1stable
@miris/physics

Rigid body and constraint solver, deterministic across hosts.

v0.41.0beta
@miris/audio

Graph-based DSP, sample-accurate scheduling, spatial mixing.

v0.42.1stable
@miris/net

Authoritative netcode, snapshot interpolation, lag compensation.

v0.40.3beta
@miris/ai

Behavior trees, GOAP, utility AI; runs on the same tick budget.

v0.39.0alpha

# miris-cli

A single binary that scaffolds, watches, builds, packs, and ships your project.

bash cli.sh ยท usage
# 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

FlagDefaultNotes
--targetwebgpuRenderer backend.
--profiledevdev, release, shipping.
--deterministicfalseForce fixed-point math everywhere.
--watchtrueReload 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.