gpui.mbt

ISSUE 0009 · BROWSER BACKEND

One MoonBit scene.
A browser host.

The app model, flex layout, hit testing, focus, event queue and SceneSnapshot run in MoonBit. The browser owns one Canvas 2D viewport and feeds it typed input.

MoonBit JS Canvas 2D One logical viewport

LIVE VIEWPORT

Portable app fixture

STARTING

Tab focus ← → move Enter activate

Input owner: gpui.mbt canvas

TEXT INPUT

Enter committed text

Start typing to send committed characters to the MoonBit app. Text appears below; editing, selection and caret display are still pending.

Text input is off.

No committed text yet.

Committed inserts: 0

CLIPBOARD

Copy and paste text

The browser may ask for clipboard permission.

01

Same portable model

Flex layout and reverse-order element hit testing feed the shared quad scene.

02

Logical size stays logical

Pointer coordinates and layout use CSS pixels; DPR only scales the canvas backing store.

03

Experimental by design

Clipboard text, committed input and Canvas 2D restoration extend this slice. WebGPU, full text/IME, general accessibility and production support remain open.