|
|
||
|---|---|---|
| include/StudiolaHost | README and implementation | |
| src | Support gl begin/present hooks | |
| .gitignore | README and implementation | |
| CMakeLists.txt | README and implementation | |
| README.md | some input checking | |
| studiola-plugin.toml | README and implementation | |
StudiolaHost
StudiolaHost is a component of the Studiola ecosystem.
Studiola Introduction
Repeated from the root project
At its root, a Studiola application is one created and specialized as a particular end point configuration, and can be specialized via selection of components, and creations of new ones into being a particular application.
For example, color management and image loading components may be selected to create an application that focusses on conceerns of color rendition of images.
The Studiola SDK (https://codeberg.org/meshula/Studiola.git) is a configuration program that provides management of an inventory a plugin components, and also has the ability to "stamp out" a shell application (e.g. ColorScienceApp), new Activities and Providers, and also aid with building and change management.
Applications that the SDK produces are thin, specifying configuration, performing start up intialization, and processing command line arguments; those concerns that are unique to every bespoke configuration.
StudiolaHost
This component, StudiolaHost, is the reusable Studiola desktop host
library (libStudiolaHost): comprised of the RGFW + LabGL (Metal)
window/event loop, the Dear ImGui + LabLayout GUI, and the LabCmd2 CLIEngine
dispatcher.
The Studiola host shells (the C++ and Zig apps stamped by studiola-configure)
link this one shared library and call StudiolaHostRun(). (see
include/StudiolaHost/StudiolaHost.h).
Build
cmake -S . -B build -DCMAKE_PREFIX_PATH=<install> -DCMAKE_INSTALL_PREFIX=<install> -G Ninja
cmake --build build
cmake --install build
Notes
find_package(MeshulaLab) must resolve from the install prefix (it pulls in
LabGL / labgl_imgui / LabCamera transitively). Installs libStudiolaHost.dylib,
the public headers, and a StudiolaHost::StudiolaHost package for shells to
find_package(StudiolaHost).
Notice
Licensed as BSD-2 Clause, copyright 2026 by Nick Porcino, all rights reserved.