Skip to main content

max / makeover-build

0.24.0: take makeover-webview 0.31.0, where the caret owns its own gap The renderer carries `links = "makeover-webview"`, so a graph holding two versions is a resolver error rather than a warning, and this pin is what every consumer resolves through. Bumping it here is how an app gets the 0.31.0 caret at all. check_vocabulary's doc gave the caret as its example of a legitimate reviewed pairing: `content` on the unsorted arm reserving the gap, `content` on the sorted arm being the generated glyph. 0.31.0 emits both arms, so that pair is now an app overriding the design system and the check is right to fail it. A reviewed pairing is a claim about who owns a property, and it expires when the design system takes the property back.
Co-Authored-By
Claude Opus 5 (1M context) <noreply@anthropic.com>
Author: Max Johnson <me@maxj.phd> · 2026-08-12 14:20 UTC
Signed with PGP, not checked
Commit: c79ca46e9da335a50e5d242665df75c92907a86d
Parent: 04cf604
2 files changed, +23 insertions, -13 deletions
M Cargo.toml +11 -6
@@ -1,6 +1,6 @@
1 1 [package]
2 2 name = "makeover-build"
3 - version = "0.23.1"
3 + version = "0.24.0"
4 4 edition = "2024"
5 5 description = "Build-script support for the make-family design system: materialise makeover's themes and makeover-webview's stylesheet into a Tauri app's frontend, once, instead of copying the same twenty lines into every consumer's build.rs."
6 6 license = "MIT"
@@ -21,13 +21,18 @@
21 21 # compile on `Density` being nominally distinct. The exact patch is what keeps
22 22 # the geometry axis single.
23 23 #
24 - # 0.27.0 tracks the renderer half rather than only this crate's needs. This
24 + # The pin tracks the renderer half rather than only this crate's needs. This
25 25 # crate emits the stylesheet; a screen renderer emits the markup that stylesheet
26 26 # matches, and a graph holding both at different versions is an app whose CSS
27 - # and HTML were generated by two crates that never agreed. quasi-webview takes
28 - # 0.27.0, so a generated app resolved 0.26 through this build dependency and
29 - # 0.27 through its renderer until this line moved.
30 - makeover-webview = "0.30.1"
27 + # and HTML were generated by two crates that never agreed. That is what the
28 + # renderer's `links` key makes a resolver error rather than a silent mismatch,
29 + # and it means a bump here is a bump for every consumer at once.
30 + #
31 + # 0.31.0 is the release that moved the sort caret's leading space and its
32 + # reserved box into the generated sheet. An app on the earlier renderer carries
33 + # its own copy of both, which `check_vocabulary` now reads as an override rather
34 + # than as the reviewed pairing it used to be.
35 + makeover-webview = "0.31.0"
31 36 makeover-geometry = "0.7"
32 37
33 38 [lints.rust]
M src/drift.rs +12 -7
@@ -425,13 +425,18 @@
425 425 ///
426 426 /// # The exception list
427 427 ///
428 - /// `allowed` is `(class, property)` pairs this app has reviewed and kept. There
429 - /// are legitimate ones: the sort caret's reserved gap is `content` on
430 - /// `.table-heading`'s unsorted arm and the generated caret is `content` on the
431 - /// sorted arm, which is a pairing rather than a collision. Deciding that here
432 - /// would need a selector matcher, and a check that guesses wrong about
433 - /// specificity fails correct builds -- so the app declares it instead, the same
434 - /// shape as quasi-webview's `RENDERER_OWN`.
428 + /// `allowed` is `(class, property)` pairs this app has reviewed and kept.
429 + /// Deciding which are legitimate here would need a selector matcher, and a check
430 + /// that guesses wrong about specificity fails correct builds -- so the app
431 + /// declares it instead, the same shape as quasi-webview's `RENDERER_OWN`.
432 + ///
433 + /// The example this section used to give was the sort caret: `content` on
434 + /// `.table-heading`'s unsorted arm reserved the gap, `content` on the sorted arm
435 + /// was the generated glyph, and the two were a pairing rather than a collision.
436 + /// makeover-webview 0.31.0 emits both arms itself, so that pair is now an app
437 + /// overriding the caret and the check is right to fail it. A reviewed pairing is
438 + /// a claim about who owns a property, and it expires when the design system
439 + /// takes the property back.
435 440 ///
436 441 /// A pair that stops colliding fails too. A licence nobody is using is where
437 442 /// the next real collision lands and reads as company.