refactor: round the Cashu nut body into a smooth outline

Replace the blocky pixel-stepped cashew silhouette with a smooth rounded
outline (corner-cut and emitted as a compact Bézier spline) so the nut reads
as a clean curved shape instead of a staircase. Use a round stroke cap/join at
the same 1.2 weight; the pixel "deal-with-it" sunglasses stay a solid fill.
This commit is contained in:
Claude
2026-05-29 23:01:34 +00:00
parent 71bed1cf0a
commit df33b99b07
@@ -24,12 +24,13 @@ import androidx.compose.foundation.Image
import androidx.compose.runtime.Composable
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.StrokeCap.Companion.Round
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.graphics.vector.rememberVectorPainter
import androidx.compose.ui.tooling.preview.Preview
import com.vitorpamplona.amethyst.commons.icons.materialIcon
import com.vitorpamplona.amethyst.commons.icons.materialOutlinedPath
import androidx.compose.ui.graphics.StrokeJoin.Companion.Round as RoundJoin
@Preview
@Composable
@@ -43,12 +44,11 @@ fun CustomHashTagIconsCashuPreview() {
)
}
// Monochrome, tintable "deez nuts" cashew + pixel-shades mark. The body is a
// hollow outline (matching the 1.2 stroke weight of the shared outline icons
// such as Zap) so it tints with the surrounding content colour like a Material
// Symbol; the sunglasses stay a solid fill so they read at small sizes. The
// cashew is squeezed horizontally and the shades enlarged so they overhang the
// body for a bolder look.
// Monochrome, tintable "deez nuts" cashew + pixel-shades mark. The cashew body
// is a smooth rounded outline (1.2 stroke weight, matching the shared Zap
// outline icon) so it tints with the surrounding content colour like a Material
// Symbol; the pixel "deal-with-it" sunglasses stay a solid fill, enlarged so
// they overhang the slimmed body for a bolder look.
public val CustomHashTagIcons.Cashu: ImageVector
get() {
if (customHashTagIconsCashu != null) {
@@ -56,122 +56,149 @@ public val CustomHashTagIcons.Cashu: ImageVector
}
customHashTagIconsCashu =
materialIcon(name = "Cashu") {
materialOutlinedPath {
moveTo(14.98f, 1.50f)
lineTo(14.98f, 2.72f)
lineTo(15.95f, 2.72f)
lineTo(15.95f, 6.49f)
lineTo(14.98f, 6.49f)
lineTo(14.99f, 7.80f)
lineTo(14.15f, 7.80f)
lineTo(14.14f, 11.46f)
lineTo(14.98f, 11.44f)
lineTo(14.98f, 13.84f)
lineTo(17.82f, 13.84f)
lineTo(17.82f, 15.12f)
lineTo(18.77f, 15.12f)
lineTo(18.77f, 16.39f)
lineTo(19.66f, 16.39f)
lineTo(19.66f, 20.06f)
lineTo(18.78f, 20.06f)
lineTo(18.78f, 21.28f)
lineTo(17.83f, 21.28f)
lineTo(17.83f, 22.50f)
lineTo(10.31f, 22.50f)
lineTo(10.31f, 21.28f)
lineTo(9.33f, 21.28f)
lineTo(9.33f, 20.05f)
lineTo(8.35f, 20.05f)
lineTo(8.35f, 18.84f)
lineTo(7.47f, 18.84f)
lineTo(7.47f, 16.36f)
lineTo(6.48f, 16.36f)
lineTo(6.48f, 3.99f)
lineTo(7.48f, 3.99f)
lineTo(7.48f, 2.72f)
lineTo(8.34f, 2.72f)
lineTo(8.34f, 1.50f)
path(
fill = null,
stroke = SolidColor(Color.Black),
strokeLineWidth = 1.2f,
strokeLineCap = Round,
strokeLineJoin = RoundJoin,
) {
moveTo(15.03f, 2.02f)
curveTo(15.15f, 2.16f, 15.01f, 2.39f, 15.12f, 2.51f)
curveTo(15.23f, 2.64f, 15.55f, 2.67f, 15.67f, 2.76f)
curveTo(15.79f, 2.85f, 15.79f, 2.65f, 15.84f, 3.06f)
curveTo(15.89f, 3.47f, 15.99f, 4.70f, 15.98f, 5.24f)
curveTo(15.96f, 5.78f, 15.90f, 6.07f, 15.76f, 6.30f)
curveTo(15.63f, 6.52f, 15.31f, 6.38f, 15.18f, 6.59f)
curveTo(15.04f, 6.81f, 15.07f, 7.37f, 14.96f, 7.58f)
curveTo(14.84f, 7.79f, 14.57f, 7.75f, 14.47f, 7.84f)
curveTo(14.36f, 7.93f, 14.37f, 7.87f, 14.32f, 8.13f)
curveTo(14.28f, 8.39f, 14.19f, 8.89f, 14.19f, 9.39f)
curveTo(14.19f, 9.89f, 14.20f, 10.73f, 14.32f, 11.11f)
curveTo(14.44f, 11.48f, 14.77f, 11.33f, 14.90f, 11.65f)
curveTo(15.02f, 11.98f, 15.01f, 12.74f, 15.07f, 13.04f)
curveTo(15.14f, 13.34f, 15.15f, 13.33f, 15.29f, 13.45f)
curveTo(15.44f, 13.58f, 15.57f, 13.69f, 15.96f, 13.79f)
curveTo(16.34f, 13.89f, 17.29f, 13.95f, 17.60f, 14.03f)
curveTo(17.91f, 14.11f, 17.76f, 14.09f, 17.82f, 14.25f)
curveTo(17.89f, 14.41f, 17.87f, 14.82f, 18.02f, 14.99f)
curveTo(18.17f, 15.17f, 18.58f, 15.12f, 18.73f, 15.31f)
curveTo(18.88f, 15.51f, 18.79f, 16.00f, 18.90f, 16.19f)
curveTo(19.02f, 16.38f, 19.30f, 16.32f, 19.42f, 16.45f)
curveTo(19.54f, 16.57f, 19.59f, 16.45f, 19.63f, 16.96f)
curveTo(19.66f, 17.47f, 19.66f, 18.98f, 19.63f, 19.48f)
curveTo(19.60f, 19.99f, 19.54f, 19.87f, 19.42f, 20.00f)
curveTo(19.30f, 20.13f, 19.03f, 20.07f, 18.91f, 20.25f)
curveTo(18.80f, 20.43f, 18.89f, 20.90f, 18.74f, 21.09f)
curveTo(18.60f, 21.28f, 18.17f, 21.25f, 18.03f, 21.40f)
curveTo(17.89f, 21.54f, 17.96f, 21.83f, 17.88f, 21.97f)
curveTo(17.80f, 22.10f, 18.08f, 22.13f, 17.53f, 22.21f)
curveTo(16.98f, 22.30f, 15.66f, 22.48f, 14.58f, 22.50f)
curveTo(13.50f, 22.52f, 11.74f, 22.38f, 11.05f, 22.31f)
curveTo(10.36f, 22.24f, 10.61f, 22.25f, 10.46f, 22.10f)
curveTo(10.32f, 21.95f, 10.35f, 21.55f, 10.19f, 21.40f)
curveTo(10.03f, 21.24f, 9.68f, 21.37f, 9.52f, 21.17f)
curveTo(9.35f, 20.96f, 9.38f, 20.38f, 9.21f, 20.16f)
curveTo(9.04f, 19.94f, 8.63f, 20.05f, 8.48f, 19.86f)
curveTo(8.33f, 19.67f, 8.42f, 19.20f, 8.31f, 19.03f)
curveTo(8.19f, 18.85f, 7.92f, 18.90f, 7.80f, 18.80f)
curveTo(7.68f, 18.70f, 7.66f, 18.82f, 7.59f, 18.45f)
curveTo(7.51f, 18.08f, 7.48f, 16.97f, 7.35f, 16.59f)
curveTo(7.23f, 16.21f, 6.97f, 16.53f, 6.84f, 16.17f)
curveTo(6.72f, 15.80f, 6.67f, 15.30f, 6.61f, 14.42f)
curveTo(6.56f, 13.55f, 6.50f, 12.59f, 6.52f, 10.94f)
curveTo(6.54f, 9.30f, 6.68f, 5.72f, 6.75f, 4.56f)
curveTo(6.83f, 3.40f, 6.84f, 4.11f, 6.95f, 3.98f)
curveTo(7.07f, 3.85f, 7.31f, 3.97f, 7.42f, 3.78f)
curveTo(7.54f, 3.58f, 7.51f, 3.02f, 7.65f, 2.82f)
curveTo(7.79f, 2.62f, 8.12f, 2.72f, 8.24f, 2.59f)
curveTo(8.36f, 2.45f, 8.30f, 2.15f, 8.37f, 2.01f)
curveTo(8.45f, 1.88f, 8.43f, 1.85f, 8.69f, 1.77f)
curveTo(8.95f, 1.69f, 9.24f, 1.58f, 9.93f, 1.54f)
curveTo(10.63f, 1.49f, 12.10f, 1.48f, 12.84f, 1.50f)
curveTo(13.59f, 1.52f, 14.04f, 1.59f, 14.40f, 1.67f)
curveTo(14.77f, 1.76f, 14.91f, 1.88f, 15.03f, 2.02f)
close()
}
path(fill = SolidColor(Color.Black)) {
moveTo(4.34f, 7.22f)
lineTo(4.34f, 8.62f)
lineTo(4.87f, 8.62f)
lineTo(4.87f, 9.43f)
lineTo(5.33f, 9.43f)
lineTo(5.33f, 10.20f)
lineTo(5.89f, 10.20f)
lineTo(5.89f, 10.79f)
lineTo(9.62f, 10.79f)
lineTo(9.62f, 10.18f)
lineTo(10.17f, 10.18f)
lineTo(10.17f, 9.42f)
lineTo(10.73f, 9.42f)
lineTo(10.73f, 7.82f)
lineTo(11.71f, 7.82f)
lineTo(11.71f, 9.41f)
lineTo(12.28f, 9.41f)
lineTo(12.28f, 10.15f)
lineTo(12.72f, 10.15f)
lineTo(12.72f, 10.75f)
lineTo(16.45f, 10.75f)
lineTo(16.45f, 10.17f)
lineTo(16.99f, 10.17f)
lineTo(16.99f, 9.41f)
lineTo(17.56f, 9.41f)
lineTo(17.56f, 8.62f)
lineTo(18.09f, 8.62f)
lineTo(18.09f, 7.25f)
moveTo(4.37f, 7.21f)
lineTo(4.37f, 8.61f)
lineTo(4.91f, 8.61f)
lineTo(4.91f, 9.42f)
lineTo(5.36f, 9.42f)
lineTo(5.36f, 10.18f)
lineTo(5.92f, 10.18f)
lineTo(5.92f, 10.78f)
lineTo(9.66f, 10.78f)
lineTo(9.66f, 10.16f)
lineTo(10.21f, 10.16f)
lineTo(10.21f, 9.41f)
lineTo(10.77f, 9.41f)
lineTo(10.77f, 7.81f)
lineTo(11.75f, 7.81f)
lineTo(11.75f, 9.39f)
lineTo(12.32f, 9.39f)
lineTo(12.32f, 10.14f)
lineTo(12.76f, 10.14f)
lineTo(12.76f, 10.74f)
lineTo(16.49f, 10.74f)
lineTo(16.49f, 10.16f)
lineTo(17.03f, 10.16f)
lineTo(17.03f, 9.40f)
lineTo(17.61f, 9.40f)
lineTo(17.61f, 8.60f)
lineTo(18.14f, 8.60f)
lineTo(18.14f, 7.24f)
close()
moveTo(12.80f, 7.80f)
lineTo(13.32f, 7.80f)
lineTo(13.32f, 8.58f)
lineTo(13.90f, 8.58f)
lineTo(13.90f, 9.35f)
lineTo(14.42f, 9.35f)
lineTo(14.42f, 8.57f)
lineTo(13.91f, 8.57f)
lineTo(13.91f, 7.80f)
lineTo(14.44f, 7.80f)
lineTo(14.44f, 8.58f)
lineTo(14.92f, 8.58f)
lineTo(14.93f, 9.36f)
lineTo(15.44f, 9.37f)
lineTo(15.44f, 10.10f)
lineTo(14.92f, 10.10f)
lineTo(14.93f, 9.36f)
lineTo(14.43f, 9.36f)
lineTo(14.43f, 10.07f)
lineTo(13.91f, 10.07f)
lineTo(13.91f, 9.37f)
lineTo(13.32f, 9.36f)
lineTo(13.32f, 8.58f)
lineTo(12.80f, 8.58f)
moveTo(12.84f, 7.79f)
lineTo(13.36f, 7.79f)
lineTo(13.36f, 8.57f)
lineTo(13.94f, 8.57f)
lineTo(13.94f, 9.34f)
lineTo(14.46f, 9.34f)
lineTo(14.46f, 8.56f)
lineTo(13.95f, 8.56f)
lineTo(13.95f, 7.79f)
lineTo(14.48f, 7.79f)
lineTo(14.48f, 8.57f)
lineTo(14.97f, 8.57f)
lineTo(14.97f, 9.35f)
lineTo(15.48f, 9.36f)
lineTo(15.48f, 10.09f)
lineTo(14.97f, 10.09f)
lineTo(14.97f, 9.35f)
lineTo(14.48f, 9.35f)
lineTo(14.48f, 10.06f)
lineTo(13.95f, 10.06f)
lineTo(13.95f, 9.36f)
lineTo(13.36f, 9.35f)
lineTo(13.36f, 8.57f)
lineTo(12.84f, 8.57f)
close()
moveTo(5.32f, 7.90f)
lineTo(5.84f, 7.90f)
lineTo(5.84f, 8.68f)
lineTo(6.42f, 8.69f)
lineTo(6.42f, 9.45f)
lineTo(6.94f, 9.45f)
lineTo(6.94f, 8.67f)
lineTo(6.43f, 8.67f)
lineTo(6.43f, 7.90f)
lineTo(6.96f, 7.91f)
lineTo(6.96f, 8.68f)
lineTo(7.45f, 8.68f)
lineTo(7.45f, 9.47f)
lineTo(7.96f, 9.47f)
lineTo(7.96f, 10.21f)
lineTo(7.45f, 10.20f)
lineTo(7.45f, 9.47f)
lineTo(6.96f, 9.47f)
lineTo(6.96f, 10.18f)
lineTo(6.43f, 10.18f)
lineTo(6.43f, 9.47f)
lineTo(5.84f, 9.46f)
lineTo(5.84f, 8.69f)
lineTo(5.32f, 8.68f)
moveTo(5.36f, 7.89f)
lineTo(5.88f, 7.89f)
lineTo(5.88f, 8.67f)
lineTo(6.46f, 8.67f)
lineTo(6.46f, 9.44f)
lineTo(6.98f, 9.44f)
lineTo(6.98f, 8.66f)
lineTo(6.46f, 8.66f)
lineTo(6.46f, 7.89f)
lineTo(7.00f, 7.89f)
lineTo(7.00f, 8.67f)
lineTo(7.48f, 8.67f)
lineTo(7.49f, 9.46f)
lineTo(8.00f, 9.46f)
lineTo(8.00f, 10.19f)
lineTo(7.48f, 10.19f)
lineTo(7.49f, 9.46f)
lineTo(6.99f, 9.46f)
lineTo(6.99f, 10.16f)
lineTo(6.46f, 10.16f)
lineTo(6.46f, 9.46f)
lineTo(5.88f, 9.45f)
lineTo(5.88f, 8.67f)
lineTo(5.36f, 8.67f)
close()
}
}