This is a repository of Kas design documentation. Like the Rust RFCs repo, its intended purpose is to document design goals and to allow open discussion.
Current status: I (Diggory Hardy) have many unpublished notes. I plan to publish at least some of these here to clarify design intention.
This repository will contain a series of design documents. See the template.
Unlike Rust RFCs, there is no formal acceptance procedure in place. Documents may be added without a comment period. In case you have a concern regarding a document without an open Pull Request or Issue, please open a new issue here.
The following categories currently exist for organisation purposes. Do not create design documents under the project root.
- draw: drawing APIs and technologies (e.g. WGPU, OpenGL, Piet)
- theme: visual design and theme API
- text: fonts, shaping, emojis, formatting (note: see also input category)
- accessibility: translation, accessibility tools, etc.
- widget: widget traits, state, construction
- input: user input and event handling
- layout: sizing and positioning of widgets
- windowing: commonly applicable aspects of window construction, placement, focus, scaling
- platform: platform-specific stuff (e.g. Android integration)
- resouces: resouce management
- other: documents which do not fit under other categories
- rejected: proposals which have been considered and later rejected
This repository 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