Skip to main content

max / makeover-build

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