Sup, everyone!
I'm porting ProUI, to Native SDK and I bring SDK improvements that were required to make it work. This issue is to keep track of stuff and explain the PR shotgun.
Matching ProUI's designs and the density of the demo apps built with it required some updates to the SDK in a few of places. I made those changes in a fork I could develop with, but it'd be nice to have them in the SDK as it'll benefit everyone using it, not just ProUI
Some of the fixes:
- Rounded
clip_contentsurfaces cut their children square on every backend. - Drop shadows on macOS rendered at about 1% strength and pointed the wrong way vertically.
- ProMotion displays were capped at 60 Hz.
- A dropped scroll report could leave the native scroller and the canvas content permanently out of step.
- An open accordion containing a closed one never became interactive.
- Wrapped paragraphs could be measured at the wrong width and overlap the next sibling.
I've also added general mechanisms for things ProUI needed that would be beneficial to other projects using Native SDK: widget painters, app-level input hooks, SliderRange, side-anchored overlays, and composed tooltips.
| PR | What |
|---|---|
| #471 | Canvas fixes: paragraph and overlay measurement, container borders, nested accordions, animation transforms |
| #472 | Letter spacing, authored text size and line height, rounded content clips on every backend (wire format v6) |
| #473 | Widget painters and custom-control seams (cursor override, automation hover) |
| #474 | Slider source ranges, vertical flush button groups, app input hooks |
| #475 | Side-anchored overlays, docked modals, modal dismissal, menu safe triangle, composed tooltips, checked native menu items |
| #476 | Layout memoization, desktop budgets, virtual-list row reuse, animation continuity |
| #477 | File path dialogs for Zig apps, app-owned pixels, real-time audio output |
| #478 | macOS shadow, stroke, font, and accessibility fixes |
| #479 | macOS scrolling reliability, display-rate pacing, GPU compositing |
| #480 | GPU scenes rendered into registered images (builds on #479) |
The fixes (#471, #478, and most of #479) should be uncontroversial and I welcome design feedback on:
- the painter API in #473 (a function pointer plus a fixed
[8]f32payload) - the
SliderRangemodel in #474 - the overlay placement additions in #475
- whether real-time audio output (#477) and GPU scenes (#480) belong in the SDK at all. I feel like it's neat, but idk
Everything is split so it can be merged independently except #480, which builds on #479
Thx, see you tomorrow ▲
Activity
0No activity yet.