Skip to main content

max / goingson

Take the curve cascade makeover-layout 0.32.0 and the renderers that move with it. One site: the runtime form command assembles a `Field` by hand, and it takes the default linear curve on the same footing as the constraints beside it -- this spec describes no ranges, so a mapping invented here would be a claim the app never made. 1185 tests pass, clippy clean.
Author: Max Johnson <me@maxj.phd> · 2026-08-21 17:37 UTC
Signed with PGP, not checked
Commit: 20198b4ebf2adbb305b081ce0f5a38cdcdda4ed3
Parent: ccb2fd4
3 files changed, +17 insertions, -12 deletions
M Cargo.toml +1 -1
@@ -105,7 +105,7 @@
105 105 notify = "8.2"
106 106 notify-debouncer-mini = "0.7"
107 107 makeover = "3.0"
108 - makeover-tui = "0.30.0"
108 + makeover-tui = "0.31.0"
109 109 toml = "1.1"
110 110
111 111 # Enums
@@ -28,8 +28,8 @@
28 28 # The table CSS is generated here too: the columns are this app's, so the
29 29 # shared helper cannot know them, but the tracks and the narrowing rules come
30 30 # from the description rather than from hand-written nth-child cuts.
31 - makeover-webview = "0.53.0"
32 - makeover-layout = "0.31.0"
31 + makeover-webview = "0.54.0"
32 + makeover-layout = "0.32.0"
33 33 # Width. Direct rather than through makeover-webview, because the narrow table
34 34 # pass keys off SizeClass::Compact and a boundary reached transitively is a
35 35 # boundary nobody pinned.
@@ -38,7 +38,7 @@
38 38 # `quasi` feature. Optional here as well as below so a default build compiles
39 39 # neither: one `dep:` name covers both tables, which is what lets the feature
40 40 # gate the build script and the crate together.
41 - quasi-webview = { git = "https://makenot.work/git/max/quasi.git", version = "0.45", optional = true }
41 + quasi-webview = { git = "https://makenot.work/git/max/quasi.git", version = "0.46", optional = true }
42 42
43 43 [dependencies]
44 44 goingson-core = { workspace = true }
@@ -56,10 +56,10 @@
56 56 # dependency's source even with the feature off -- so a public clone could not
57 57 # build at all against a URL it could not reach. quasi went public that day and
58 58 # the URL moved here with it.
59 - quasi-router = { git = "https://makenot.work/git/max/quasi.git", version = "0.45", optional = true }
60 - quasi-http = { git = "https://makenot.work/git/max/quasi.git", version = "0.45", optional = true }
61 - quasi-webview = { git = "https://makenot.work/git/max/quasi.git", version = "0.45", optional = true }
62 - quasi-tauri = { git = "https://makenot.work/git/max/quasi.git", version = "0.45", optional = true }
59 + quasi-router = { git = "https://makenot.work/git/max/quasi.git", version = "0.46", optional = true }
60 + quasi-http = { git = "https://makenot.work/git/max/quasi.git", version = "0.46", optional = true }
61 + quasi-webview = { git = "https://makenot.work/git/max/quasi.git", version = "0.46", optional = true }
62 + quasi-tauri = { git = "https://makenot.work/git/max/quasi.git", version = "0.46", optional = true }
63 63
64 64 # The notification declaration, and it is NOT behind the `quasi` feature: the
65 65 # watcher is desktop app behaviour rather than a described screen, and the
@@ -76,7 +76,7 @@
76 76 # before it has ported its screens cannot take it. `notifications::Notifier` is
77 77 # the eight lines meanwhile, and it goes when the flip makes quasi-router
78 78 # unconditional here.
79 - quasi-notifs = { git = "https://makenot.work/git/max/quasi.git", version = "0.45", features = ["synckit"] }
79 + quasi-notifs = { git = "https://makenot.work/git/max/quasi.git", version = "0.46", features = ["synckit"] }
80 80
81 81 # Tauri
82 82 tauri = { workspace = true, features = ["image-png", "devtools"] }
@@ -141,8 +141,8 @@
141 141 # The forms emitter and the description it renders. Runtime deps, not build:
142 142 # form markup depends on the value, the error and the options at the moment a
143 143 # modal opens, so it cannot be materialised the way the stylesheet is.
144 - makeover-webview = "0.53.0"
145 - makeover-layout = "0.31.0"
144 + makeover-webview = "0.54.0"
145 + makeover-layout = "0.32.0"
146 146 # Browser opening
147 147 open = { workspace = true }
148 148
@@ -20,7 +20,7 @@
20 20
21 21 use std::collections::HashMap;
22 22
23 - use makeover_layout::{Choice, Field, FieldKind};
23 + use makeover_layout::{Choice, Curve, Field, FieldKind};
24 24 use makeover_webview::Emit;
25 25 use makeover_webview::form::{Filling, Markup, Value, field_html};
26 26 use serde::Deserialize;
@@ -204,6 +204,11 @@
204 204 min: None,
205 205 max: None,
206 206 step: None,
207 + // makeover-layout 0.32.0's curve, on the same footing as the
208 + // constraints above: this spec describes no ranges, so the default
209 + // linear track with the host's own granularity is what the app
210 + // actually says rather than a mapping invented here.
211 + curve: Curve::default(),
207 212 extended: spec.extended,
208 213 };
209 214