From c059e3aa7f93da470f052a5cd8ee0d8dc969e679 Mon Sep 17 00:00:00 2001 From: Berke Güzel Date: Tue, 13 Oct 2026 13:44:13 +0300 Subject: rename and simplification --- CONTRIBUTING.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'CONTRIBUTING.md') diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 88674ca..939f4e4 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -5,6 +5,21 @@ Read the [API policy](docs/api-policy.md) and [application guide](docs/guide.md) before changing public behavior. Keep backend details in native extensions and make common operations usable through the portable headers. +Shared API behavior and backend interfaces live in `src/common/`. Native +windowing implementations, key mappings, and typed native accessors live in +`src/platform//`; keep their generated protocols with the backend. +OS support shared by multiple backends lives separately in `src/platform/posix/` +and is selected by `src/platform/meson.build`. It currently supplies the event +loop and the private mutex implementation used through `platform/sync.h`. +Common code should depend on these internal interfaces rather than native OS +headers. Keep public headers in `include/yasl/` and tests in `tests//`. + +For a future Win32 backend, add `src/platform/win32/`, select its event loop and +`yasl_platform_sync.h` in the platform build, and register its backend through +the common dispatch interface. Windows still needs build/dependency selection, +public API/export support, and ports of POSIX-based examples and test harnesses; +the directory structure alone does not provide Windows support. + For a bug report, include the revision, operating system, selected backend from `yasl_display_backend()`, capability mask, compiler, build options, reproduction steps, and a small example if possible. For input issues include the relevant -- cgit v1.2.3