10 Commits
Author SHA1 Message Date
Mike-Solar 4067918c67 feat(macos): tag the Metal layer with the display colorspace on demand
When the app self-manages the display transform (OAK_MACOS_LAYER_
COLORSPACE=display set at startup), the CAMetalLayer is tagged with the
main display's colorspace so ColorSync passes the already-transformed
pixels through — without the tag the OS would re-correct them (double
correction). The CoreGraphics FFI lives in its own module because the
build script forwards metal_renderer.rs FFI declarations into the
Metal shader header.
2026-08-21 02:17:16 +08:00
Mike-Solar af5482d774 style: cargo fmt with the workspace tab policy (hard_tabs)
Whitespace only; the fork has no own rustfmt.toml so the Oak root
policy applies.
2026-08-11 23:06:13 +08:00
Mike-Solar 816d6db93e fix(gpui_macos): silence const-in-pattern warnings in surface format check
Compare the pixel format with == instead of match patterns to avoid
non_upper_case_globals warnings from the CoreVideo constants.
2026-08-09 06:33:31 +08:00
Mike-Solar d97e3abd20 feat(gpui): support BGRA surfaces on macOS; add W4 viewer widget
Two changes landing W4 of the oak task list:

gpui_macos: the Surface renderer only accepted biplanar YUV 4:2:0 pixel
buffers, so engine BGRA frames could not be displayed. SurfaceBounds gains an
is_bgra flag and draw_surfaces now creates a single BGRA8Unorm texture (and
the fragment shader swizzles it to RGBA) for 32BGRA buffers, keeping the
YUV path unchanged. Verified by running the W3 surface_bridge demo.

gpui_widgets::viewer: ViewerWidget with a pure TransportState machine
(advance/loop/step/in-out, unit-tested), a PlaybackClock trait the host
implements over the engine, a ~60Hz polling ticker, a transport bar emitting
ViewerEvent requests, timecode via gpui::timeline::time, and safe-frame/zoom
toggles. examples/viewer.rs shows a mock clock with generated macOS test
frames. 87 widget + 182 gpui tests pass.
2026-08-09 06:05:54 +08:00
Max Carter 祁明思 6043651563 Add letter spacing and text transforms to GPUI (#111)
* Add text spacing and transform style plumbing

* Apply byte-stable transforms and spacing-aware truncation

* Add platform letter spacing support

* Fix scheduler clippy warning

* Refresh dependency lockfile

* Fix CI for text spacing changes

* Add text transform preview example
2026-08-07 21:48:02 -07:00
Brendon Felix 568271c01c feat(macos): support haptic feedback (#71)
* Support haptic feedback on macOS

* add tests for haptic feedback
2026-08-04 14:52:28 -07:00
Miles Wirht 6c799b8e99 removed all of the git sources (#91) 2026-07-13 21:25:00 -04:00
Leonard SeiboldandNewspicel 69d467e4d1 Filter API + Blur (#40)
Co-authored-by: Newspicel <newspicel+claude@pm.me>
2026-06-14 10:18:25 -04:00
Miles Wirht 3042d1b3ef API Fixes (#30) 2026-06-04 21:41:59 -04:00
Scar-00 01335f7698 re-re-fork (#28) 2026-06-02 07:53:18 -04:00