Libraries
Bellui depends on a set of libraries maintained in the belluikit organization. Several are forks of established projects, carrying fixes and platform support that Bellui needs; each keeps its original license. Any of them can be used on its own.
How you get them differs. The graphics, windowing and desktop libraries are
dependencies of Bellui itself and arrive with go get. goffmpeg and its
prebuilt libraries come with x/mmedia. gocef-libs is
fetched by the bellui command when it packages a Linux app with a web view.
Uploader and Clair are separate tools, not libraries Bellui depends on. They are described under Tools.
Graphics and windowing
| Library | What it does | License |
|---|---|---|
| webgpu | Go bindings for wgpu-native (WebGPU) on desktop and mobile, and for the browser’s WebGPU on the web. Fork of oliverbestmann/webgpu. | Apache-2.0 |
| glfw | Go bindings for GLFW 3.4, with Wayland drag-and-drop, touch and input-method extensions. Fork of go-gl/glfw. | BSD-3-Clause |
| glfw-js | GLFW-style windowing for Go on the desktop and in the browser (WebAssembly). Fork of fyne-io/glfw-js. | MIT |
| gl-js | Go bindings for OpenGL, OpenGL ES and WebGL. Fork of fyne-io/gl-js. | BSD-3-Clause |
| typesetting | Text shaping and layout in pure Go, a port of HarfBuzz. Fork of go-text/typesetting. | Unlicense or BSD-3-Clause |
Desktop integration
| Library | What it does | License |
|---|---|---|
| systray | An icon and menu in the system tray on macOS, Windows and Linux. Fork of fyne-io/systray. | Apache-2.0 |
| fsnotify | Cross-platform file system change notifications. Fork of fsnotify/fsnotify. | BSD-3-Clause |
| gocef | Go bindings for the Chromium Embedded Framework, loaded at run time. Powers the web view on Linux. | BSD-3-Clause |
| gocef-libs | Pinned, checksummed CEF runtime payloads for gocef. | BSD-3-Clause |
Media
| Library | What it does | License |
|---|---|---|
| goffmpeg | Go bindings for FFmpeg (libavformat, libavcodec) with prebuilt libraries for each platform. Used by x/mmedia. | BSD-3-Clause |
| goffmpeg-libs | The prebuilt FFmpeg libraries for goffmpeg, one Go module per platform. | LGPL-2.1 |