summaryrefslogtreecommitdiff
path: root/include/yasl/yasl.h
AgeCommit message (Collapse)Author
12 daysrename and simplificationBerke Güzel
13 daysbetter public interface and doxygenBerke Güzel
13 daysUnify surface input queue, frame clock, and optimize scaling and timersBerke Güzel
13 dayscursor hidden and tablet supportBerke Güzel
13 daysrefactor: simplify public API and isolate native extensionsBerke Güzel
Separate loop/timer and native interoperability APIs from the portable surface header. Unify dispatch, geometry queries, and timer callbacks; keep framebuffer bookkeeping and frame clocks private, and hide implementation symbols. Update backends, documentation, examples, and API/integration coverage. Verify exports, strict C/C++ installed consumers, and normal plus ASan/UBSan suites.
14 daysfeat: add SDL3-style surface, display, and loop timer API for X11, Wayland, ↵Berke Güzel
and Cocoa
14 daysmissing impls and hardeningBerke Güzel
14 daysMerge branch 'backend-selection' into mainBerke Güzel
- Implement runtime backend selection (Wayland, X11, Cocoa) - Add native X11 backend with clipboard, keyboard, mouse, and placement - Integrate multi-backend integration tests running under Weston and Xwayland - Retain zero-hole struct packing, branchless ALU/LUT primitives, and paced event loop
14 daysfeat: backend selection (Wayland, X11, Cocoa)Berke Güzel
14 daysopt: shrink input event to 48B, pack mouse event to 32B, and shave 2KB off ↵Berke Güzel
yasl_surface - Compact yasl_mouse_event from 36B to 32B (half a cacheline, 0 holes) - Compact yasl_input_event from 56B to 48B (0 holes) - Reduce yasl_surface by 2,048 bytes (shaving 32 full cachelines per surface) - Optimize UTF-8 sanitize with vectorized validation fast-path - Fast-path MIME prefix match in clipboard transfers
14 dayscore: optimize struct layouts, eliminate branches, and fix event loop dispatchBerke Güzel
- Fix Wayland event loop lockout by properly decoupling read arming and adding poll-backed dispatching - Support standalone display lifecycle without requiring caller to manage a loop - Eliminate alignment holes across yasl_surface, yasl_display, seat, touch_point, and conn_drag using pahole - Replace branching state/button decoders with compile-time locked LUTs and branchless bitwise operations - Accelerate UTF-8 validation with 64-bit word scanning for ASCII runs
14 daysinitial: Yet Another Surface Library (YASL) 0.1.0Berke Güzel
A minimal, modern desktop window surface library in C. Supports Wayland on Linux and Cocoa/Metal on macOS with presentation timing, fractional scaling, IME, and CSD.