sigil-os ships syscall 105 (Direct-Scene Overlay absorption) and sigil-apps ships 12 overlay EL0 demo apps — plus real Lumen libwin apps with full AA typography and rounded chrome. All cap-gated via the broker session slot. (df6c08e + sigil-apps batch)
Syscall 105: Direct-Scene Overlay (DSO) absorption
The WM compositor accepts EL0 overlay scene submissions via syscall 105. Each submission is a cap-gated scene delta — the EL0 app holds a DSO slot handle from the broker, not the raw compositor token. Three commits build out the DSO ABI:
df6c08e— syscall 105 DSO absorption, slot ownership modeldd42eca— pointer routing to DSO slot owners (z-order-aware hit testing)d5e9908—overlay_input_dispatchz-order fix: input goes to the topmost slot, not the first registered
Syscalls 106 and 107 (fb_overlay_raise / fb_overlay_lower) let EL0 apps adjust their z-order slot at runtime — used by ovlz and ovlmulti for the cascaded compositor demo.
The 12 overlay demo apps
| App | Description |
|---|---|
ovltext | Pixel-art 5×7 glyph renderer |
ovlterm | Mini terminal with pixel-art text input |
ovlclock | 7-segment live tick-counter |
ovlprogress | Animated progress bar |
ovlsprite | Bouncing pixel-art sprite |
ovlpalette | RGB color swatch reference |
ovlgraph | Integer sine/cosine waveform |
ovlpong | Pong game in an overlay window |
ovlmatrix | Matrix rain — 20 columns, fading green trails, 80 frames |
ovlz | Z-order demo: fb_overlay_raise/lower syscalls 106/107 |
ovlmulti | 3-window cascaded overlay, N-slot Z-order compositor proof |
ovlcalc | 4-function calculator with 7-segment LCD (Director T1+ ③) |
ovlmatrix runs 80 frames with 20 columns of cascading green characters; each column has an independent decay timer for fading trails. ovlmulti is the N-slot compositor stress test: three simultaneous overlay windows, each submitted to a different DSO slot, with live z-order cycling.
Lumen libwin apps
Four apps use the libwin Lumen scene API — real Lumen AA typography, rounded window chrome, and the full lw_* widget set:
- netstat — SRDX 0.6.0 transport panel: live connection badges, TX/RX counters, session cap chip
- scope — waveform viewer using Bhaskara I integer sin/cos approximation; no FPU required, Pi3-floor safe
- ticker — event ticker with overlay / frame / input / transport badges; shows the compositor event loop in real time
- colbrowser (
5933838) — Finder-style 3-column Lumen Scene: Locations |grioghar/readdir(20) | detail+tags+fs_query(91) console. Useslw_listrowselected highlight,lw_capchiptag chips,lw_consolefor thefs_tag_list(94)/fs_query(91) syscall transcript
Widget vocabulary across all libwin apps: lw_title, lw_label, lw_value, lw_badge, lw_rule, lw_console, lw_capchip. All render via the Lumen scene ABI — GPU framebuffer first, software-2D fallback for Pi3-floor targets.