Just published the technical post-mortem behind Paneflow, a Rust + GPUI terminal multiplexer I built for running AI coding agents (Claude Code, Codex, OpenCode) in parallel panes.

Framework selection, alacritty integration, N-ary layout tree, JSON-RPC IPC, four lessons I got wrong.

https://dev.to/arthurj-dev/building-a-native-terminal-for-ai-coding-agents-in-rust-gpui-2bg4

#Rust #Terminal #GPUI #AI

Building a native terminal for AI coding agents in Rust + GPUI

Why I rebuilt cmux's agent-first terminal workspace in pure Rust on Zed's GPUI engine: framework selection, the alacritty integration, dev-server detection via /proc/net/tcp, the N-ary layout tree, JSON-RPC IPC for agent orchestration, and four things I got wrong.

DEV Community

Zed 1.0 정식 출시: Rust 기반 고성능 AI 네이티브 에디터의 이정표

Electron의 한계를 극복하기 위해 Rust와 자체 GPU UI 프레임워크(GPUI)를 사용하여 비디오 게임 엔진 방식으로 개발되었다.

🔗 원문 보기

Zed 1.0 정식 출시: Rust 기반 고성능 AI 네이티브 에디터의 이정표

Electron의 한계를 극복하기 위해 Rust와 자체 GPU UI 프레임워크(GPUI)를 사용하여 비디오 게임 엔진 방식으로 개발되었다.

Ruby-News | 루비 AI 뉴스

Zed 커뮤니티 챔피언 Jason Lee: gpui 생태계 구축과 성능 혁신

Jason Lee는 2024년 2월부터 Zed에 115개 이상의 PR을 병합하며 GPU 기반 UI 프레임워크인 gpui 발전에 크게 기여했다.

🔗 원문 보기

Zed 커뮤니티 챔피언 Jason Lee: gpui 생태계 구축과 성능 혁신

Jason Lee는 2024년 2월부터 Zed에 115개 이상의 PR을 병합하며 GPU 기반 UI 프레임워크인 gpui 발전에 크게 기여했다.

Ruby-News | 루비 AI 뉴스

GhostMD

GhostMD is a native macOS note-taking app that feels like Ghostty—GPU-accelerated via GPUI, keyboard-first, monospace, and zero-config. Notes are just .md files in ~/Documents/ghos(...)

#apps #editor #gpui #keyboardfirst #macos #markdown

https://taoofmac.com/space/apps/ghostmd?utm_content=atom&utm_source=mastodon&utm_medium=social

@servo can you make some basic use / demo using something like #gpui or #iced? We can then start to use some 'normal' GUI Toolkit to build stuff around the browser engine...

I thought about writing the low-level parts in #Rust and then binding a high-level #Swift API on top.

But #GPUI for example all closures and borrowed state. Doesn't cross language boundaries well.

So if I actually want Swift, there’s no real GPUI alternative. Which means rebuilding a similar API on top of Skia.

And that means… way more code. Code I now have to maintain. I'm in limbo.

#GPUI's latest GIT branch has ability to run windowless apps and layer shell in #Wayland.

I tried, it's now feasible to make tray apps with GPUI, and for instance show an overlay based on external events.

Memory usage is like this:
USS ~30MB
GPU memory, when layer shell is closed ~20-40MB
GPU memory when layer shell is visible ~120MB

It's not great that you can't get GPU memory to zero, but it's best that these toolkits can now do.

Tray icon still needs external package, but that is fine.

GUI with 2 textboxes, 5 labels. Leaderboard is now, least memory usage first:

- 47 MB Slint with software-renderer-systemfonts
- 50 MB QT
- 100 MB GPUI
- 105 MB EGUI
- 135 MB Slint with defaults

#Rust #Slint #Qt #EGUI #GPUI

Longbridge's GPUI-components which uses Zed's GPUI to render, can't render other than left aligned text, no center or right alignment.

It boggles my mind they built whole Zed and never even once needed to align text?

https://github.com/zed-industries/zed/issues/8792

https://github.com/longbridge/gpui-component/issues/1602

#Zed #GPUI #Rust

GPUI: Text alignment support · Issue #8792 · zed-industries/zed

Check for existing issues Completed Describe the feature Add a support for alignment in TextStyle which would be used to control the alignments of the text in its container. The TextStyle struct cu...

GitHub

Really painful, I want #Rust GUI toolkit for Wayland that minimizes memory usage. My UI is two textboxes and five labels, I don't want to use browsers.

#EGUI = 105MB of memory
#GPUI with GPUI-components = 100MB of memory

However running Smithay example Wayland window takes only 2MB of memory! But it is not toolkit, it doesn't have textboxes etc.

If toolkit uses already over 100MB of memory, it feels like I could just use webview, sigh.