Orion Form Editor showing the SocialFeed project

Orion is a standalone C UI framework for desktop applications and tools. It combines a WinAPI-style message architecture with native Platform backends, hardware-accelerated rendering, reusable controls, declarative forms, databases, dialogs, and loadable applications. Lua is optional for apps that need scripting.

Start Here

I want to… Read
Build my first standalone app and GEM Getting Started
Understand layers, ownership, and message flow Architecture
Create windows and handle lifecycle Window System
Add controls, layouts, menus, and dialogs Controls, Toolbars, Dialogs
Bind declarative forms to records Database Forms
Study complete applications Applications
Install the released SDK and apps Package Manager

Build From Source

git clone https://github.com/corepunch/orion-ui.git
cd orion-ui
git submodule update --init --recursive
make apps
make test

Build one application with make build/bin/<name>, or build loadable modules with make gems. Orion requires a C toolchain and Git; its native Platform layer supplies windowing, input, and rendering.

How Orion Fits Together

apps/          Applications, declarative resources, components, and app tests
orion/user/    Windows, messages, input routing, drawing, forms, and resources
orion/kernel/  Graphics lifecycle, rendering, HTTP, and runtime services
orion/commctl/ Reusable controls and layout containers
orion/commdlg/ Modal dialogs and common pickers
platform/      Native windows, events, filesystems, processes, and networking
share/         Framework fonts, icons, shaders, and deployable assets
tests/         Framework behavior and integration tests
tools/         Resource compilers, generators, and release utilities

Platform events become Orion messages. Window procedures handle those messages, controls notify their root with evCommand, controllers mutate application state, and invalidated windows draw during evPaint. Declarative .orion resources compile into typed forms, menus, toolbars, accelerators, and database metadata.

Read the architecture guide →

Applications As Examples

Orion’s bundled apps are both usable software and reference implementations.

Image Editor Git Client
Image Editor with Orion artwork open Git Client showing the Orion repository
MDI documents, canvas rendering, layers, tools, palettes, and animation Tabs, report views, staging, history, GitHub data, and diff rendering

Form Editor demonstrates declarative UI authoring and plugins; Social Feed shows database-bound forms; Task Manager shows MVC and table views; Vibe Office shows desktop-style custom controls and process-backed state.

Explore all applications →

Declarative Database Forms

A field path identifies its database, table, and column:

<form name="edit_author" width="300">
  <TextEdit field="db.authors.name" />
  <TextEdit field="db.authors.email" />
  <Button value="1" text="OK" />
</form>

Register the named database once at startup, then open the self-contained form:

show_db_dialog(&myapp_edit_author_form, "Edit Author", parent, author_id);

Orion fetches the record, exchanges values with controls, and inserts or updates on acceptance. Read Database Forms →

Core Guides


Orion UI Framework - standalone, native, and written in C11

This site uses Just the Docs, a documentation theme for Jekyll.