PLAY / GAMES & INSTRUMENTS

Small screens.Big play.

Start a project
Marble Play
01 / Games

Play.

13 / 13
Marble Play preview01 / PLAY
Creative480 × 320
Twin Beacons preview02 / PLAY
Puzzle480 × 320
Tidal Atlas preview03 / PLAY
Strategy480 × 320
Echo Walker preview04 / PLAY
Puzzle480 × 320
Pixel Loom preview05 / PLAY
Creative480 × 320
Lumen Lab preview06 / PLAY
Puzzle480 × 320
Folding Ark preview07 / PLAY
Puzzle480 × 320
Atlas Restoration preview08 / PLAY
Puzzle480 × 320
Module Factory preview09 / PLAY
Strategy480 × 320
Orbital Mission preview10 / PLAY
Creative480 × 320
Logic Circuit preview11 / PLAY
Creative480 × 320
Moss Study preview12 / PLAY
Creative480 × 320
Pocket Post preview13 / PLAY
Strategy480 × 320
02 / Demos

Explore.

Components, rendering, motion, effects, state, and scrolling.

03 / Multiple targets

Build once.
Route precisely.

Fixed-point geometry, typed components, reactive state, and backend composition carry the same UI model from memory-constrained devices to desktop GPU rendering.

Q24.8 layout + hit testing no_std + alloc core Shaped and path text Software + GPU routes
01 / COMPOSEui! · RUST
ui! {
  Column(container: true, grow: 1.0) {
    Text(
      "Signal ready",
      font_size: @width {
        if width < Fixed::from_int(520) {
          18_u16
        } else { 30_u16 }
      }
    )
    Slider(grow: 1.0)
  }
}
02 / RESPOND128 → 1024
128 72
390 SIGNAL72.4
1024
SIGNAL READY72.4

ONE TREE · THREE CONSTRAINT SETS

03 / ROUTESCENE DISPATCH
RETAINEDUI TREE
NORMALIZEDSCENECOMMANDS
BOUNDEDSOFTWARERGB565
NATIVEGPUWGPU
BROWSERWEBCANVAS

ONE SCENE · CAPABILITY-BASED BACKEND ROUTING

Composetyped UI · reactive values
04 / Runtime targets

Everywhere.

The same component tree reaches bounded software rasterization, native GPU paths, browser canvas, and direct display surfaces.

01

Embedded

ESP32-C3 · STM32 · Cortex-M

02

Mobile

Android · iOS

03

Desktop

WGPU · SDL GPU · software

04

Linux

framebuffer · DRM · NuttX

05

Web

Web Canvas · WebAssembly

05 / Getting Started

Open a terminal.
Make it yours.

Add mirui to an existing crate, or generate a ready-to-run project for desktop, browser, mobile, and embedded targets.

01 / CRATEcrates.io

Add mirui

Use the library directly when the runtime and window integration already exist.

cargo add mirui
Read the API docs
02 / SCAFFOLDGitHub
W-Mai /

mirui-templates

↗

Generate a focused target or a shared workspace with desktop, WebAssembly, ESP32-C3, Android, and iOS applications.

cargo install cargo-generatecargo generate --git https://github.com/W-Mai/mirui-templates.git templates/workspace --name hello-mirui

mirui

W-Mai/mirui
— —
source · —