cycfi/elements

Elements C++ GUI library

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 17 minutes ago
Added to GitGenius on September 18th, 2026
Created on March 27th, 2016
Open Issues & Pull Requests: 41 (+0)
GitHub issues: Enabled
Number of forks: 282
Total Stargazers: 3,720 (+0)
Total Subscribers: 105 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 0.5 hours
Mean response time: 2.6 hours
90th percentile: 4.2 hours
Tracked items: 16

Most active contributors

Sign in to see contributor activity.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 7
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 666 days
Stale 30+ days: 7
Stale 90+ days: 7

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (2)

Most active issues this week

Sign in to see which issues are moving.

Detailed Description

Elements is a lightweight, fine-grained, resolution-independent C++ GUI library that uses modern C++20 language features and a declarative Domain Specific Embedded Language for constructing interfaces.

The library solves the problem of building graphical user interfaces in C++ without requiring external visual editors or code generators. Its approach uses a declarative syntax written entirely in C++, allowing developers to describe GUI layouts and components directly in code. The library is designed to be embeddable, meaning it can be integrated into existing applications and coexist with other GUI frameworks and plugin hosts such as VST and AU without owning the event loop.

Elements suits developers building audio plugins, music applications, or any software requiring a modular, resolution-independent interface that integrates with C++ codebases. It is particularly valuable for plugin development where the ability to embed within a host environment without controlling the event loop is essential. The tool's lightweight and modular design makes it appropriate for applications where fine-grained control over GUI components is needed. The README does not compare Elements to alternative GUI libraries.

The project remains in active development with the API and codebase undergoing continuous changes as it approaches a version 1.0 release. The maintainers acknowledge that while the library is already in a usable form, it is not yet production-ready and welcome bug reports and contributions to improve robustness. Documentation is described as work in progress. The project maintains a Discord channel for discussion and collaboration with developers.