Skip to content
RomainROCHPublic

About

No description, website, or topics provided.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

91 Commits

Folders and files

Repository files navigation

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

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages