The developer libraries
Building on Prism
The software you have seen — the CLI, the Server, the Editor — is built on a small set of C++ libraries, and those same libraries are what you build your application on. They are closed-source and written in pure, modern C++, each depending only on the standard library and the layer below it. You can take one, two, or all three.
Each library has its own deep manual on its own subdomain — overview, quickstart, guides, and reference:
- Prism Core → — the document model. Pure, portable, dependency-free: the Document, prims, paths, typed values, the evaluator, native serialization, codecs, bundles, and the C ABI. The foundation everything else stands on.
- Prism UI → — a GPU-drawn, retained-mode interface toolkit: a 2-D drawing layer over the render hardware interface and a themeable widget framework with docking.
- Prism Platform → — the runtime beneath a native app: OS windowing and input, a Metal render hardware interface, and the message and command buses an application edits through.
A clean dependency stack
Prism UI widgets, GPU drawing, docking, themes
│ depends on
Prism Platform window, input, Metal RHI, buses
│
(your app) ──────────────────────────────────┐
│ │
Prism Core document model — pure C++, no deps
Prism Core sits to the side: it depends on nothing, and nothing GUI depends on it. A headless tool links Core alone; a native application links Core for its documents and Platform + UI for its interface. The Prism Editor links all three; the CLI and Server link Core (and the codecs) only. The layering is enforced by the build, not merely aspirational.
Why closed-source libraries, open-source examples
The libraries are the product — the carefully built, exhaustively tested foundation we maintain. The examples — Prism Light, Prism Pixel and Prism Atlas — are open source, because the best documentation for a foundation is a complete application built on it that you can read end to end. They are the reference for how the pieces go together.
Pick a library above to dive into its manual, or read why Prism exists first.