Skip to main content

max / makeover-build

4.3 KB · 90 lines History Blame Raw
1 [package]
2 name = "makeover-build"
3 version = "0.67.0"
4 edition = "2024"
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 license = "MIT"
7 repository = "https://makenot.work/git/max/makeover-build"
8 exclude = ["scripts/", "dist/", "bento.toml", ".githooks/"]
9
10 [dependencies]
11 # 2.7 for the typography layer: `font_face_css` and the two font tokens, which
12 # `typography_css` writes and which do not exist before it.
13 #
14 # The floor was 2.5 before that, and its reason still holds underneath: 2.5 is
15 # the release that derives `--elevation-overlay`, which makeover-webview 0.22
16 # emits a `var()` reference to. The two crates cannot state that coupling
17 # themselves — makeover-webview has no dependency on makeover, deliberately —
18 # so this is the only manifest that sees both halves, and a consumer resolving
19 # 2.4 here would generate a stylesheet naming a token nothing defines. A custom
20 # property whose value fails to substitute takes the whole declaration with it
21 # rather than degrading, so that failure is invisible until something looks
22 # wrong on screen.
23 makeover = "3.1"
24 # The exact patch, not the minor: the same discipline 0.13.1 was released for.
25 # An earlier patch in a minor can pin an older makeover-touch, which drags a
26 # second makeover-geometry into the graph alongside the one below and fails to
27 # compile on `Density` being nominally distinct. The exact patch is what keeps
28 # the geometry axis single.
29 #
30 # The pin tracks the renderer half rather than only this crate's needs. This
31 # crate emits the stylesheet; a screen renderer emits the markup that stylesheet
32 # matches, and a graph holding both at different versions is an app whose CSS
33 # and HTML were generated by two crates that never agreed. That is what the
34 # renderer's `links` key makes a resolver error rather than a silent mismatch,
35 # and it means a bump here is a bump for every consumer at once.
36 #
37 # 0.32.0 names the one inline control, a link. quasi's containment model turns
38 # a cell into a run of leaves, so "this text is a link" became a member the run
39 # holds rather than a field on one container, and the renderer needed a name for
40 # it that was not invented locally.
41 #
42 # 0.67.0 says flat out loud. A facet value's rest depth is `Depth::Flat`, which
43 # declares nothing, so the generated layer held no rule for it and an app
44 # handing makeover the cascade with `revert-layer` rolled the handoff onto its
45 # own bare `button` rule. A generated sheet from 0.66.0 leaves that hole.
46 #
47 # 0.68.0 says it in the disabled arm too. Same hole one rule over: the arm
48 # re-asserted only the axes its depth declares, so a flat control kept the
49 # hover surface after it stopped answering, and anything without a bevel kept
50 # the pressed rule's inset one.
51 makeover-webview = "0.74"
52 makeover-geometry = "0.7"
53 # 0.1.1, not 0.1.0: the cadence axis and `reduced_motion_css` are what
54 # `timing_css` emits, and 0.1.0 has neither. A consumer resolving 0.1.0 would
55 # generate a sheet with no activity mark and no motion-off block, which is the
56 # silent half -- a reader who asked for less motion would still get it.
57 makeover-timing = "0.1.1"
58
59 [lints.rust]
60 unused = "warn"
61 unreachable_pub = "warn"
62
63 [lints.clippy]
64 pedantic = { level = "warn", priority = -1 }
65 # Allow-list tuned from a measured breakdown across server/multithreaded/pter
66 # (2026-07-22). These are the high-churn / low-signal pedantic lints; everything
67 # else in `pedantic` stays a warning. Keep this block identical across repos.
68 module_name_repetitions = "allow"
69 # Doc lints. No docs-completeness push is underway.
70 missing_errors_doc = "allow"
71 missing_panics_doc = "allow"
72 doc_markdown = "allow"
73 # Numeric casts. Endemic and mostly intentional in size and byte math.
74 cast_possible_truncation = "allow"
75 cast_sign_loss = "allow"
76 cast_precision_loss = "allow"
77 cast_possible_wrap = "allow"
78 cast_lossless = "allow"
79 # Subjective structure and style nags. High churn, low signal.
80 must_use_candidate = "allow"
81 too_many_lines = "allow"
82 struct_excessive_bools = "allow"
83 similar_names = "allow"
84 items_after_statements = "allow"
85 single_match_else = "allow"
86 # Frequent false-positives in TUI and router-heavy code.
87 match_same_arms = "allow"
88 unnecessary_wraps = "allow"
89 type_complexity = "allow"
90