Let Compose lead the attributes, as their own doc always said
`Attribute::ALL` claims to be "roughly the order a photographer works in" and then listed framing fifth, behind tone, colour and detail. Framing is the first decision made about a photograph and the one every later judgement is made inside — there is no sense balancing tones across a frame about to lose a third of its width. The contradiction was harmless while the list only fed a row of chips nobody reads in order. It stops being harmless now that the same list drives a column read top to bottom. `declared::Attr::ALL` moves with it. The two are separate spellings of one vocabulary and a test asserts they agree, which is what caught this rather than the order silently disagreeing between the YAML front end and the crate. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -140,11 +140,11 @@ impl Attr {
|
|||||||
/// Every attribute, in the order `crate::descriptor::Attribute` declares
|
/// Every attribute, in the order `crate::descriptor::Attribute` declares
|
||||||
/// them.
|
/// them.
|
||||||
pub const ALL: [Attr; 6] = [
|
pub const ALL: [Attr; 6] = [
|
||||||
|
Attr::Compose,
|
||||||
Attr::Tone,
|
Attr::Tone,
|
||||||
Attr::Colour,
|
Attr::Colour,
|
||||||
Attr::Detail,
|
Attr::Detail,
|
||||||
Attr::Optics,
|
Attr::Optics,
|
||||||
Attr::Compose,
|
|
||||||
Attr::Effect,
|
Attr::Effect,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -600,12 +600,19 @@ impl Attribute {
|
|||||||
/// makes it a reasonable *default* for a frontend that wants one. It is
|
/// makes it a reasonable *default* for a frontend that wants one. It is
|
||||||
/// not a screen order: nothing here obliges a frontend to show them all,
|
/// not a screen order: nothing here obliges a frontend to show them all,
|
||||||
/// show them in this sequence, or show them at all.
|
/// show them in this sequence, or show them at all.
|
||||||
|
///
|
||||||
|
/// `Compose` leads because framing is the first decision made about a
|
||||||
|
/// photograph and the one every later judgement is made inside — there is
|
||||||
|
/// no sense in balancing tones across a frame that is about to lose a
|
||||||
|
/// third of its width. It sat fifth while it was called `Geometry`, which
|
||||||
|
/// contradicted the claim above and was noticed only when this list
|
||||||
|
/// started driving a control read top to bottom.
|
||||||
pub const ALL: [Attribute; 6] = [
|
pub const ALL: [Attribute; 6] = [
|
||||||
|
Attribute::Compose,
|
||||||
Attribute::Tone,
|
Attribute::Tone,
|
||||||
Attribute::Colour,
|
Attribute::Colour,
|
||||||
Attribute::Detail,
|
Attribute::Detail,
|
||||||
Attribute::Optics,
|
Attribute::Optics,
|
||||||
Attribute::Compose,
|
|
||||||
Attribute::Effect,
|
Attribute::Effect,
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
+30
-30
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user