mirror of
https://codeberg.org/unspeaker/tengri.git
synced 2026-03-13 12:10:44 +01:00
docs: read me git status
This commit is contained in:
parent
ecba0cc64f
commit
ad070a4cbb
2 changed files with 20 additions and 73 deletions
37
README.md
37
README.md
|
|
@ -1,31 +1,34 @@
|
||||||
# tengri
|
***tengri*** is the skygod in whose dream the [**`tek`**](https://codeberg.org/unspeaker/tek)
|
||||||
|
is happening.
|
||||||
|
|
||||||
***tengri*** is a metaframework for building interactive applications with rust. (aren't we all?)
|
# features
|
||||||
|
|
||||||
tengri is published under [**AGPL3**](../LICENSE).
|
it is here to do the following:
|
||||||
|
|
||||||
## tengri and tek
|
## sing
|
||||||
|
|
||||||
tengri is developed as part of [***tek***](https://codeberg.org/unspeaker/tek),
|
connect to jack audio connection kit to process chunks of audio and midi.
|
||||||
a music program for terminals.
|
|
||||||
|
|
||||||
## tengri and dizzle
|
## draw
|
||||||
|
|
||||||
tengri integrates with [***dizzle***](./dizzle),
|
abstract interface layout system for defining interface layouts abstractly.
|
||||||
a framework for defining domain-specific languages.
|
|
||||||
|
|
||||||
## what's in the box
|
## play
|
||||||
|
|
||||||
excluding the reexports, tengri is a flat namespace containing the following kinds of things:
|
the input handling system.
|
||||||
|
|
||||||
### logical
|
## tui
|
||||||
|
|
||||||
### temporal
|
uses `ratatui` to run in a terminal.
|
||||||
|
|
||||||
### aural
|
## gui (todo)
|
||||||
|
|
||||||
### spatial
|
opens windows, runs shaders in them and/or delegates them (to e.g. plugin guis).
|
||||||
|
|
||||||
### textual
|
## lang
|
||||||
|
|
||||||
checkout the repo and generate docs with `cargo doc` to explore!
|
uses `dizzle` to let you livecode all of the above.
|
||||||
|
|
||||||
|
# license
|
||||||
|
|
||||||
|
here and now, the blessings of `tengri` are invokable under the [**`AGPL3`**](./LICENSE).
|
||||||
|
|
|
||||||
|
|
@ -1,56 +0,0 @@
|
||||||
***tengri*** is a metaframework for building interactive applications with rust. (aren't we all?)
|
|
||||||
|
|
||||||
tengri is developed as part of [***tek***](https://codeberg.org/unspeaker/tek),
|
|
||||||
a music program for terminals.
|
|
||||||
|
|
||||||
tengri contains:
|
|
||||||
* [***dizzle***](./dsl), a framework for defining domain-specific languages
|
|
||||||
* [***output***](./output), an abstract UI layout framework
|
|
||||||
* [***input***](./input), an abstract UI event framework
|
|
||||||
* [***tui***](./tui), an implementation of tengri over [***ratatui***](https://ratatui.rs/).
|
|
||||||
|
|
||||||
as well as:
|
|
||||||
* [***core***](./core), the shared definitions ("utils") module
|
|
||||||
* [***proc***](./proc), the space for procedural macros
|
|
||||||
* [***tengri***](./tengri), the top-level reexport crate
|
|
||||||
|
|
||||||
tengri is published under [**AGPL3**](./LICENSE).
|
|
||||||
|
|
||||||
## Input
|
|
||||||
|
|
||||||
***tengri_input*** is where tengri's input handling is defined.
|
|
||||||
|
|
||||||
the following items are provided:
|
|
||||||
* `Input` trait, for defining for input sources
|
|
||||||
* `Handle` trait and `handle!` macro, for defining input handlers
|
|
||||||
* `Command` trait and the `command!` macro, for defining commands that inputs may result in
|
|
||||||
|
|
||||||
## Output
|
|
||||||
|
|
||||||
***tengri_output*** is an abstract interface layout framework.
|
|
||||||
|
|
||||||
it expresses the following notions:
|
|
||||||
|
|
||||||
* [**space:**](./src/space.rs) `Direction`, `Coordinate`, `Area`, `Size`, `Measure`
|
|
||||||
|
|
||||||
* [**output:**](./src/output.rs) `Out`, `Draw`, `Content`
|
|
||||||
* the layout operators are generic over `Draw` and/or `Content`
|
|
||||||
* the traits `Draw` and `Content` are generic over `Out`
|
|
||||||
* implement `Out` to bring a layout to a new backend:
|
|
||||||
[see `TuiOut` in `tengri_tui`](../tui/src/tui_engine/tui_output.rs)
|
|
||||||
|
|
||||||
* [**layout:**](./src/layout.rs)
|
|
||||||
* conditionals: `When`, `Either`
|
|
||||||
* iteration: `Map`
|
|
||||||
* concatenation: `Bsp`
|
|
||||||
* positioning: `Align`, `Push`, `Pull`
|
|
||||||
* sizing: `Fill`, `Fixed`, `Expand`, `Shrink`, `Min`, `Max`
|
|
||||||
* implement custom components (that may be backend-dependent):
|
|
||||||
[see `tui_content` in `tengri_tui`](../tui/src/tui_content)
|
|
||||||
|
|
||||||
## TUI
|
|
||||||
|
|
||||||
***tengri_tui*** implements [tengri_output](../output) and [tengri_input](../input)
|
|
||||||
on top of [ratatui](https://ratatui.rs/) and [crossterm](https://github.com/crossterm-rs/crossterm).
|
|
||||||
|
|
||||||
tengri is published under [**AGPL3**](../LICENSE).
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue