Skip to content

RomainROCH/GLASS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

GLASS

GLASS is a Windows overlay framework for Rust. It creates a transparent DirectComposition-backed overlay window, renders through wgpu on DX12, keeps overlay content in a retained scene graph, and organizes on-screen widgets as modular OverlayModule implementations. The workspace includes the reusable library crates and a reference starter app that shows the intended integration flow.

Status

GLASS is pre-1.0 software. The API is usable, but it may still change as the library is hardened for external consumers.

Key features

  • transparent Windows overlay using DirectComposition
  • wgpu renderer on DX12
  • retained scene graph with explicit scene invalidation
  • anchor-based module layout
  • modular widget system via OverlayModule
  • config loading and file watching through ConfigStore
  • passive and interactive input modes
  • reference app in glass-starter

Quick start

Requirements:

  • Windows 10 or Windows 11
  • Rust stable 1.85+
  • MSVC build tools
git clone https://github.com/RomainROCH/GLASS
cd GLASS
cargo build --workspace
cargo run -p glass-starter

For the smallest current bootstrap:

cargo run --example minimal -p glass-starter

Documentation

Architecture

The workspace is split into three main crates:

  • glass-core — shared core types, including GlassError
  • glass-overlay — the reusable overlay library: config, layout, scene graph, modules, windowing, compositor, renderer
  • glass-starter — the reference application and smallest runnable examples

📐 Full architecture documentation → — system design, layer breakdown, key decisions, ecosystem vision, and extension points.

If you want to study the current reference flow, start with:

Platform support

GLASS currently supports Windows 10 and Windows 11 only. The runtime depends on Win32 APIs, DirectComposition, and a DX12-backed wgpu surface path, so it is not a cross-platform overlay framework today.

Notes on current behavior

  • SystemStatsModule does not perform built-in temperature detection. Applications inject a callback with SystemStatsModule::set_temp_source().
  • ConfigStore::watch() updates the stored config snapshot, but a running app must still re-read and reapply the snapshot for runtime behavior to change. The reference starter does not currently do that after startup.
  • The root-level Python packaging files are maintenance scaffolding for repo tooling around sync_wgpu.py; they are not a supported GLASS consumer API.

License

Dual licensed under Apache-2.0 or MIT. See LICENSE-APACHE and LICENSE-MIT.

About

No description, website, or topics provided.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages