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:
SCREENKIT_CAPTURE=shot.png SCREENKIT_CAPTURE_DELAY_MS=3000 \ runtime/build/macos/screenkit-host --window --size 1280x720 examples/<app>/app.skpkgThat 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.
The fleet
Section titled “The fleet”| 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? |
Running one
Section titled “Running one”npm run build:screenkit -w screenkit-example-pixi-helloruntime/build/macos/screenkit-host --window examples/pixi-hello/app.skpkgOr on hardware, where the script takes the directory name:
sh tools/android/android.sh run pixi-hellosh tools/batocera/pi.sh run lightning3-blits