Name app-level chrome and the screen drawn over another
A description named one screen's content and nothing said that an
affordance is available everywhere and draws over what is under it. Two
additions cover the class, because an overlay turns out to be a Screen
and nothing else: Chrome, a set of key bindings held beside the Router,
and Outcome::Over, a screen drawn over what is already there.
Over is not a navigation: it touches no history, and dismissing it
reveals the screen the user never left. In the TUI that means an overlay
stack of screen-and-view pairs, each layer holding its own reach, focus,
edits and scroll. Sharing one View would take the user's typing with the
palette when it closed, which is the regression the tests pin. In the
webview it is a retarget into a container the shell emits, with the
bindings as htmx key triggers and no custom JS.
Outcome is deliberately exhaustive, so the variant breaks every host on
purpose and each one had to answer it. quasi-router through quasi-tauri
go 0.1.0 to 0.2.0 together; goingson's pins and the template's git deps
move with them, and those deps now carry the version requirement they
should have had all along.
egui is not covered and says so in makeover-immediate's header, rather
than reading as a renderer that needs no palette.
- Co-Authored-By
- Claude Opus 5 (1M context) <noreply@anthropic.com>
27 files changed,
+1048 insertions,
-48 deletions
| 2764 |
2764 |
|
|
| 2765 |
2765 |
|
[[package]]
|
| 2766 |
2766 |
|
name = "quasi-axum"
|
| 2767 |
|
- |
version = "0.1.0"
|
|
2767 |
+ |
version = "0.2.0"
|
| 2768 |
2768 |
|
dependencies = [
|
| 2769 |
2769 |
|
"axum",
|
| 2770 |
2770 |
|
"http",
|
| 2778 |
2778 |
|
|
| 2779 |
2779 |
|
[[package]]
|
| 2780 |
2780 |
|
name = "quasi-http"
|
| 2781 |
|
- |
version = "0.1.0"
|
|
2781 |
+ |
version = "0.2.0"
|
| 2782 |
2782 |
|
dependencies = [
|
| 2783 |
2783 |
|
"form_urlencoded",
|
| 2784 |
2784 |
|
"http",
|
| 2787 |
2787 |
|
|
| 2788 |
2788 |
|
[[package]]
|
| 2789 |
2789 |
|
name = "quasi-router"
|
| 2790 |
|
- |
version = "0.1.0"
|
|
2790 |
+ |
version = "0.2.0"
|
| 2791 |
2791 |
|
dependencies = [
|
| 2792 |
2792 |
|
"makeover-layout",
|
| 2793 |
2793 |
|
]
|
| 2804 |
2804 |
|
|
| 2805 |
2805 |
|
[[package]]
|
| 2806 |
2806 |
|
name = "quasi-tauri"
|
| 2807 |
|
- |
version = "0.1.0"
|
|
2807 |
+ |
version = "0.2.0"
|
| 2808 |
2808 |
|
dependencies = [
|
| 2809 |
2809 |
|
"http",
|
| 2810 |
2810 |
|
"quasi-http",
|
| 2815 |
2815 |
|
|
| 2816 |
2816 |
|
[[package]]
|
| 2817 |
2817 |
|
name = "quasi-tui"
|
| 2818 |
|
- |
version = "0.1.0"
|
|
2818 |
+ |
version = "0.2.0"
|
| 2819 |
2819 |
|
dependencies = [
|
| 2820 |
2820 |
|
"docengine",
|
| 2821 |
2821 |
|
"makeover",
|
| 2827 |
2827 |
|
|
| 2828 |
2828 |
|
[[package]]
|
| 2829 |
2829 |
|
name = "quasi-webview"
|
| 2830 |
|
- |
version = "0.1.0"
|
|
2830 |
+ |
version = "0.2.0"
|
| 2831 |
2831 |
|
dependencies = [
|
| 2832 |
2832 |
|
"docengine",
|
| 2833 |
2833 |
|
"makeover-layout",
|
| 5159 |
5159 |
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
| 5160 |
5160 |
|
checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b"
|
| 5161 |
5161 |
|
|
|
5162 |
+ |
[[patch.unused]]
|
|
5163 |
+ |
name = "synckit-client"
|
|
5164 |
+ |
version = "0.8.0"
|
|
5165 |
+ |
|
|
5166 |
+ |
[[patch.unused]]
|
|
5167 |
+ |
name = "synckit-config"
|
|
5168 |
+ |
version = "0.2.0"
|
|
5169 |
+ |
|
| 5162 |
5170 |
|
[[patch.unused]]
|
| 5163 |
5171 |
|
name = "kberg"
|
| 5164 |
5172 |
|
version = "0.1.0"
|
| 5174 |
5182 |
|
[[patch.unused]]
|
| 5175 |
5183 |
|
name = "tagtree"
|
| 5176 |
5184 |
|
version = "0.4.0"
|
| 5177 |
|
- |
|
| 5178 |
|
- |
[[patch.unused]]
|
| 5179 |
|
- |
name = "synckit-client"
|
| 5180 |
|
- |
version = "0.8.0"
|
| 5181 |
|
- |
|
| 5182 |
|
- |
[[patch.unused]]
|
| 5183 |
|
- |
name = "synckit-config"
|
| 5184 |
|
- |
version = "0.2.0"
|
| 1 |
1 |
|
[package]
|
| 2 |
2 |
|
name = "quasi-axum"
|
| 3 |
|
- |
version = "0.1.0"
|
|
3 |
+ |
version = "0.2.0"
|
| 4 |
4 |
|
description = "The axum host adapter for quasi-router: an HTTP request in, a rendered description out"
|
| 5 |
5 |
|
edition.workspace = true
|
| 6 |
6 |
|
rust-version.workspace = true
|
| 13 |
13 |
|
workspace = true
|
| 14 |
14 |
|
|
| 15 |
15 |
|
[dependencies]
|
| 16 |
|
- |
quasi-router = { path = "../quasi-router", version = "0.1.0" }
|
| 17 |
|
- |
quasi-http = { path = "../quasi-http", version = "0.1.0" }
|
|
16 |
+ |
quasi-router = { path = "../quasi-router", version = "0.2.0" }
|
|
17 |
+ |
quasi-http = { path = "../quasi-http", version = "0.2.0" }
|
| 18 |
18 |
|
axum = "0.8.8"
|
| 19 |
19 |
|
http = "1.3.1"
|
| 20 |
20 |
|
tokio = { version = "1.50.0", features = ["rt"] }
|
| 21 |
21 |
|
|
| 22 |
22 |
|
[dev-dependencies]
|
| 23 |
|
- |
quasi-webview = { path = "../quasi-webview", version = "0.1.0" }
|
|
23 |
+ |
quasi-webview = { path = "../quasi-webview", version = "0.2.0" }
|
| 24 |
24 |
|
tokio = { version = "1.50.0", features = ["macros", "rt-multi-thread"] }
|
| 25 |
25 |
|
tower = { version = "0.5.3", features = ["util"] }
|
| 26 |
26 |
|
http-body-util = "0.1.3"
|
| 1 |
1 |
|
[package]
|
| 2 |
2 |
|
name = "quasi-http"
|
| 3 |
|
- |
version = "0.1.0"
|
|
3 |
+ |
version = "0.2.0"
|
| 4 |
4 |
|
description = "The http-shaped seam quasi's webview host adapters share: decoding in, a rendered description out"
|
| 5 |
5 |
|
edition.workspace = true
|
| 6 |
6 |
|
rust-version.workspace = true
|
| 13 |
13 |
|
workspace = true
|
| 14 |
14 |
|
|
| 15 |
15 |
|
[dependencies]
|
| 16 |
|
- |
quasi-router = { path = "../quasi-router", version = "0.1.0" }
|
|
16 |
+ |
quasi-router = { path = "../quasi-router", version = "0.2.0" }
|
| 17 |
17 |
|
http = "1.3.1"
|
| 18 |
18 |
|
form_urlencoded = "1.2.2"
|
| 1 |
1 |
|
[package]
|
| 2 |
2 |
|
name = "quasi-router"
|
| 3 |
|
- |
version = "0.1.0"
|
|
3 |
+ |
version = "0.2.0"
|
| 4 |
4 |
|
description = "Host-agnostic router: a request in, a renderer-agnostic description out"
|
| 5 |
5 |
|
edition.workspace = true
|
| 6 |
6 |
|
rust-version.workspace = true
|
| 1 |
1 |
|
[package]
|
| 2 |
2 |
|
name = "quasi-tauri"
|
| 3 |
|
- |
version = "0.1.0"
|
|
3 |
+ |
version = "0.2.0"
|
| 4 |
4 |
|
description = "The Tauri custom-protocol host adapter for quasi-router: a webview request in, a rendered description out"
|
| 5 |
5 |
|
edition.workspace = true
|
| 6 |
6 |
|
rust-version.workspace = true
|
| 13 |
13 |
|
workspace = true
|
| 14 |
14 |
|
|
| 15 |
15 |
|
[dependencies]
|
| 16 |
|
- |
quasi-router = { path = "../quasi-router", version = "0.1.0" }
|
| 17 |
|
- |
quasi-http = { path = "../quasi-http", version = "0.1.0" }
|
|
16 |
+ |
quasi-router = { path = "../quasi-router", version = "0.2.0" }
|
|
17 |
+ |
quasi-http = { path = "../quasi-http", version = "0.2.0" }
|
| 18 |
18 |
|
http = "1.3.1"
|
| 19 |
19 |
|
# Default features off: this crate uses tauri's protocol registration and its
|
| 20 |
20 |
|
# blocking pool, and nothing else. An app brings the features it wants, and the
|
| 22 |
22 |
|
tauri = { version = "2.11.5", default-features = false }
|
| 23 |
23 |
|
|
| 24 |
24 |
|
[dev-dependencies]
|
| 25 |
|
- |
quasi-webview = { path = "../quasi-webview", version = "0.1.0" }
|
|
25 |
+ |
quasi-webview = { path = "../quasi-webview", version = "0.2.0" }
|
| 26 |
26 |
|
# The doctest names a concrete `Runtime`, and `Wry` is behind a default feature
|
| 27 |
27 |
|
# this crate does not otherwise ask for. Only the example needs it: nothing in
|
| 28 |
28 |
|
# the test module builds a window, which is what keeps them runnable with no
|
| 1 |
1 |
|
[package]
|
| 2 |
2 |
|
name = "quasi-tui"
|
| 3 |
|
- |
version = "0.1.0"
|
|
3 |
+ |
version = "0.2.0"
|
| 4 |
4 |
|
description = "The terminal renderer for quasi: a screen description in, cells in a ratatui buffer out"
|
| 5 |
5 |
|
edition.workspace = true
|
| 6 |
6 |
|
rust-version.workspace = true
|
| 13 |
13 |
|
workspace = true
|
| 14 |
14 |
|
|
| 15 |
15 |
|
[dependencies]
|
| 16 |
|
- |
quasi-router = { path = "../quasi-router", version = "0.1.0" }
|
|
16 |
+ |
quasi-router = { path = "../quasi-router", version = "0.2.0" }
|
| 17 |
17 |
|
makeover-layout = "0.19.0"
|
| 18 |
18 |
|
# The depth palette, the theme bridge and the table. Everything else this crate
|
| 19 |
19 |
|
# draws is written here first and lifted upstream once a second consumer wants
|
| 1 |
1 |
|
[package]
|
| 2 |
2 |
|
name = "quasi-webview"
|
| 3 |
|
- |
version = "0.1.0"
|
|
3 |
+ |
version = "0.2.0"
|
| 4 |
4 |
|
description = "The webview renderer for quasi: a screen description in, an htmx document out"
|
| 5 |
5 |
|
edition.workspace = true
|
| 6 |
6 |
|
rust-version.workspace = true
|
| 13 |
13 |
|
workspace = true
|
| 14 |
14 |
|
|
| 15 |
15 |
|
[dependencies]
|
| 16 |
|
- |
quasi-router = { path = "../quasi-router", version = "0.1.0" }
|
| 17 |
|
- |
quasi-http = { path = "../quasi-http", version = "0.1.0" }
|
|
16 |
+ |
quasi-router = { path = "../quasi-router", version = "0.2.0" }
|
|
17 |
+ |
quasi-http = { path = "../quasi-http", version = "0.2.0" }
|
| 18 |
18 |
|
makeover-layout = "0.19.0"
|
| 19 |
19 |
|
makeover-webview = "0.35.0"
|
| 20 |
20 |
|
# `Node::Rich` carries markdown source and this is what turns it into markup.
|