1
0
Fork
You've already forked StudiolaHost
0
No description
  • C++ 51.5%
  • Objective-C++ 32.1%
  • CMake 9.7%
  • C 5.8%
  • Objective-C 0.9%
2026年07月12日 23:50:34 -07:00
include/StudiolaHost README and implementation 2026年06月07日 08:56:16 -07:00
src Support gl begin/present hooks 2026年07月12日 23:50:34 -07:00
.gitignore README and implementation 2026年06月07日 08:56:16 -07:00
CMakeLists.txt README and implementation 2026年06月07日 08:56:16 -07:00
README.md some input checking 2026年06月07日 10:33:40 -07:00
studiola-plugin.toml README and implementation 2026年06月07日 08:56:16 -07:00

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.