production

This commit is contained in:
2026-08-28 11:13:15 +05:30
parent d7348e253f
commit 5723d373b2
162 changed files with 17924 additions and 7026 deletions

View File

@@ -134,11 +134,30 @@ void main() {
anyOf(isNull, isEmpty),
reason: 'a shadow lifts a group off the page; the spine groups it',
);
expect(
d.border,
isNull,
reason: 'an outline around a group is the card by another name',
);
// ── A rule between rows is not an outline around them ──
//
// This required `border` to be null outright, which caught the thing
// it was written for — a rectangle drawn round a kitchen — and also
// catches a one-sided hairline separating one order from the next.
// Those are opposites: a box groups by enclosing, a rule separates by
// dividing, and the second is the spine's own grammar rather than a
// competitor to it. What stays banned is an enclosure.
final border = d.border;
if (border is Border) {
expect(
border.left.style == BorderStyle.none &&
border.right.style == BorderStyle.none &&
border.top.style == BorderStyle.none,
isTrue,
reason: 'an outline around a group is the card by another name',
);
} else {
expect(
border,
isNull,
reason: 'an outline around a group is the card by another name',
);
}
}
// ── What a fill may be here, since the route moved onto a panel ──