Plugins

Pay only for what you import

Plugins live in plugins/, one directory each, and are compiled into a program only when it imports them. Native ones hold C/C++ code or a library; Zinc ones are written in Zinc. zinc plugins lists them for your project. Abbreviations: Pi = Raspberry Pi, rM = reMarkable Paper Pro, Web = WebAssembly.

44 modules

PluginWhat it doesCodePlatforms
zinc:3d3D: meshes, materials, lights, camera, scene graph; software or GPUNativemacOS, Linux, Pi, ESP32, Web
threethree.js API subset on `zinc:3d` (GLTFLoader, OrbitControls)NativemacOS, Linux, Pi, Web
zinc:canvasHTML Canvas 2D-style contextNativemacOS, Linux, Pi, rM, Web, ESP32
zinc:svgSVG rendered at run timeNativemacOS, Linux, Pi, Web
zinc:lottieLottie animations, `<Lottie/>NativemacOS, Linux, Pi, rM, Web, PS2, ESP32
zinc:mapVector maps (Mapbox tiles, MapLibre styles)NativemacOS, Linux, Pi
zinc:mappingGPU video mapping (warp, masks, blends) driven by OSCNativemacOS, Pi
zinc:videoVideo: FFmpeg (VideoToolbox, V4L2), GStreamer and the hardware decoder on webOSNativemacOS, Linux, Pi, webOS
zinc:audioSounds and music (WAV, FLAC, MP3, Ogg) on miniaudioNativemacOS, Linux
zinc:midiMIDI in and out (RtMidi)NativemacOS, Linux
zinc:osc/fullOpen Sound Control over UDPZincmacOS, Linux, Pi, rM
zinc:physics2d2D physics (Box2D 3.1)NativemacOS, Linux
zinc:physics3d3D physics (Jolt 5.6)NativemacOS, Linux
zinc:gesturesPan, pinch, rotate, tapZincmacOS, Linux, Pi, Web, ESP32, PS2
zinc:inkHandwriting: pressure, eraser, SVG/JSON exportZincmacOS, Linux, Pi, Web, rM
zinc:spriteSprite animations from packed atlasesZincmacOS, Linux, Pi, Web, ESP32, PS2
zinc:tilemapTiled and LDtk levelsZincmacOS, Linux, Pi, Web, ESP32, PS2
zinc:pixelfont5x7 and 3x5 bitmap fonts for LED matricesZincmacOS, Linux, Pi, ESP32, Web, PS2
zinc:loaderLoading screens (bar, splash, `<Loader>`)ZincmacOS, Linux, Pi, Web, ESP32, PS2
zinc:sqliteSQLite 3.53 databasesNativemacOS, Linux, Pi, rM
gsapGSAP's core API in typed Zinc (tweens, timelines, eases, staggers), compiled by `zinc build`; the whole library runs on the QuickJS engineZincmacOS, Linux, Windows, Pi, rM, webOS, Web, ESP32
zinc:async-storageReact Native's AsyncStorage on `zinc:storageZincmacOS, Linux, Windows, Pi, rM, webOS, ESP32
zinc:socketTCP, UDP and Unix sockets, DNS, WebSocket client and serverNativemacOS, Linux, Pi, rM
zinc:webrtcWebRTC (`RTCPeerConnection`): data channels, audio and video tracks (Opus, VP8, H.264 in hardware on macOS), stats, STUN/TURN (libdatachannel)NativemacOS, Linux, Pi
zinc:linkTwo programs find each other (DNS-SD), pair once with a 6-digit code and talk over an encrypted channel (JSON and bytes, reconnecting): zinc agent's protocolNativemacOS, Linux, Android
zinc:processChild processes (args, streams, kill)NativemacOS, Linux, Pi
zinc:ffiC functions of shared libraries (libffi)NativemacOS, Linux
zinc:scriptSandboxed JavaScript at run time (QuickJS-ng)NativemacOS, Linux, Pi, rM
zinc:wasmWebAssembly on wasm3NativemacOS, Linux, Pi, rM
zinc:systemDesktop integration: notifications, menus, tray, dialogs, shortcuts, clipboardNativemacOS, Linux
zinc:webviewEmbedded web views (WKWebView), Tauri-like messagesNativemacOS
zinc:devtoolsUI inspector for Chrome DevToolsNativemacOS, Linux, Pi
zinc:serialSerial ports (Arduino and other boards)NativemacOS, Linux
zinc:cameraWebcams and built-in cameras: frames as an image, snapshots, a fake camera (AVFoundation, V4L2)NativemacOS, Linux, Pi
zinc:microphoneMicrophones: samples in blocks, a level meter, a fake microphone (miniaudio: Core Audio, ALSA)NativemacOS, Linux, Pi
zinc:gphoto2Camera remote control over USB (libgphoto2)NativemacOS, Linux, Pi
zinc:leapmotionUltraleap hand tracking (LeapC)NativemacOS
zinc:imuQMI8658 motion sensorNativeESP32, macOS, Linux
zinc:deviceBoard services: backlight, chip, heapNativeESP32, macOS, Linux
zinc:remarkablereMarkable status bar (clock, battery, exit)NativerM, macOS, Linux
zinc:remoteView and drive a `display-remote` appNativemacOS, Linux, Pi
zinc:weboswebOS services (Luna bus through PDL), root helper, notificationsNativemacOS, Linux
zinc:sonosSonos speakers (UPnP): rooms, groups, playback, volume, radiosZincmacOS, Linux, Pi, rM
zinc:spotifySpotify Web API: paged lists, search, playbackZincmacOS, Linux, Pi, rM

9 display drivers

PluginWhat it doesPlatforms
display-glGPU screen: OpenGL (SDL3) on macOS, KMS/EGL/GLES 2 on Pi and Linux, GLES 2 through Palm's SDL on webOSmacOS, Pi, Linux, webOS
display-webosFirst TouchPad driver: SDL 1.2, software frames, multitouchLinux
display-fbdevLinux framebuffer (`/dev/fb0`) with keyboard, mouse and touchLinux, Pi
display-remoteHeadless: streams frames over TCP to `zinc:remote` viewersmacOS, Linux, Pi
display-rmppreMarkable Paper Pro e-ink, pen and touchrM (emulated on macOS, Linux)
display-st7789ST7789 and ILI9341 LCDs over SPI, CST820 touchESP32, macOS
display-ssd1306SSD1306 OLEDs over I2CESP32, Pi, Linux, macOS
display-ws2812WS2812 (NeoPixel) LED matricesESP32, Pi, Linux, macOS
display-scrollphatPimoroni Scroll pHAT (11x5 LEDs) over I2CPi, Linux, macOS

Plugin guides: docs.