Refine Burrow owl icon source
BIN
design/brand/Burrow.icon/Assets/burrow-ground.png
Normal file
|
After Width: | Height: | Size: 58 KiB |
BIN
design/brand/Burrow.icon/Assets/owl-body.png
Normal file
|
After Width: | Height: | Size: 152 KiB |
BIN
design/brand/Burrow.icon/Assets/owl-face.png
Normal file
|
After Width: | Height: | Size: 41 KiB |
BIN
design/brand/Burrow.icon/Assets/owl-figure.png
Normal file
|
After Width: | Height: | Size: 104 KiB |
BIN
design/brand/Burrow.icon/Assets/owl-legs.png
Normal file
|
After Width: | Height: | Size: 63 KiB |
BIN
design/brand/Burrow.icon/Assets/owl-spots.png
Normal file
|
After Width: | Height: | Size: 25 KiB |
64
design/brand/Burrow.icon/icon.json
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
{
|
||||
"fill" : {
|
||||
"automatic-gradient" : "srgb:0.09020,0.06275,0.04314,1.00000"
|
||||
},
|
||||
"groups" : [
|
||||
{
|
||||
"layers" : [
|
||||
{
|
||||
"glass" : false,
|
||||
"hidden" : false,
|
||||
"image-name" : "burrow-ground.png",
|
||||
"name" : "burrow-ground",
|
||||
"position" : {
|
||||
"scale" : 1,
|
||||
"translation-in-points" : [
|
||||
0,
|
||||
0
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"glass" : false,
|
||||
"hidden" : false,
|
||||
"image-name" : "owl-figure.png",
|
||||
"name" : "owl-figure",
|
||||
"position" : {
|
||||
"scale" : 1,
|
||||
"translation-in-points" : [
|
||||
0,
|
||||
0
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"glass" : false,
|
||||
"hidden" : false,
|
||||
"image-name" : "owl-legs.png",
|
||||
"name" : "owl-legs",
|
||||
"position" : {
|
||||
"scale" : 1,
|
||||
"translation-in-points" : [
|
||||
0,
|
||||
0
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"shadow" : {
|
||||
"kind" : "neutral",
|
||||
"opacity" : 0.36
|
||||
},
|
||||
"translucency" : {
|
||||
"enabled" : false,
|
||||
"value" : 0
|
||||
}
|
||||
}
|
||||
],
|
||||
"supported-platforms" : {
|
||||
"circles" : [
|
||||
"watchOS"
|
||||
],
|
||||
"squares" : "shared"
|
||||
}
|
||||
}
|
||||
|
|
@ -1,12 +1,46 @@
|
|||
# Burrow Brand Source
|
||||
|
||||
`burrow-owl-icon-master.png` is the current generated master for the Burrow app
|
||||
icon. The mark centers a burrowing owl in a dark brown/black field with minimal
|
||||
warm brown and gold accents.
|
||||
icon. The mark centers a leg-forward burrowing owl in a dark brown/black field
|
||||
with minimal warm brown and gold accents.
|
||||
|
||||
Regenerate the Apple app icon PNGs from the master with:
|
||||
The editable source is split by intent:
|
||||
|
||||
- `burrowing-owl-icon-source.svg` is the human-readable vector source.
|
||||
- `icon-layers/*.svg` are the transparent source layers used to regenerate the
|
||||
Icon Composer package.
|
||||
- `Burrow.icon` is the Icon Composer document. Keep it to three broad raster
|
||||
layers: `burrow-ground`, `owl-figure`, and `owl-legs`.
|
||||
- `burrowing-owl-concept-v2.png` is reference art only; do not use it directly
|
||||
as an app icon.
|
||||
|
||||
That layer count is intentional. The identifying cue is the long Burrowing Owl
|
||||
leg silhouette, so Icon Composer should receive broad shape planes instead of
|
||||
small decorative SVG layers. Face and spot details are flattened into
|
||||
`owl-figure.png`; the legs stay in the front layer so they survive small sizes.
|
||||
|
||||
Regenerate the Icon Composer layer assets and Apple app icon PNGs with:
|
||||
|
||||
```bash
|
||||
for src in design/brand/icon-layers/*.svg; do
|
||||
name="$(basename "$src" .svg)"
|
||||
sips -s format png "$src" --out "design/brand/Burrow.icon/Assets/${name}.png" >/dev/null
|
||||
done
|
||||
magick \
|
||||
design/brand/Burrow.icon/Assets/owl-body.png \
|
||||
design/brand/Burrow.icon/Assets/owl-face.png \
|
||||
design/brand/Burrow.icon/Assets/owl-spots.png \
|
||||
-background none -layers merge -strip \
|
||||
PNG32:design/brand/Burrow.icon/Assets/owl-figure.png
|
||||
"/Applications/Xcode/Xcode.app/Contents/Applications/Icon Composer.app/Contents/Executables/ictool" \
|
||||
design/brand/Burrow.icon \
|
||||
--export-image \
|
||||
--output-file design/brand/burrow-owl-icon-master.png \
|
||||
--platform iOS \
|
||||
--rendition Default \
|
||||
--width 1024 \
|
||||
--height 1024 \
|
||||
--scale 1
|
||||
for f in Apple/UI/Assets.xcassets/AppIcon.appiconset/*.png; do
|
||||
size="$(basename "$f" .png)"
|
||||
magick design/brand/burrow-owl-icon-master.png -colorspace sRGB -resize "${size}x${size}!" -strip "PNG24:$f"
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 1.7 MiB After Width: | Height: | Size: 722 KiB |
BIN
design/brand/burrowing-owl-concept-v2.png
Normal file
|
After Width: | Height: | Size: 1.3 MiB |
BIN
design/brand/burrowing-owl-icon-flat.png
Normal file
|
After Width: | Height: | Size: 214 KiB |
79
design/brand/burrowing-owl-icon-source.svg
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="1024" height="1024" viewBox="0 0 1024 1024" role="img" aria-label="Burrow burrowing owl icon source">
|
||||
<defs>
|
||||
<linearGradient id="body-fill" x1="360" y1="230" x2="650" y2="725" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" stop-color="#b87435"/>
|
||||
<stop offset="0.62" stop-color="#72401f"/>
|
||||
<stop offset="1" stop-color="#2a1710"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="ground-fill" x1="230" y1="740" x2="800" y2="900" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" stop-color="#4a2a18"/>
|
||||
<stop offset="0.46" stop-color="#a7632a"/>
|
||||
<stop offset="1" stop-color="#3a2114"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="leg-fill" x1="430" y1="600" x2="604" y2="920" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" stop-color="#f2c27c"/>
|
||||
<stop offset="1" stop-color="#9b612c"/>
|
||||
</linearGradient>
|
||||
<radialGradient id="eye-fill" cx="50%" cy="45%" r="55%">
|
||||
<stop offset="0" stop-color="#ffd762"/>
|
||||
<stop offset="1" stop-color="#c98213"/>
|
||||
</radialGradient>
|
||||
<filter id="soft-shadow" x="-20%" y="-20%" width="140%" height="140%">
|
||||
<feDropShadow dx="0" dy="20" stdDeviation="16" flood-color="#000000" flood-opacity="0.34"/>
|
||||
</filter>
|
||||
</defs>
|
||||
|
||||
<g id="burrow-ground">
|
||||
<ellipse cx="512" cy="886" rx="350" ry="72" fill="#070403" opacity="0.82"/>
|
||||
<path d="M190 872c62-57 182-88 322-88s260 31 322 88c-82-22-190-34-322-34s-240 12-322 34Z" fill="url(#ground-fill)"/>
|
||||
<path d="M266 888c54-31 136-46 246-46s192 15 246 46c-62-12-144-18-246-18s-184 6-246 18Z" fill="#0d0805"/>
|
||||
<path d="M178 876c-24 12-39 29-45 50 36-13 78-19 124-17l-13-39c-23 0-45 2-66 6Z" fill="#321c11"/>
|
||||
<path d="M846 876c24 12 39 29 45 50-36-13-78-19-124-17l13-39c23 0 45 2 66 6Z" fill="#321c11"/>
|
||||
<ellipse cx="318" cy="880" rx="22" ry="9" fill="#b17034" opacity="0.66"/>
|
||||
<ellipse cx="721" cy="873" rx="21" ry="9" fill="#c27a36" opacity="0.62"/>
|
||||
</g>
|
||||
|
||||
<g id="owl-body" filter="url(#soft-shadow)">
|
||||
<path d="M346 455c0-144 65-235 166-235s166 91 166 235c0 134-68 224-166 224s-166-90-166-224Z" fill="url(#body-fill)"/>
|
||||
<path d="M378 478c24 52 68 80 134 80s110-28 134-80c5 113-48 181-134 181s-139-68-134-181Z" fill="#4b2919" opacity="0.38"/>
|
||||
<path d="M380 506c-31 47-34 104-8 171 45-33 68-85 70-156Z" fill="#2b1710" opacity="0.48"/>
|
||||
<path d="M644 506c31 47 34 104 8 171-45-33-68-85-70-156Z" fill="#2b1710" opacity="0.48"/>
|
||||
<path d="M443 596c26 18 49 27 69 27s43-9 69-27c-14 49-37 74-69 74s-55-25-69-74Z" fill="#c48340" opacity="0.38"/>
|
||||
</g>
|
||||
|
||||
<g id="owl-face">
|
||||
<path d="M365 346c37-75 86-113 147-113s110 38 147 113c-42-31-91-47-147-47s-105 16-147 47Z" fill="#8b4f25"/>
|
||||
<path d="M386 350c36-32 74-48 112-48 15 0 30 3 45 8-22 42-60 65-115 70-18-5-32-15-42-30Z" fill="#fff0c8"/>
|
||||
<path d="M638 350c-36-32-74-48-112-48-15 0-30 3-45 8 22 42 60 65 115 70 18-5 32-15 42-30Z" fill="#fff0c8"/>
|
||||
<path d="M407 355c21-20 47-29 78-28-13 30-35 47-67 51-7-6-11-14-11-23Z" fill="#170e09"/>
|
||||
<path d="M617 355c-21-20-47-29-78-28 13 30 35 47 67 51 7-6 11-14 11-23Z" fill="#170e09"/>
|
||||
<circle cx="446" cy="358" r="34" fill="url(#eye-fill)"/>
|
||||
<circle cx="578" cy="358" r="34" fill="url(#eye-fill)"/>
|
||||
<circle cx="446" cy="358" r="18" fill="#050403"/>
|
||||
<circle cx="578" cy="358" r="18" fill="#050403"/>
|
||||
<circle cx="457" cy="343" r="8" fill="#fff8e4"/>
|
||||
<circle cx="589" cy="343" r="8" fill="#fff8e4"/>
|
||||
<path d="M512 384l30 34-30 62-30-62Z" fill="#d89642"/>
|
||||
<path d="M512 384v96l-30-62Z" fill="#f0bd65" opacity="0.84"/>
|
||||
<path d="M402 295c31-27 68-41 110-41s79 14 110 41" fill="none" stroke="#f2d69e" stroke-width="20" stroke-linecap="round"/>
|
||||
</g>
|
||||
|
||||
<g id="owl-spots" fill="#f2d69e" opacity="0.9">
|
||||
<ellipse cx="443" cy="471" rx="22" ry="13" transform="rotate(22 443 471)"/>
|
||||
<ellipse cx="512" cy="478" rx="25" ry="13"/>
|
||||
<ellipse cx="581" cy="471" rx="22" ry="13" transform="rotate(-22 581 471)"/>
|
||||
<ellipse cx="462" cy="543" rx="26" ry="13" transform="rotate(30 462 543)"/>
|
||||
<ellipse cx="512" cy="552" rx="28" ry="13"/>
|
||||
<ellipse cx="562" cy="543" rx="26" ry="13" transform="rotate(-30 562 543)"/>
|
||||
<ellipse cx="512" cy="621" rx="14" ry="30"/>
|
||||
</g>
|
||||
|
||||
<g id="owl-legs">
|
||||
<path d="M437 616c20-9 43-9 63 0l-18 258c-2 22-31 22-33 0Z" fill="url(#leg-fill)"/>
|
||||
<path d="M524 616c20-9 43-9 63 0l-12 258c-2 22-31 22-33 0Z" fill="url(#leg-fill)"/>
|
||||
<path d="M446 676h40M442 744h38M438 812h35M538 676h40M536 744h38M533 812h35" stroke="#74461f" stroke-width="9" stroke-linecap="round" opacity="0.34"/>
|
||||
<path d="M451 872c-34 9-63 26-88 51 42-9 76-7 102 7 16 8 35-4 33-22-1-20-19-42-47-36Z" fill="#d99b52"/>
|
||||
<path d="M573 872c34 9 63 26 88 51-42-9-76-7-102 7-16 8-35-4-33-22 1-20 19-42 47-36Z" fill="#d99b52"/>
|
||||
<path d="M398 922l-32 30M444 928l-6 43M489 921l29 35M626 922l32 30M580 928l6 43M535 921l-29 35" stroke="#2a1710" stroke-width="14" stroke-linecap="round"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.9 KiB |
16
design/brand/icon-layers/burrow-ground.svg
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="1024" height="1024" viewBox="0 0 1024 1024">
|
||||
<defs>
|
||||
<linearGradient id="ground-fill" x1="230" y1="740" x2="800" y2="900" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" stop-color="#4a2a18"/>
|
||||
<stop offset="0.46" stop-color="#a7632a"/>
|
||||
<stop offset="1" stop-color="#3a2114"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<ellipse cx="512" cy="886" rx="350" ry="72" fill="#070403" opacity="0.82"/>
|
||||
<path d="M190 872c62-57 182-88 322-88s260 31 322 88c-82-22-190-34-322-34s-240 12-322 34Z" fill="url(#ground-fill)"/>
|
||||
<path d="M266 888c54-31 136-46 246-46s192 15 246 46c-62-12-144-18-246-18s-184 6-246 18Z" fill="#0d0805"/>
|
||||
<path d="M178 876c-24 12-39 29-45 50 36-13 78-19 124-17l-13-39c-23 0-45 2-66 6Z" fill="#321c11"/>
|
||||
<path d="M846 876c24 12 39 29 45 50-36-13-78-19-124-17l13-39c23 0 45 2 66 6Z" fill="#321c11"/>
|
||||
<ellipse cx="318" cy="880" rx="22" ry="9" fill="#b17034" opacity="0.66"/>
|
||||
<ellipse cx="721" cy="873" rx="21" ry="9" fill="#c27a36" opacity="0.62"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1 KiB |
19
design/brand/icon-layers/owl-body.svg
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="1024" height="1024" viewBox="0 0 1024 1024">
|
||||
<defs>
|
||||
<linearGradient id="body-fill" x1="360" y1="230" x2="650" y2="725" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" stop-color="#b87435"/>
|
||||
<stop offset="0.62" stop-color="#72401f"/>
|
||||
<stop offset="1" stop-color="#2a1710"/>
|
||||
</linearGradient>
|
||||
<filter id="soft-shadow" x="-20%" y="-20%" width="140%" height="140%">
|
||||
<feDropShadow dx="0" dy="20" stdDeviation="16" flood-color="#000000" flood-opacity="0.34"/>
|
||||
</filter>
|
||||
</defs>
|
||||
<g filter="url(#soft-shadow)">
|
||||
<path d="M346 455c0-144 65-235 166-235s166 91 166 235c0 134-68 224-166 224s-166-90-166-224Z" fill="url(#body-fill)"/>
|
||||
<path d="M378 478c24 52 68 80 134 80s110-28 134-80c5 113-48 181-134 181s-139-68-134-181Z" fill="#4b2919" opacity="0.38"/>
|
||||
<path d="M380 506c-31 47-34 104-8 171 45-33 68-85 70-156Z" fill="#2b1710" opacity="0.48"/>
|
||||
<path d="M644 506c31 47 34 104 8 171-45-33-68-85-70-156Z" fill="#2b1710" opacity="0.48"/>
|
||||
<path d="M443 596c26 18 49 27 69 27s43-9 69-27c-14 49-37 74-69 74s-55-25-69-74Z" fill="#c48340" opacity="0.38"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
22
design/brand/icon-layers/owl-face.svg
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="1024" height="1024" viewBox="0 0 1024 1024">
|
||||
<defs>
|
||||
<radialGradient id="eye-fill" cx="50%" cy="45%" r="55%">
|
||||
<stop offset="0" stop-color="#ffd762"/>
|
||||
<stop offset="1" stop-color="#c98213"/>
|
||||
</radialGradient>
|
||||
</defs>
|
||||
<path d="M365 346c37-75 86-113 147-113s110 38 147 113c-42-31-91-47-147-47s-105 16-147 47Z" fill="#8b4f25"/>
|
||||
<path d="M386 350c36-32 74-48 112-48 15 0 30 3 45 8-22 42-60 65-115 70-18-5-32-15-42-30Z" fill="#fff0c8"/>
|
||||
<path d="M638 350c-36-32-74-48-112-48-15 0-30 3-45 8 22 42 60 65 115 70 18-5 32-15 42-30Z" fill="#fff0c8"/>
|
||||
<path d="M407 355c21-20 47-29 78-28-13 30-35 47-67 51-7-6-11-14-11-23Z" fill="#170e09"/>
|
||||
<path d="M617 355c-21-20-47-29-78-28 13 30 35 47 67 51 7-6 11-14 11-23Z" fill="#170e09"/>
|
||||
<circle cx="446" cy="358" r="34" fill="url(#eye-fill)"/>
|
||||
<circle cx="578" cy="358" r="34" fill="url(#eye-fill)"/>
|
||||
<circle cx="446" cy="358" r="18" fill="#050403"/>
|
||||
<circle cx="578" cy="358" r="18" fill="#050403"/>
|
||||
<circle cx="457" cy="343" r="8" fill="#fff8e4"/>
|
||||
<circle cx="589" cy="343" r="8" fill="#fff8e4"/>
|
||||
<path d="M512 384l30 34-30 62-30-62Z" fill="#d89642"/>
|
||||
<path d="M512 384v96l-30-62Z" fill="#f0bd65" opacity="0.84"/>
|
||||
<path d="M402 295c31-27 68-41 110-41s79 14 110 41" fill="none" stroke="#f2d69e" stroke-width="20" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
14
design/brand/icon-layers/owl-legs.svg
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="1024" height="1024" viewBox="0 0 1024 1024">
|
||||
<defs>
|
||||
<linearGradient id="leg-fill" x1="430" y1="600" x2="604" y2="920" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" stop-color="#f2c27c"/>
|
||||
<stop offset="1" stop-color="#9b612c"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<path d="M437 616c20-9 43-9 63 0l-18 258c-2 22-31 22-33 0Z" fill="url(#leg-fill)"/>
|
||||
<path d="M524 616c20-9 43-9 63 0l-12 258c-2 22-31 22-33 0Z" fill="url(#leg-fill)"/>
|
||||
<path d="M446 676h40M442 744h38M438 812h35M538 676h40M536 744h38M533 812h35" stroke="#74461f" stroke-width="9" stroke-linecap="round" opacity="0.34"/>
|
||||
<path d="M451 872c-34 9-63 26-88 51 42-9 76-7 102 7 16 8 35-4 33-22-1-20-19-42-47-36Z" fill="#d99b52"/>
|
||||
<path d="M573 872c34 9 63 26 88 51-42-9-76-7-102 7-16 8-35-4-33-22 1-20 19-42 47-36Z" fill="#d99b52"/>
|
||||
<path d="M398 922l-32 30M444 928l-6 43M489 921l29 35M626 922l32 30M580 928l6 43M535 921l-29 35" stroke="#2a1710" stroke-width="14" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1 KiB |
11
design/brand/icon-layers/owl-spots.svg
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="1024" height="1024" viewBox="0 0 1024 1024">
|
||||
<g fill="#f2d69e" opacity="0.9">
|
||||
<ellipse cx="443" cy="471" rx="22" ry="13" transform="rotate(22 443 471)"/>
|
||||
<ellipse cx="512" cy="478" rx="25" ry="13"/>
|
||||
<ellipse cx="581" cy="471" rx="22" ry="13" transform="rotate(-22 581 471)"/>
|
||||
<ellipse cx="462" cy="543" rx="26" ry="13" transform="rotate(30 462 543)"/>
|
||||
<ellipse cx="512" cy="552" rx="28" ry="13"/>
|
||||
<ellipse cx="562" cy="543" rx="26" ry="13" transform="rotate(-30 562 543)"/>
|
||||
<ellipse cx="512" cy="621" rx="14" ry="30"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 610 B |