GPUI Box GitHub

GPUI Box compatibility

0.1.x matrix

GPUI Box owns its framework and package compatibility. There is one package and type universe: applications use Cargo package gpui-box as Rust crate gpui, and gpui-box-kit as gpui_kit. Zed crates must not be mixed into that graph.

GPUI Box cohortFramework originRustStatus
0.1.xfiltered bootstrap fran0220/zed@0b9c8dc932b65cba2dc87464148984e93f60ae18; official baseline a6a23c7b80a5cefa0487b7856335be89ace7e4831.97, edition 20240.1.0 public release

The SHAs identify imported source provenance, not Cargo Git dependencies. scripts/sync-zed/state.json records the deterministic filtered bootstrap tip, the official baseline cursor, and its exact integration merge. Release verification reconstructs those commits from the two upstream repositories and proves the receipt against the release commit's first-parent history.

Platform evidence and limits

PlatformCurrent repository contractValidation command/evidenceLimits
macOSFramework, kit, Metal, and deterministic headless catalogCI runs the all-feature native check and cargo run -p xtask -- headless check; real-window review remains separateA local result is not evidence for another OS; real-window accessibility needs a logged-in host
WindowsFramework/kit and deterministic WGPU/WARP headless catalogCI runs the all-feature native check and cargo run -p xtask -- headless check; Windows baselines existNative frame capture is not implemented; detailed UIA limits are in accessibility.md
LinuxWayland/X11 framework code and deterministic llvmpipe headless catalogCI runs the all-feature native check and cargo run -p xtask -- headless check; Linux baselines existAT-SPI and native behavior claims remain capability-scoped
Browser/WASMStable, single-threaded browser gallery using the same Rust scenesCI runs web check and the real Chromium web smoke; the visual command remains available for scoped reviewNo threaded COOP/COEP claim and no screen-reader announcement coverage

All four rows are mandatory CI surfaces. A release may claim only results recorded for its commit; the commands do not erase the explicit limitations in the final column. Accessibility capability details remain in accessibility.md, and visual mechanics in screenshot-testing.md.

Linear-gradient dithering follows one rendering contract on Metal, Direct3D, and WGPU: a screen-pixel-anchored unsigned integer hash produces the two triangular samples, so GPU families and shader compilers cannot choose different transcendental approximations for the noise. Color conversion and edge rasterization remain renderer-specific, which is why each renderer retains its own baseline rather than claiming identical bytes across platforms.

Browser checks are:

rustup target add wasm32-unknown-unknown
cargo run -p xtask -- web check
cargo run -p xtask -- web build
cargo run -p xtask -- web smoke
cargo run -p xtask -- web visual check button input dialog node-graph

The browser host is not a DOM rewrite. It covers forced WebGL2, forced WebGPU, and automatic fallback in the pinned Playwright smoke. Its AccessKit adapter mirrors roles, focus, actions, values, and canvas-scaled bounds into semantic DOM, but the JSON semantic snapshot is only a testing/debug surface.

Upstream update contract

Zed is upstream input and a compatibility-validation object, not a dependency. To update it: verify scripts/sync-zed/config.json; sync an official full SHA; resolve conflicts manually; update the receipt and provenance; run dependencies check, package check, all claimed platform gates, and inspect changed images. Generally useful changes may still be proposed to Zed independently. GPUI Box remains an independent derivative and is not endorsed by Zed Industries.