Skip to main content

max / quasi

3.1 KB · 61 lines History Blame Raw
1 [package]
2 name = "quasi-immediate"
3 version = "0.109.0"
4 edition = "2024"
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 license = "MIT"
7 # Unpublished like every crate here: it takes `quasi-router`, which is
8 # `publish = false` deliberately so the screen tree can churn.
9 publish = false
10 repository = "https://makenot.work/git/max/quasi"
11 keywords = ["egui", "gui", "immediate-mode", "renderer"]
12 categories = ["gui"]
13
14 [dependencies]
15 quasi-router = { path = "../quasi-router", version = "0.109" }
16 # The node drawing, which is the makeover layer's and not this crate's. Every
17 # widget here that is not a container comes from it: a screen walk that painted
18 # its own meter would be the divergence the suite exists to end, one copy per
19 # renderer instead of one copy per app.
20 makeover-immediate = "0.46"
21 # The one place a duration is named rather than numbered. `Intent::Dismiss` is
22 # how long a transient notice lives, and `notice_lifetime` is the seam: the
23 # description says a toast goes away on its own and declines to say when, so
24 # the when is the renderer's and this is where the renderers keep it. One
25 # number for all three rather than the same literal written three times.
26 makeover-timing = "0.1.1"
27 egui = { version = "0.35", default-features = false }
28 # Markdown to text for `Node::Rich`. The same crate the webview renderer takes,
29 # reading the same source: what differs is that it can emit markup and this
30 # cannot, so this asks for the plain rendering.
31 docengine = { git = "https://makenot.work/git/max/docengine.git", version = "0.7" }
32
33 [dev-dependencies]
34 # Fonts, for tests only.
35 #
36 # The dependency above keeps `default-features = false` on purpose: a consumer
37 # supplies its own faces (audiofiles does), and the harness wanting one is no
38 # reason to push the Ubuntu/Emoji set into every consumer's build. A
39 # dev-dependency's features apply when this crate's own tests are built and
40 # nowhere else, so this is the dev-only form the alternative (committing a test
41 # face) would not be -- and the tree's rule is not to store what rebuilds.
42 #
43 # Without it every string measures zero points wide, so a `Response` covers no
44 # pixel, is never hovered, and no injected click can reach it. That is why this
45 # renderer could assert only that drawing fires nothing.
46 egui = { version = "0.35", features = ["default_fonts"] }
47
48 # The workspace tables, taken by name rather than restated. This crate had its
49 # own `[lints.clippy]` carrying `pedantic` alone, and a member's table
50 # *replaces* the workspace one rather than adding to it, so the house allow-list
51 # did not reach here: this was the only crate in the workspace warning on the
52 # numeric casts its siblings allow. Found 2026-08-30 by `View::show_by`, a
53 # verbatim copy of quasi-tui's that warned only here.
54 #
55 # `unused` and `unreachable_pub` went with it, which is what puts this crate on
56 # the same footing as the other eleven: none of them declare either, `unused` is
57 # a rustc default, and turning `unreachable_pub` on tree-wide is its own pass --
58 # it has findings in `crates/quasi` that are not this change's business.
59 [lints]
60 workspace = true
61