Skip to content

Examples

Every app in examples/ is a real web project, built with Vite and packed with screenkit bundle. They exist to answer one question each, and they are the fleet the device scripts run — so when a page here says an app renders, a screenshot from the shipping macOS host says so too.

Every screenshot on these pages was captured by the runtime itself:

Terminal window
SCREENKIT_CAPTURE=shot.png SCREENKIT_CAPTURE_DELAY_MS=3000 \
runtime/build/macos/screenkit-host --window --size 1280x720 examples/<app>/app.skpkg

That reads the default framebuffer after the frame’s GL work has run and before it is presented — what the screen is about to show. No screen recording, no simulator, no window manager in the way.

Example What it answers
PixiJS hello world does an ordinary Pixi 8 app run unmodified?
Phaser hello world the same for Phaser 4, with a bitmap font
three.js cube does WebGL 2 work, lit and depth-tested?
Lightning 3 + Blits the M6 milestone: unmodified Lightning renders a UI with text
Lightning 3 shaders eight shader programs, uniform arrays, a per-frame timed shader
Blits example app a whole upstream app, src/ untouched
Pixi stress how much can it draw before the frame rate drops?
Phaser stress the same measurement, same harness, other engine
System info what is this device, according to the runtime?
Terminal window
npm run build:screenkit -w screenkit-example-pixi-hello
runtime/build/macos/screenkit-host --window examples/pixi-hello/app.skpkg

Or on hardware, where the script takes the directory name:

Terminal window
sh tools/android/android.sh run pixi-hello
sh tools/batocera/pi.sh run lightning3-blits