KAS GUI / wgpu front-end

20 releases (13 breaking)

0.14.0-alpha Sep 8, 2023
0.13.0 Feb 28, 2023
0.12.1 Dec 22, 2022
0.11.0 Sep 5, 2022
0.1.0 Dec 22, 2019

#150 in GUI

Download history 13/week @ 2023-07-15 22/week @ 2023-07-22 13/week @ 2023-07-29 28/week @ 2023-08-05 19/week @ 2023-08-12 31/week @ 2023-08-19 28/week @ 2023-08-26 39/week @ 2023-09-02 72/week @ 2023-09-09 20/week @ 2023-09-16 11/week @ 2023-09-23 21/week @ 2023-09-30 17/week @ 2023-10-07 25/week @ 2023-10-14 24/week @ 2023-10-21 48/week @ 2023-10-28

118 downloads per month
Used in 2 crates


17K SLoC


KAS shell interface over wgpu.

Compiling shaders

This library uses GLSL shaders. Pre-compiled SPIR-V modules are distributed so that users do not need a shader compiler.

For working on GLSL shaders, a compiler such as glslc (part of the shaderc project) is required. glslc can be installed from Fedora packages, but on other platforms manual installation may be required. Alternatively a web-based tool such as glslang.js may be used.

Automatic re-compilation may be enabled by setting e.g. SHADERC=glslc. See build.rs for details.

Optional features

This crate has the following feature flags:

  • raster (enabled by default): use [kas-text]'s default backend for glyph rastering (alternatively, specify kas-text/ab_glyph or kas-text/fontdue)
  • shaping (enabled by default): use [kas-text]'s default backend (Rustybuzz) for text shaping (alternatively, specify kas-text/harfbuzz or do not use shaping)

Note: at least one of ab_glyph, fontdue is required. If both are enabled, the choice of raster engine is controlled at run-time via theme configuration:

  • mode = 0: use ab_glyph
  • mode = 1: use ab_glyph and align glyphs to side-bearing
  • mode = 2: use fontdue

The COPYRIGHT file includes a list of contributors who claim copyright on this project. This list may be incomplete; new contributors may optionally add themselves to this list.

The KAS library is published under the terms of the Apache License, Version 2.0. You may obtain a copy of this licence from the LICENSE file or on the following webpage: https://www.apache.org/licenses/LICENSE-2.0


~891K SLoC