Linux desktop
Checked against f15b998 on 2026-11-10. The files it covers are unchanged since.
On Linux, niso’s host is niso-iced (hosts/iced), a Rust program that runs
the page with QuickJS and draws the render stream with
iced. It also builds on macOS.
Build and run
Section titled “Build and run”hosts/iced/build.sh # examples/counter in a windowhosts/iced/build.sh timer --size 400x600target/release/niso-iced --page index.html --root .--page loads an HTML page as niso-run --page does: with --root, the
page’s origin http://localhost/ serves the files under that directory.
--tap X,Y taps after launch, half a second apart, for scripted runs.
How it draws
Section titled “How it draws”Each render node is an iced widget placed at the frame the core gave it.
Text is the core’s own shaped glyph runs rasterized with swash, iced’s own
rasterizer, into one bitmap per text node (src/text.rs), so measuring and
drawing can’t disagree. Controls are iced’s stock toggler, slider, button,
progress bar and text fields, measured at startup and reported to the core
(src/controls.rs). iced has no segmented control, so a segmented radio
group is a row of radio buttons.
Testing
Section titled “Testing”The screenshot harness renders pages with niso-iced --screenshot offscreen
and compares them to Chrome: tests/check.sh --iced
(Testing). Dark mode isn’t part of that run.
Windows (WinUI 3) is planned (Planned platforms).