Fix #2681: distinguish Appearance from Pathfinder panel icons

The icon column used overlapping squares for both panels; Appearance now
reads as a stacked list so it is not confused with Pathfinder (storytold/vectorcraft#2681).

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
nrq6993-a11y
2026-10-20 01:48:34 +07:00
committed by bflatastic
co-authored by Cursor
parent 197cf0ba67
commit 0734836616
2 changed files with 14 additions and 1 deletions
+1 -1
View File
@@ -1 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="4" width="10" height="10" fill="currentColor" fill-opacity="0.4"/><rect x="10" y="10" width="10" height="10"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="6" cy="7" r="2" fill="currentColor" fill-opacity="0.45"/><path d="M10 7h10"/><circle cx="6" cy="12" r="2" fill="currentColor" fill-opacity="0.45"/><path d="M10 12h8"/><circle cx="6" cy="17" r="2" fill="currentColor" fill-opacity="0.45"/><path d="M10 17h11"/></svg>

Before

Width:  |  Height:  |  Size: 315 B

After

Width:  |  Height:  |  Size: 460 B

+13
View File
@@ -177,6 +177,19 @@ mod tests {
}
}
/// Appearance (effects) and Pathfinder both lived in the icon column; they used the same
/// overlapping-squares motif (storytold/vectorcraft#2681).
#[test]
fn appearance_panel_icon_is_not_the_pathfinder_icon() {
let appearance = String::from_utf8_lossy(include_bytes!("../../../assets/icons/dc-appearance.svg"));
let pathfinder = String::from_utf8_lossy(include_bytes!("../../../assets/icons/dc-pathfinder.svg"));
assert_ne!(appearance.as_bytes(), pathfinder.as_bytes());
assert!(
appearance.contains("<circle") && !pathfinder.contains("<circle"),
"appearance should read as a list, not overlapping squares"
);
}
#[test]
fn shared_catalog_preserves_fallback_and_tool_aliases() {
let ImageSource::Bytes { uri, bytes } = source("missing-icon") else { panic!("expected SVG bytes") };