About Goki

A framework for trees (Ki in Japanese) in Go, including the GoGi 2D & 3D GUI framework.

Goki is an open-source project that provides a set of frameworks for constructing cross-platform GUIs and other useful tools in pure Go using full-strength tree structures. The name Goki is derived from the word tree in Japanese (木), which is pronounced Ki (き).

The core package of Goki is Ki, which provides trees using the Ki interface implemented by the Node struct. This supports arbitrarily directed structural trees and standard operations on them.

Gi uses the Ki tree infrastructure to implement a scenegraph-based GUI framework in full native idiomatic Go, with minimal OS-specific backend interfaces based originally on the Shiny drivers, now using go-gl/glfw and vulkan-based vgpu, and supporting MacOS, Linux, and Windows.