feat(brand): logo v4 — walker on a clock planet, with light/dark/tinted icon variants

콘셉트 전면 재디자인: 하루라는 행성(시계)이 화면 아래를 채우고 그 위를
사람이 걸어간다. 시계는 링+3/6/9 눈금+10:10 골드 바늘, 사람 뒤로 링을
따라 남은 발자국, 소프트 섀도로 입체감.

iOS 아이콘 외형 3종(에셋 카탈로그 luminosity 변형):
- 라이트: 웜 화이트 배경 + 초록 시계 + 검정 사람 + 골드 바늘
- 다크: 딥 그린 그라데이션 배경 + 웜 화이트 드로잉 (기존 톤 유지)
- 틴티드: 투명 배경 + 그레이스케일 (시스템이 틴트 적용)
스플래시 로고도 라이트/다크 변형 제공(테마 따라 자동 전환), 워치·워치
위젯은 다크 단일(외형 변형 미지원 플랫폼).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013yKDMhuF39GVYy3FMcGHh7
This commit is contained in:
songyc macbook 2026-07-13 14:30:01 +09:00
parent 6b0b6055eb
commit 939406ac74
10 changed files with 57 additions and 26 deletions

View File

@ -1,12 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
하루 다님 앱 로고 (원본 소스 오브 트루스) — v3
콘셉트: "당신의 하루에 다녀가다" — 하루(시계)를 향해 걸어가는 사람.
- 배경: 딥 그린 그라데이션 (#377A5B → #27573F)
- 시계: 우상단 웜 화이트 링(중심 726,292 r152 굵기 32) + 골드 시침·분침(10:10) + 골드 중심점
- 사람: 웜 화이트 걷는 픽토그램 (머리 원 + 라운드 캡 스트로크 몸통/팔/다리)
- 발자국: 사람 뒤로 이어지는 점 2개 (지나온 길, 뒤로 갈수록 작고 흐리게)
래스터화는 scratchpad/render_logo.swift (CoreGraphics, 동일 지오메트리) 사용.
하루 다님 앱 로고 (원본 소스 오브 트루스) — v4
콘셉트: "하루라는 행성(시계) 위를 걸어가는 사람"
- 큰 시계 원반이 화면 아래쪽을 채우고(행성처럼), 그 정점 부근을 사람이 걸어간다
- 시계: 링(중심 512,668 r300 굵기46) + 3/6/9시 눈금 + 10:10 골드 바늘 — 시간 추적
- 사람 + 링 위 발자국 점 2개 — "다녀가다"
이 파일은 다크 변형 기준. 외형 모드별 팔레트(래스터는 render_logo.swift가 생성):
- dark : 배경 #377A5B→#27573F 그라데이션(+시계 뒤 라디얼 글로우), 드로잉 #FAFAF6, 바늘 #D9A621
- light : 배경 #FFFFFE→#F4F3EA, 시계 링 #2F6B4F, 사람/눈금/발자국 #22271F, 바늘 #D9A621
- tinted: 투명 배경, 그레이스케일(링·사람 #FFFFFF, 눈금 #B4B4B4, 바늘 #D0D0D0)
래스터화: scratchpad/render_logo.swift <out.png> <size> <light|dark|tinted>
이 파일의 지오메트리를 수정하면 render_logo.swift도 같이 맞출 것.
-->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024" width="1024" height="1024">
@ -15,29 +19,45 @@
<stop offset="0" stop-color="#377A5B"/>
<stop offset="1" stop-color="#27573F"/>
</linearGradient>
<radialGradient id="glow" cx="512" cy="640" r="520" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#FAFAF6" stop-opacity="0.10"/>
<stop offset="1" stop-color="#FAFAF6" stop-opacity="0"/>
</radialGradient>
</defs>
<!-- 배경 -->
<rect width="1024" height="1024" fill="url(#bg)"/>
<rect width="1024" height="1024" fill="url(#glow)"/>
<!-- 시계 (하루) -->
<circle cx="726" cy="292" r="152" fill="none" stroke="#FAFAF6" stroke-width="32"/>
<!-- 분침 (-60° = 2시 방향), 시침 (-150° = 10시 방향) -->
<line x1="726" y1="292" x2="774" y2="208.9" stroke="#D9A621" stroke-width="26" stroke-linecap="round"/>
<line x1="726" y1="292" x2="668.8" y2="259" stroke="#D9A621" stroke-width="26" stroke-linecap="round"/>
<circle cx="726" cy="292" r="20" fill="#D9A621"/>
<!-- 시계 원반 + 링 -->
<circle cx="512" cy="668" r="300" fill="#FAFAF6" fill-opacity="0.07"/>
<circle cx="512" cy="668" r="300" fill="none" stroke="#FAFAF6" stroke-width="46"/>
<!-- 사람 (다님): 시계를 향해 걷는 픽토그램 -->
<circle cx="495" cy="404" r="57" fill="#FAFAF6"/>
<g stroke="#FAFAF6" stroke-linecap="round" fill="none">
<line x1="488" y1="488" x2="458" y2="655" stroke-width="68"/>
<line x1="480" y1="519" x2="588" y2="594" stroke-width="44"/>
<line x1="480" y1="519" x2="390" y2="618" stroke-width="44"/>
<line x1="458" y1="655" x2="581" y2="814" stroke-width="48"/>
<line x1="458" y1="655" x2="341" y2="825" stroke-width="48"/>
<!-- 눈금: 3/6/9시 (12시 자리는 사람이 걷는 무대라 비움) -->
<g stroke="#FAFAF6" stroke-opacity="0.55" stroke-width="16" stroke-linecap="round">
<line x1="771" y1="668" x2="727" y2="668"/>
<line x1="512" y1="927" x2="512" y2="883"/>
<line x1="253" y1="668" x2="297" y2="668"/>
</g>
<!-- 발자국 (지나온 길) -->
<circle cx="250" cy="886" r="18" fill="#FAFAF6" fill-opacity="0.75"/>
<circle cx="166" cy="922" r="13" fill="#FAFAF6" fill-opacity="0.45"/>
<!-- 바늘: 10시 10분 (시침 -150° 길이118, 분침 -30° 길이168) + 중심점 -->
<g stroke="#D9A621" stroke-width="32" stroke-linecap="round">
<line x1="512" y1="668" x2="409.8" y2="609"/>
<line x1="512" y1="668" x2="657.5" y2="584"/>
</g>
<circle cx="512" cy="668" r="26" fill="#D9A621"/>
<!-- 발자국: 링 위쪽, 사람이 지나온 왼쪽 호 (-113° r352 / -129° r366) -->
<circle cx="374.5" cy="344" r="13" fill="#FAFAF6" fill-opacity="0.7"/>
<circle cx="281.7" cy="383.6" r="10" fill="#FAFAF6" fill-opacity="0.4"/>
<!-- 사람: 링 정점 살짝 오른쪽을 걷는 픽토그램 -->
<circle cx="562" cy="112" r="44" fill="#FAFAF6"/>
<g stroke="#FAFAF6" stroke-linecap="round" fill="none">
<line x1="556" y1="170" x2="547" y2="262" stroke-width="52"/>
<line x1="553" y1="193" x2="626" y2="246" stroke-width="31"/>
<line x1="553" y1="193" x2="485" y2="252" stroke-width="31"/>
<line x1="547" y1="262" x2="610" y2="344" stroke-width="36"/>
<line x1="547" y1="262" x2="478" y2="350" stroke-width="36"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 762 KiB

After

Width:  |  Height:  |  Size: 877 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 762 KiB

After

Width:  |  Height:  |  Size: 877 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 877 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 762 KiB

After

Width:  |  Height:  |  Size: 722 KiB

View File

@ -13,7 +13,7 @@
"value" : "dark"
}
],
"filename" : "AppIcon.png",
"filename" : "AppIcon-Dark.png",
"idiom" : "universal",
"platform" : "ios",
"size" : "1024x1024"
@ -25,7 +25,7 @@
"value" : "tinted"
}
],
"filename" : "AppIcon.png",
"filename" : "AppIcon-Tinted.png",
"idiom" : "universal",
"platform" : "ios",
"size" : "1024x1024"

Binary file not shown.

After

Width:  |  Height:  |  Size: 877 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 762 KiB

After

Width:  |  Height:  |  Size: 722 KiB

View File

@ -5,6 +5,17 @@
"idiom" : "universal",
"scale" : "1x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "AppLogo-Dark.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"