main
tag: launch-2026-06-01
tag: magicmirror-v0.1.1
tag: magicmirror-v0.3.0
tag: mnw-cli-v0.1.2
tag: mnw-cli-v0.1.3
tag: mnw-cli-v0.1.4
tag: pom-v0.4.1
tag: pom-v0.4.2
tag: pom-v0.4.3
tag: pom-v0.4.4
tag: pom-v0.4.5
tag: wam-v0.3.0
tag: wam-v0.3.1
Files
Commits
Tags
Notes
Issues
Link the time axis: makeover-build 0.52.0 writes static/timing.css
The durations makeover-timing names by intent, generated the same way
the spacing layer is and linked beside it. Nothing here states a number:
a hand-written duration in a stylesheet is the drift that crate exists
to end.
Fingerprinted read-only with the other generated sheets, so a bump of
makeover-timing busts `?v=` without build.rs watching a file it writes.
Co-Authored-By
Claude Opus 5 (1M context) <noreply@anthropic.com>
5 files changed,
+52 insertions,
-26 deletions
15
15
server/static/quasi-download.js
16
16
server/static/quasi-fill.js
17
17
server/static/geometry.css
18
+
server/static/timing.css
18
19
server/static/layout.css
19
20
server/static/embed-geometry.css
20
21
server/static/typography.css
2875
2875
checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
2876
2876
dependencies = [
2877
2877
"libc",
2878
-
"windows-sys 0.59.0",
2878
+
"windows-sys 0.61.2",
2879
2879
]
2880
2880
2881
2881
[[package]]
3660
3660
checksum = "1a791e6620676a875f362f3156ed213e73ca099a09bf992c18812abe65cc37b1"
3661
3661
dependencies = [
3662
3662
"bstr",
3663
-
"hashbrown 0.15.5",
3663
+
"hashbrown 0.17.1",
3664
3664
]
3665
3665
3666
3666
[[package]]
4811
4811
source = "registry+https://github.com/rust-lang/crates.io-index"
4812
4812
checksum = "82cb6a9f675da968c63b6208c641b9dca58fc0133ae53375736b1767b0cab8bd"
4813
4813
dependencies = [
4814
-
"windows-sys 0.59.0",
4814
+
"windows-sys 0.61.2",
4815
4815
]
4816
4816
4817
4817
[[package]]
5390
5390
5391
5391
[[package]]
5392
5392
name = "makeover-build"
5393
-
version = "0.51.0"
5393
+
version = "0.52.0"
5394
5394
source = "registry+https://github.com/rust-lang/crates.io-index"
5395
-
checksum = "1fdd63f552182f0c39a0416a4420ecfb66c89e4a11531878b4a832d6ebc6aad7"
5395
+
checksum = "7b10f15fe8101177872c65b4bf2dc521a98975a42cee7b1ddfb2646fdcbfaaa9"
5396
5396
dependencies = [
5397
5397
"makeover",
5398
5398
"makeover-geometry",
5399
+
"makeover-timing",
5399
5400
"makeover-webview",
5400
5401
]
5401
5402
5411
5412
source = "registry+https://github.com/rust-lang/crates.io-index"
5412
5413
checksum = "774bfd81b003f0d0059ff50daa8e625e6969175bc0132ddf7c2108bba40c47d5"
5413
5414
5415
+
[[package]]
5416
+
name = "makeover-timing"
5417
+
version = "0.1.1"
5418
+
source = "registry+https://github.com/rust-lang/crates.io-index"
5419
+
checksum = "c83b1e0502c0179754752e59dd98fa4b15df8f9d0b454e0291b80c984aa2bd49"
5420
+
dependencies = [
5421
+
"makeover-geometry",
5422
+
]
5423
+
5414
5424
[[package]]
5415
5425
name = "makeover-touch"
5416
5426
version = "0.24.0"
5712
5722
source = "registry+https://github.com/rust-lang/crates.io-index"
5713
5723
checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5"
5714
5724
dependencies = [
5715
-
"windows-sys 0.59.0",
5725
+
"windows-sys 0.61.2",
5716
5726
]
5717
5727
5718
5728
[[package]]
7329
7339
"errno",
7330
7340
"libc",
7331
7341
"linux-raw-sys 0.12.1",
7332
-
"windows-sys 0.59.0",
7342
+
"windows-sys 0.61.2",
7333
7343
]
7334
7344
7335
7345
[[package]]
7409
7419
"security-framework 3.7.0",
7410
7420
"security-framework-sys",
7411
7421
"webpki-root-certs",
7412
-
"windows-sys 0.59.0",
7422
+
"windows-sys 0.61.2",
7413
7423
]
7414
7424
7415
7425
[[package]]
8535
8545
"getrandom 0.4.3",
8536
8546
"once_cell",
8537
8547
"rustix 1.1.4",
8538
-
"windows-sys 0.59.0",
8548
+
"windows-sys 0.61.2",
8539
8549
]
8540
8550
8541
8551
[[package]]
9961
9971
source = "registry+https://github.com/rust-lang/crates.io-index"
9962
9972
checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
9963
9973
dependencies = [
9964
-
"windows-sys 0.48.0",
9974
+
"windows-sys 0.61.2",
9965
9975
]
9966
9976
9967
9977
[[package]]
10757
10767
name = "synckit-config"
10758
10768
version = "0.2.0"
10759
10769
10770
+
[[patch.unused]]
10771
+
name = "kberg"
10772
+
version = "0.1.0"
10773
+
10774
+
[[patch.unused]]
10775
+
name = "ops-status"
10776
+
version = "0.1.0"
10777
+
10778
+
[[patch.unused]]
10779
+
name = "painhours"
10780
+
version = "0.1.0"
10781
+
10760
10782
[[patch.unused]]
10761
10783
name = "quasi-immediate"
10762
10784
version = "0.63.0"
10772
10794
[[patch.unused]]
10773
10795
name = "quasi-tauri"
10774
10796
version = "0.63.0"
10775
-
10776
-
[[patch.unused]]
10777
-
name = "kberg"
10778
-
version = "0.1.0"
10779
-
10780
-
[[patch.unused]]
10781
-
name = "ops-status"
10782
-
version = "0.1.0"
10783
-
10784
-
[[patch.unused]]
10785
-
name = "painhours"
10786
-
version = "0.1.0"
254
254
# Emits static/geometry.css (makeover-geometry) and static/layout.css
255
255
# (makeover-webview). The same generator GO and BB run; only the output paths
256
256
# differ, since the server serves its stylesheets rather than bundling them.
257
-
makeover-build = "0.51.0"
257
+
makeover-build = "0.52.0"
258
258
# Read directly for the embeds' own copy of the spacing layer, which they need
259
259
# because an iframe cannot link a stylesheet. makeover-build does not re-export
260
260
# it, so the pin lives here and has to track the one makeover-build resolves.
44
44
("quasi-download.js", quasi_webview::DOWNLOAD_JS),
45
45
("quasi-fill.js", quasi_webview::FILL_JS),
46
46
] {
47
-
fs::write(format!("static/{name}"), source)
48
-
.unwrap_or_else(|error| panic!("write static/{name}: {error}"));
47
+
// `write_if_changed`, not `fs::write`, and this is load-bearing rather
48
+
// than a micro-optimisation. `markup_files` globs `static/*.js`, and
49
+
// `check_vocabulary_use` emits a `rerun-if-changed` for every file it
50
+
// reads, so these four are files this script both writes AND watches.
51
+
// An unconditional write moves the mtime on every run, cargo then sees
52
+
// a watched file newer than the build script's own output, and the
53
+
// crate recompiles on every cargo invocation forever. That is what put
54
+
// a second full 5m25s compile inside every Sando `cargo_test` gate
55
+
// (task 4200580f); cargo named this exact file as the stale one.
56
+
write_if_changed(Path::new(&format!("static/{name}")), source);
49
57
}
50
58
51
59
makeover_build::geometry_css("static/geometry.css", None);
87
87
// this file defines two tokens and matches no element.
88
88
.styled(format!("/static/typography.css?v={V}"))
89
89
.styled(format!("/static/geometry.css?v={V}"))
90
+
.styled(format!("/static/timing.css?v={V}"))
90
91
.styled(format!("/static/layout.css?v={V}"))
91
92
.styled(format!("/static/style.css?v={V}"))
92
93
// Last in the head, after htmx: the favicon has no order to keep,
179
180
let stmt = head
180
181
.find("@layer makeover, base, components, responsive;")
181
182
.expect("the order is stated");
182
-
for sheet in ["typography.css", "geometry.css", "layout.css", "style.css"] {
183
+
for sheet in [
184
+
"typography.css",
185
+
"geometry.css",
186
+
"timing.css",
187
+
"layout.css",
188
+
"style.css",
189
+
] {
183
190
assert!(stmt < head.find(sheet).expect("the sheet is linked"));
184
191
}
185
192
}