Skip to content

Repository files navigation

Glim

Glim

macOS iOS tvOS Linux Android License: MIT

A modular UI stack. Host, Graphics, and Toolkit are separate layers you can use, replace, or skip. One Scene graph carries paint, native views, and semantics — renderer, hit-test, and accessibility walk the same tree.

It targets a wide range of platforms: macOS, iOS, tvOS, Android (phone, TV, AAOS), Linux (Wayland); Windows and the web are next. Apple is Metal. Android and Linux are Vulkan. Later: WebGPU. No GPU: the same draw rasters CPU.

  • Host — window, vsync, GPU natives, events. Swap the shell (AppKit, UIKit, Wayland, NativeActivity, or embed).
  • Graphics — compositor: record a scene, merge compatible groups into one pass, isolate only when opacity or a tilt needs it. 2D with slight 3D. Not a game engine.
  • Toolkit — UI controls that record that same scene (coming; language TBD). Hello stays toolkit-free.

Layers compose: a UI block, raw paint, and semantic ids can share one graph — any mix, or none.

  • In-process: draw the scene. No packet, no extra copy.
  • Embedded: a sandboxed guest (WASM, out-of-process UI) encodes one frame packet per vsync; a native host submits it. The OEM keeps the swapchain and the run loop.

Try it

pnpm install
pnpm test
pnpm exec nx run hello:run

MIT · Volodymyr Lykhonis

About

Modular UI stack: swappable host, compositor, and toolkit for phones, TVs, cars, desktop, and web

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages