diff --git a/README.md b/README.md index a155820..7c61fe7 100644 --- a/README.md +++ b/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), -a music program for terminals. +connect to jack audio connection kit to process chunks of audio and midi. -## tengri and dizzle +## draw -tengri integrates with [***dizzle***](./dizzle), -a framework for defining domain-specific languages. +abstract interface layout system for defining interface layouts abstractly. -## 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). diff --git a/src/README.md b/src/README.md deleted file mode 100644 index 41cfef5..0000000 --- a/src/README.md +++ /dev/null @@ -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).