Welcome to the Goki Docs!

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 (き).


General

General project-wide information that applies to all Goki projects.

Gi

Gi is a pure Go 2D and 3D GUI framework, built on Ki and widely used standards in the web, like CSS for styling and SVG for vector graphics.

Ki

Ki provides trees using the Ki interface implemented by the Node struct. This supports arbitrarily directed structural trees and standard operations on them.

Gide

Gide is an IDE and IDE framework built using Gi and Pi. It has standard editor features like syntax highlighting, completion, and version control built-in.

Pi

Pi is an interactive parsing library that uses a simple and robust form of lexing and parsing based on top-down recursive descent.

vGPU

vGPU is a Vulkan-based framework for both Graphics and Compute Engine use of GPU hardware in Go.

GoSL

GoSL implements Go as a shader language for GPU compute shaders by converting Go code to HLSL, and then using the glslc compiler to compile into an .spv SPIR-V file that can be loaded into a vulkan compute shader.

Grid

Grid is a Go SVG vector drawing program, built using Gi and based on Inkscape.

GoPix

GoPix is a keyboard-navigable Go picture management app.

Mat32

Mat32 is a float32 based vector and matrix package for 2D and 3D graphics that uses a value-based design.

Glide

Glide will be a lightweight internet display engine (HTML renderer and web browser), built using Gi.

Grail

Grail will be an email app, using Glide for HTML rendering of messages, featuring full keyboard-based navigation and markup-based message formatting.


Last modified January 22, 2024: removed old deps from go mod (0b4edcc)