A row can say it is addressable, 0.101.0
`Row::addressed` and `Cells::addressed` set a new `address` field, and
quasi-webview emits it as an `id`.
The vocabulary had one word for two facts. `value` is what the app reads back
to know which row a press was about: unique within its table, and two tables of
the same things on one screen carry the same values twice without anything
being wrong. An address is unique in the whole document, because it is what a
reader copies and sends on. MNW's git file view needed the second and could
only say the first, so it wrote `identified` and the renderer emitted
`data-value` -- every line number on every file view linking to an `id` no
document carried.
Breaking, because both structs have public fields: 0.100.0 to 0.101.0, with
the 13 consumer requirements moved in the same pass.
Closes the second of the two blockers on phase 1 of the declaration transition
(GoingsOn 65d99281), and GoingsOn problem a9259e9f.
15 files changed,
+164 insertions,
-45 deletions
| 3476 |
3476 |
|
|
| 3477 |
3477 |
|
[[package]]
|
| 3478 |
3478 |
|
name = "quasi"
|
| 3479 |
|
- |
version = "0.100.0"
|
|
3479 |
+ |
version = "0.101.0"
|
| 3480 |
3480 |
|
|
| 3481 |
3481 |
|
[[package]]
|
| 3482 |
3482 |
|
name = "quasi-axum"
|
| 3483 |
|
- |
version = "0.100.0"
|
|
3483 |
+ |
version = "0.101.0"
|
| 3484 |
3484 |
|
dependencies = [
|
| 3485 |
3485 |
|
"axum",
|
| 3486 |
3486 |
|
"http",
|
| 3494 |
3494 |
|
|
| 3495 |
3495 |
|
[[package]]
|
| 3496 |
3496 |
|
name = "quasi-basics"
|
| 3497 |
|
- |
version = "0.100.0"
|
|
3497 |
+ |
version = "0.101.0"
|
| 3498 |
3498 |
|
dependencies = [
|
| 3499 |
3499 |
|
"makeover-layout",
|
| 3500 |
3500 |
|
"quasi-http",
|
| 3504 |
3504 |
|
|
| 3505 |
3505 |
|
[[package]]
|
| 3506 |
3506 |
|
name = "quasi-bench"
|
| 3507 |
|
- |
version = "0.100.0"
|
|
3507 |
+ |
version = "0.101.0"
|
| 3508 |
3508 |
|
dependencies = [
|
| 3509 |
3509 |
|
"askama",
|
| 3510 |
3510 |
|
"dhat",
|
| 3521 |
3521 |
|
|
| 3522 |
3522 |
|
[[package]]
|
| 3523 |
3523 |
|
name = "quasi-http"
|
| 3524 |
|
- |
version = "0.100.0"
|
|
3524 |
+ |
version = "0.101.0"
|
| 3525 |
3525 |
|
dependencies = [
|
| 3526 |
3526 |
|
"form_urlencoded",
|
| 3527 |
3527 |
|
"http",
|
| 3530 |
3530 |
|
|
| 3531 |
3531 |
|
[[package]]
|
| 3532 |
3532 |
|
name = "quasi-immediate"
|
| 3533 |
|
- |
version = "0.100.0"
|
|
3533 |
+ |
version = "0.101.0"
|
| 3534 |
3534 |
|
dependencies = [
|
| 3535 |
3535 |
|
"docengine",
|
| 3536 |
3536 |
|
"egui",
|
| 3541 |
3541 |
|
|
| 3542 |
3542 |
|
[[package]]
|
| 3543 |
3543 |
|
name = "quasi-notifs"
|
| 3544 |
|
- |
version = "0.100.0"
|
|
3544 |
+ |
version = "0.101.0"
|
| 3545 |
3545 |
|
dependencies = [
|
| 3546 |
3546 |
|
"quasi-router",
|
| 3547 |
3547 |
|
"synckit-config",
|
| 3551 |
3551 |
|
|
| 3552 |
3552 |
|
[[package]]
|
| 3553 |
3553 |
|
name = "quasi-router"
|
| 3554 |
|
- |
version = "0.100.0"
|
|
3554 |
+ |
version = "0.101.0"
|
| 3555 |
3555 |
|
dependencies = [
|
| 3556 |
3556 |
|
"makeover-layout",
|
| 3557 |
3557 |
|
]
|
| 3568 |
3568 |
|
|
| 3569 |
3569 |
|
[[package]]
|
| 3570 |
3570 |
|
name = "quasi-tauri"
|
| 3571 |
|
- |
version = "0.100.0"
|
|
3571 |
+ |
version = "0.101.0"
|
| 3572 |
3572 |
|
dependencies = [
|
| 3573 |
3573 |
|
"http",
|
| 3574 |
3574 |
|
"quasi-http",
|
| 3579 |
3579 |
|
|
| 3580 |
3580 |
|
[[package]]
|
| 3581 |
3581 |
|
name = "quasi-tui"
|
| 3582 |
|
- |
version = "0.100.0"
|
|
3582 |
+ |
version = "0.101.0"
|
| 3583 |
3583 |
|
dependencies = [
|
| 3584 |
3584 |
|
"docengine",
|
| 3585 |
3585 |
|
"makeover",
|
| 3592 |
3592 |
|
|
| 3593 |
3593 |
|
[[package]]
|
| 3594 |
3594 |
|
name = "quasi-webview"
|
| 3595 |
|
- |
version = "0.100.0"
|
|
3595 |
+ |
version = "0.101.0"
|
| 3596 |
3596 |
|
dependencies = [
|
| 3597 |
3597 |
|
"docengine",
|
| 3598 |
3598 |
|
"makeover-layout",
|
| 6283 |
6283 |
|
name = "tagtree"
|
| 6284 |
6284 |
|
version = "0.4.1"
|
| 6285 |
6285 |
|
|
| 6286 |
|
- |
[[patch.unused]]
|
| 6287 |
|
- |
name = "quasi-type"
|
| 6288 |
|
- |
version = "0.1.3"
|
| 6289 |
|
- |
|
| 6290 |
6286 |
|
[[patch.unused]]
|
| 6291 |
6287 |
|
name = "synckit-client"
|
| 6292 |
6288 |
|
version = "0.10.0"
|
|
6289 |
+ |
|
|
6290 |
+ |
[[patch.unused]]
|
|
6291 |
+ |
name = "quasi-type"
|
|
6292 |
+ |
version = "0.1.3"
|
| 1 |
1 |
|
[package]
|
| 2 |
2 |
|
name = "quasi-axum"
|
| 3 |
|
- |
version = "0.100.0"
|
|
3 |
+ |
version = "0.101.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.100.0" }
|
| 17 |
|
- |
quasi-http = { path = "../quasi-http", version = "0.100.0" }
|
|
16 |
+ |
quasi-router = { path = "../quasi-router", version = "0.101.0" }
|
|
17 |
+ |
quasi-http = { path = "../quasi-http", version = "0.101.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.100.0" }
|
|
23 |
+ |
quasi-webview = { path = "../quasi-webview", version = "0.101.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-basics"
|
| 3 |
|
- |
version = "0.100.0"
|
|
3 |
+ |
version = "0.101.0"
|
| 4 |
4 |
|
description = "The first-party widget set: named assemblies of primitives, shared across our apps"
|
| 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.100.0" }
|
|
16 |
+ |
quasi-router = { path = "../quasi-router", version = "0.101.0" }
|
| 17 |
17 |
|
makeover-layout = "0.44"
|
| 18 |
18 |
|
|
| 19 |
19 |
|
[dev-dependencies]
|
| 20 |
20 |
|
# A widget's guarantees are claims about what a renderer draws, so they are
|
| 21 |
21 |
|
# tested against a real one rather than by walking the tree the assembly just
|
| 22 |
22 |
|
# built. The webview is the renderer that recognises names today.
|
| 23 |
|
- |
quasi-webview = { path = "../quasi-webview", version = "0.100.0" }
|
| 24 |
|
- |
quasi-http = { path = "../quasi-http", version = "0.100.0" }
|
|
23 |
+ |
quasi-webview = { path = "../quasi-webview", version = "0.101.0" }
|
|
24 |
+ |
quasi-http = { path = "../quasi-http", version = "0.101.0" }
|
| 1 |
1 |
|
[package]
|
| 2 |
2 |
|
name = "quasi-bench"
|
| 3 |
|
- |
version = "0.100.0"
|
|
3 |
+ |
version = "0.101.0"
|
| 4 |
4 |
|
description = "What a described screen costs to render, in time and in allocations"
|
| 5 |
5 |
|
edition.workspace = true
|
| 6 |
6 |
|
rust-version.workspace = true
|
| 26 |
26 |
|
askama = ["dep:askama"]
|
| 27 |
27 |
|
|
| 28 |
28 |
|
[dependencies]
|
| 29 |
|
- |
quasi-router = { path = "../quasi-router", version = "0.100.0" }
|
| 30 |
|
- |
quasi-webview = { path = "../quasi-webview", version = "0.100.0" }
|
| 31 |
|
- |
quasi-tui = { path = "../quasi-tui", version = "0.100.0" }
|
|
29 |
+ |
quasi-router = { path = "../quasi-router", version = "0.101.0" }
|
|
30 |
+ |
quasi-webview = { path = "../quasi-webview", version = "0.101.0" }
|
|
31 |
+ |
quasi-tui = { path = "../quasi-tui", version = "0.101.0" }
|
| 32 |
32 |
|
# `Serves` is the trait carrying `screen` and `fragment`, which is what the
|
| 33 |
33 |
|
# webview is measured through. Taken directly rather than through quasi-webview
|
| 34 |
34 |
|
# because a bench calling a trait method should name the trait it calls.
|
| 35 |
|
- |
quasi-http = { path = "../quasi-http", version = "0.100.0" }
|
|
35 |
+ |
quasi-http = { path = "../quasi-http", version = "0.101.0" }
|
| 36 |
36 |
|
makeover-layout = "0.44"
|
| 37 |
37 |
|
# The renderer's own escaper, so the staged path fills a hole exactly the way
|
| 38 |
38 |
|
# `Node::Text` does and the guarantee is not quietly reimplemented.
|
| 1 |
1 |
|
[package]
|
| 2 |
2 |
|
name = "quasi-http"
|
| 3 |
|
- |
version = "0.100.0"
|
|
3 |
+ |
version = "0.101.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.100.0" }
|
|
16 |
+ |
quasi-router = { path = "../quasi-router", version = "0.101.0" }
|
| 17 |
17 |
|
http = "1.3.1"
|
| 18 |
18 |
|
form_urlencoded = "1.2.2"
|
| 1 |
1 |
|
[package]
|
| 2 |
2 |
|
name = "quasi-immediate"
|
| 3 |
|
- |
version = "0.100.0"
|
|
3 |
+ |
version = "0.101.0"
|
| 4 |
4 |
|
edition = "2024"
|
| 5 |
5 |
|
description = "The immediate-mode renderer for quasi-router: a described screen in, an egui frame out. Immediate mode is the constraint that matters, not the library."
|
| 6 |
6 |
|
license = "MIT"
|
| 12 |
12 |
|
categories = ["gui"]
|
| 13 |
13 |
|
|
| 14 |
14 |
|
[dependencies]
|
| 15 |
|
- |
quasi-router = { path = "../quasi-router", version = "0.100.0" }
|
|
15 |
+ |
quasi-router = { path = "../quasi-router", version = "0.101.0" }
|
| 16 |
16 |
|
# The node drawing, which is the makeover layer's and not this crate's. Every
|
| 17 |
17 |
|
# widget here that is not a container comes from it: a screen walk that painted
|
| 18 |
18 |
|
# its own meter would be the divergence the suite exists to end, one copy per
|
| 1 |
1 |
|
[package]
|
| 2 |
2 |
|
name = "quasi-notifs"
|
| 3 |
|
- |
version = "0.100.0"
|
|
3 |
+ |
version = "0.101.0"
|
| 4 |
4 |
|
description = "Declared notification kinds and the registry that holds them: what a notification says and what it is for, apart from how it reaches a person"
|
| 5 |
5 |
|
edition.workspace = true
|
| 6 |
6 |
|
rust-version.workspace = true
|
| 28 |
28 |
|
tauri = ["dep:tauri", "dep:tauri-plugin-notification"]
|
| 29 |
29 |
|
|
| 30 |
30 |
|
[dependencies]
|
| 31 |
|
- |
quasi-router = { path = "../quasi-router", version = "0.100.0", optional = true }
|
|
31 |
+ |
quasi-router = { path = "../quasi-router", version = "0.101.0", optional = true }
|
| 32 |
32 |
|
synckit-config = { git = "https://makenot.work/git/max/synckit.git", version = "0.2", optional = true }
|
| 33 |
33 |
|
tauri-plugin-notification = { version = "2.3.3", optional = true }
|
| 34 |
34 |
|
# Default features off, for `quasi-tauri`'s reason: this takes an `AppHandle`
|
| 1 |
1 |
|
[package]
|
| 2 |
2 |
|
name = "quasi-router"
|
| 3 |
|
- |
version = "0.100.0"
|
|
3 |
+ |
version = "0.101.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
|