Skip to main content

max / makeover-layout

0.6.0: Width and Priority are non_exhaustive Breaking, and the last of the vocabulary enums a renderer matches on to take this. Fill and Depth went in 0.4.0, FieldKind in 0.5.0. RowPart is the one still closed, and it stays closed for now: nothing has needed to grow it.
Co-Authored-By
Claude Opus 5 (1M context) <noreply@anthropic.com>
Author: Max Johnson <me@maxj.phd> · 2026-07-30 14:12 UTC
Signed with PGP, not checked
Commit: 1e805ddac1d53f94fb0c77a518ea7a16bd30bec4
Parent: b3246e6
2 files changed, +9 insertions, -1 deletion
M Cargo.toml +1 -1
@@ -1,6 +1,6 @@
1 1 [package]
2 2 name = "makeover-layout"
3 - version = "0.5.0"
3 + version = "0.6.0"
4 4 edition = "2024"
5 5 description = "The renderer-agnostic half of the make-family design system: what a thing IS, named as intents and relationships and never as values. Colour defers to makeover, spacing to makeover-geometry; what is left is composition."
6 6 license = "MIT"
M src/lib.rs +8
@@ -798,7 +798,11 @@
798 798 /// An intent, so the actual floor stays with `makeover-geometry`. goingson's
799 799 /// task table spells these as `minmax(200px, 1fr)`, `140px` and content-sized;
800 800 /// only the first three words of that survive deferral.
801 + /// `#[non_exhaustive]`, for the reason [`Fill`] and [`FieldKind`] are: a
802 + /// renderer matches on this and a vocabulary that grows must not break every
803 + /// renderer when it does.
801 804 #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
805 + #[non_exhaustive]
802 806 pub enum Width {
803 807 /// Takes what it needs and no more.
804 808 Content,
@@ -815,7 +819,11 @@
815 819 /// webview apps do today and is a live bug rather than only verbosity. goingson
816 820 /// hides mobile columns with `nth-child(n+5)` against a seven-column table, so
817 821 /// inserting a column silently hides the wrong one.
822 + /// `#[non_exhaustive]`, same reasoning as [`Width`]. Note the ordering is the
823 + /// whole point of the type, so a new tier has to be declared in its place in
824 + /// the sequence rather than appended.
818 825 #[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
826 + #[non_exhaustive]
819 827 pub enum Priority {
820 828 /// Dropped first.
821 829 Optional,