| 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 |
|