Skip to content

The Shiny Package

Patrick Stephen edited this page Dec 4, 2021 · 1 revision

The shiny subpackage underneath oak is a clone of github.com/oakmound/oak/shiny, itself a fork of golang.org/exp/shiny.

For regular oak usage this package can be ignored. The remaining concerns for this package relate to enhancing features or improving compatibility for build targets (Windows, Linux, OSX, JS, etc).

The shape of this package is mostly inherited from exp/shiny, and is subject to change in later iterations of oak.

Gesture

The gesture subpackage under shiny has not been developed within oak at all, and is currently unused. Subject for removal or reintegration in a different form.

Screen

The screen subpackage under shiny defines the interfaces that each individual driver must satisfy to work with oak.

Driver

The driver subpackage under shiny offers implementations for each build target. These implementations primarily offer window creation and manipulation, but additionally can offer custom image and texture support and additional OS features like notification display.

One notable build option is nooswindow, which will run oak in program memory without any rendering target. This is useful for tests on machines without graphical interfaces.

For more info, see COMPATIBILITY.md.