From 16fe57e94f7924f79c1a0adab2883cb3c4dba9e7 Mon Sep 17 00:00:00 2001 From: BFlat Date: Mon, 12 Oct 2026 14:49:14 +0700 Subject: [PATCH] App mark: the chameleon's curled tail (#157) The mark in the left rail, file tabs, home screen and About is now a curled tail drawn in code as one bold stroke (a shaft and three tightening half turns), taken from the chameleon on the app icon. It replaces the three stacked bars. --- crates/ui-egui/src/icons.rs | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/crates/ui-egui/src/icons.rs b/crates/ui-egui/src/icons.rs index 5f8ef93..47045f7 100644 --- a/crates/ui-egui/src/icons.rs +++ b/crates/ui-egui/src/icons.rs @@ -998,10 +998,16 @@ fn draw(p: &P, icon: Icon) { p.dot(8.0, 11.5, 0.9); } Logo => { - // FigCraft's own mark: three stacked rounded tiles forming an "F" shape. - p.fill_rect(3.0, 2.0, 13.0, 5.0, 1.0); - p.fill_rect(3.0, 6.5, 10.0, 9.5, 1.0); - p.fill_rect(3.0, 11.0, 6.0, 14.0, 1.0); + // FigCraft's own mark: the curled tail of the chameleon on the app icon. One bold + // stroke: a shaft along the bottom, then three half turns, each tighter than the last. + let mut tail = vec![(13.75, 13.0)]; + tail.extend(arc_pts(7.25, 8.0, 5.0, FRAC_PI_2, 3.0 * FRAC_PI_2)); + tail.extend(arc_pts(7.25, 6.5, 3.5, 3.0 * FRAC_PI_2, 5.0 * FRAC_PI_2)); + tail.extend(arc_pts(7.25, 8.25, 1.75, FRAC_PI_2, 3.0 * FRAC_PI_2)); + let v: Vec = tail.iter().map(|&(x, y)| p.raw(x, y)).collect(); + p.painter.add(Shape::line(v, Stroke::new(1.7 * p.s, p.color))); + p.dot(13.75, 13.0, 0.85); + p.dot(7.25, 6.5, 0.85); } } }