Window · input · GPU · buses

Kinogaki Platform

The native runtime layer of kinogaki: OS windowing and input behind clean interfaces, a backend-abstract Metal render hardware interface, a synthesized event-value model, and the message and command buses an application edits its Document through.

The runtime beneath a native app

Kinogaki Platform is the layer between the operating system and your application: window and input abstraction, a Metal render hardware interface (RHI), and the message and command buses that carry events and edits. Kinogaki UI is built on it, and it runs on its own: a renderer or a game hosts it directly and draws its own frames.

It is the native half of Kinogaki. All the operating-system and GPU glue lives here (the Objective-C++ to Cocoa and Metal), so that everything above it, and Kinogaki Core beside it, stays clean, portable C++ and Python.

What's in it

Where it sits in the stack

Kinogaki UI         widgets, GPU drawing  (built on Platform)
   │
Kinogaki Platform   window · input · Metal RHI · buses   ← you are here
   │
the OS           Cocoa / Metal  (the only non-portable code in Kinogaki)

Build on Platform directly for a custom rendering application, or build on Kinogaki UI for a full widget interface. Either way Kinogaki Core rides alongside, untouched by any of it, holding the document.

Why it's a separate library

Isolating the platform layer is what lets the rest of Kinogaki stay portable and testable. The document model has no idea an operating system exists; the UI toolkit talks to an abstract RHI, not Metal. When a Windows or Linux backend lands, it implements these same interfaces and nothing above changes. Start with the Quickstart to open a window, or read the event model for the input the widgets depend on.