47 lines
2.5 KiB
Markdown
47 lines
2.5 KiB
Markdown
# 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.
|