@gpuix/react@0.3.0
Also ships @gpuix/native@0.3.0. CI publishes both packages.
-
CSS grid on
div—display: "grid"plusgridTemplateColumnsmaps to GPUI's Taffy grid. UsegridColumnMin: "max-content"for tables so each column is as wide as its widest cell.<div style={{ display: 'grid', gridTemplateColumns: 3, gridColumnMin: 'max-content', rowGap: 1, columnGap: 1, }} > {cells} </div>
gridTemplateRowsandgridRowMinwork the same on the other axis. -
Window chrome at open time —
render()now honors a transparent titlebar, traffic-light position, and a blurred or transparent window background.import { render } from '@gpuix/react' render(<App />, { title: 'Waku', width: 1180, height: 820, titlebarTransparent: true, windowBackground: 'blurred', trafficLightX: 16, trafficLightY: 17, })
windowBackgroundis"opaque"(default),"transparent", or"blurred". -
<diff>flows with its parent — it no longer owns a scroller unless you passscroll. UsemaxLinesto keep a long patch short. Show more firesonShowMore.const [open, setOpen] = useState(false) <diff patch={unifiedPatch} wordDiff maxLines={open ? undefined : 24} onShowMore={() => setOpen(true)} />
-
Debug frame overlay — see draw time on a live window.
render(<App />, { title: 'My App', debugFrameOverlay: 'full' })
Modes are
hidden,minimal, andfull. The readout is draw time, not FPS.8.3 MSis about 120 Hz. -
Quit when the last window closes — the red traffic-light button now exits the process.
-
Overlays block hits, and
pointerEventsworks — setpointerEvents: "none"to opt out. SetpointerEvents: "auto"to block even with no fill. -
Opaque Select, Combobox, and Tooltip surfaces —
FloatingLayerdefaults tobackgroundColor: "#1A1A1A". -
<svg>icons paint on the first frame — file paths anddata:image/svg+xmlURLs both work. -
bun --hotremounts no longer paint a black window. -
Cmd+Delete and Cmd+Backspace in
<input>and<textarea>match the macOS system text field. -
Vertical wheel over
overflowX: "scroll"stays on the parent. Trackpad X still pans the wide child. -
Parent scroller takes the wheel over a filled in-flow
div. -
macOS scroll stays at the display rate on expensive frames.
-
Faster first React mount —
applyBatchsends styles and custom props as JSON values instead of double-encoded strings. -
Raw custom-prop values stay intact —
<anchored side="top">commits again.