Files
lumbridge-code/docs/UI_SPIKE_SCORECARD.md
T
karti f75a3f0c78
CI / rust (push) Successful in 1m41s
Record Ubuntu native UI spike baseline
2026-08-31 15:47:13 -07:00

2.5 KiB
Raw Blame History

Native UI spike scorecard

The GPUI and Floem programs under spikes/ consume the same six-pane fixture. No product framework decision is accepted until both rows contain measurements from macOS and Linux and the hard gates pass.

Criterion Hard gate GPUI Floem
Builds on macOS Apple Silicon yes pending pending
Builds on Ubuntu yes conditional pass
Builds on Omarchy/Arch yes pending pending
Dependency/license closure permits Apache-2.0 distribution yes pending pending
Keyboard navigation + AccessKit tree yes pending pending
IME and composed Unicode input yes pending pending
Isolated system browser child yes pending pending
Cold startup, p50/p95 record pending pending
Idle RSS / six-stream RSS record pending pending
Key-to-present p50/p95 record pending pending
Six-stream frame p95/p99 record pending pending
Release binary/package size record pending pending
Native menu/window/clipboard/drag-and-drop review pending pending
API clarity and maintenance burden review pending pending

The current programs establish dependency, build, launch, and static layout baselines. The next iteration adds deterministic streaming, input timestamps, accessibility identifiers, a native Markdown editor, and one Wry browser child.

Ubuntu baseline — metal, 2026-08-31

Host: Ubuntu 24.04 x86_64, Rust 1.94.1. Both candidates used the same 1280×800 six-pane fixture and were launched under the active X11 desktop.

Observation GPUI 0.2.2 Floem 778bb5f2
cargo check from downloaded dependency cache 20.76 s, 1.04 GiB max RSS 24.26 s first attempt + 4.06 s after enabling required editor feature, 753 MiB max RSS
Debug executable link pass with a user-local linker symlink for installed libxkbcommon-x11.so.0 pass
Debug executable size 442 MiB 475 MiB
Native window launch and six-pane render pass pass
Root workspace CI 8/8 tests, strict Clippy and doctests pass in 10.79 s shared result

These are cold-development baselines, not startup, release-size, or runtime performance numbers. GPUI's Ubuntu row remains conditional because the host has the runtime libxkbcommon-x11.so.0 but lacks the unversioned development linker name normally supplied by libxkbcommon-x11-dev. Floem current main also requires its editor feature for the style/label modules used by this shell; that feature is now explicit in the spike. Neither finding decides the UI stack.