Uses

What you can make

One engine, one language, from an app window to a board without an operating system to speak of.

Desktop apps

Windows of your own: sidebars, menus, tray, dialogs, dark mode, saved settings, packaged as a .app, a single executable or a .zapp, with signed updates.

Plugins: zinc:system, zinc:sqlite, zinc:webview.

zinc run examples/zed-editor

zinc run examples/hero

A code editor, Zed style

Games and 3D

A 2D game loop, a three.js scene on zinc:3d, physics with Box2D and Jolt. Phaser and three.js run unmodified on QuickJS.

Plugins: zinc:3d, three, zinc:physics2d, zinc:physics3d.

zinc run examples/pinball3d

zinc run examples/3d/model

3D pinball

Video and audio

GPU video mapping, gapless playlists, sound and MIDI. FFmpeg with the hardware decoders of the platform.

Plugins: zinc:video, zinc:mapping, zinc:audio, zinc:midi.

zinc run examples/video/mapper

zinc run examples/video/looper

GPU video mapping

Hardware and IoT

GPIO, sensors, small LCDs and OLEDs, telemetry. Develop on the desktop with simulators, then flash the board.

Drivers: display-st7789, display-ssd1306, display-ws2812.

zinc run examples/boards/esp32-2432s022

zinc run examples/iot-panel

A 2.2" ESP32 touch screen

E-ink and retro devices

A reMarkable Paper Pro notebook with the pen API, a Sonos remote on an HP TouchPad from 2011, tested under simulators.

Drivers: display-rmpp, display-webos, zinc:ink.

zinc run examples/remarkable/notes

examples/music/install.sh

An e-ink notebook