MVP์์๋ ์บก์ฒ ํ์ผ์ ์ฌ์ฉ์๊ฐ ๋ณผ ์ ์๋ ํด๋ ๊ตฌ์กฐ๋ก ์ ์ฅํ๋ค. ์ฑ ๋ด๋ถ ๋ฐ์ดํฐ๋ฒ ์ด์ค์๋ง ๋ฌถ์ด๋์ง ์๋๋ค.
Trace/
captures/
2026-05-17/
2026-05-17_14-32-08.png
2026-05-17_14-35-21.png
thumbnails/
2026-05-17/
2026-05-17_14-32-08.jpg
2026-05-17_14-35-21.jpg
metadata.json
settings.json
๊ธฐ๋ณธ ํ์:
YYYY-MM-DD_HH-mm-ss.png
์ถฉ๋ ์:
YYYY-MM-DD_HH-mm-ss-2.png
YYYY-MM-DD_HH-mm-ss-3.png
metadata.json์ ํ์คํ ๋ฆฌ ํ์๋ฅผ ์ํ ์ต์ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ค.
์์:
{
"captures": [
{
"id": "2026-05-17_14-32-08",
"title": "2026-05-17_14-32-08",
"filePath": "captures/2026-05-17/2026-05-17_14-32-08.png",
"thumbnailPath": "thumbnails/2026-05-17/2026-05-17_14-32-08.jpg",
"createdAt": "2026-05-17T14:32:08+09:00",
"width": 1280,
"height": 720,
"captureMode": "deliverToApp",
"deliveredAppName": "Slack",
"deliveryState": "delivered",
"isPinned": false,
"isBookmarked": false
}
]
}์ฐ๊ธฐ ์ ์ฑ :
- ๋ฉํ๋ฐ์ดํฐ๋ ์์ ํ์ผ์ ๋จผ์ ์ด ๋ค ๊ต์ฒดํ๋ ๋ฐฉ์์ผ๋ก ์์์ ์ผ๋ก ๊ฐฑ์ ํ๋ค.
- ๋ฉํ๋ฐ์ดํฐ ์ฐ๊ธฐ์ ์คํจํด๋ ์๋ณธ PNG ์ ์ฅ์ด ์ฑ๊ณตํ๋ค๋ฉด ์บก์ฒ ํ์ผ์ ์ญ์ ํ์ง ์๋๋ค.
- ์ฑ ์์ ์
metadata.json์ด ์์๋์ด ์ฝ์ ์ ์์ผ๋ฉด ๋ฐฑ์ ํ์ผ์ ๋ง๋ค๊ณ ๋น ๋ฉํ๋ฐ์ดํฐ๋ก ๋ณต๊ตฌํ๋ค. - ๊ฐ์ id๊ฐ ์ด๋ฏธ ์์ผ๋ฉด ํ์ผ๋ช ์ถฉ๋ ์ฒ๋ฆฌ ๊ท์น๊ณผ ๋์ผํ๊ฒ suffix๋ฅผ ๋ถ์ฌ ์ id๋ฅผ ๋ง๋ ๋ค.
- ์ด๋ฆ ํธ์ง์ ์๋ณธ PNG ํ์ผ๋ช
๊ณผ ์ธ๋ค์ผ ํ์ผ๋ช
์ ํจ๊ป ๋ณ๊ฒฝํ๊ณ
filePath,thumbnailPath,title์ ๊ฐฑ์ ํ๋ค. - ์ญ์ ๋ ์๋ณธ PNG, ์ธ๋ค์ผ, ๋ฉํ๋ฐ์ดํฐ ํญ๋ชฉ์ ํจ๊ป ์ ๊ฑฐํ๋ค.
- ๊ณ ์ ๊ณผ ๋ถ๋งํฌ๋ ํ์ผ ์ด๋ ์์ด ๋ฉํ๋ฐ์ดํฐ ํ๋๊ทธ๋ง ๊ฐฑ์ ํ๋ค.
settings.json์ ์ฌ์ฉ์์ ๊ธฐ๋ณธ ์ค์ ์ ์ ์ฅํ๋ค.
ํ์ฌ ์ ํ๋ ์ ์ฅ ์์น๋ ์ฑ ์ค์ ์๋ ๊ธฐ๋กํด ์ฌ์คํ ์ ๋ง์ง๋ง์ผ๋ก ์ ํํ ์์น์ settings.json์ ๋ค์ ๋ถ๋ฌ์จ๋ค.
์์:
{
"saveDirectory": "~/Pictures/Trace",
"globalShortcut": "command+shift+2",
"copyToClipboardByDefault": true,
"basicCaptureShortcut": "command+shift+2",
"deliveryCaptureShortcut": "command+shift+3",
"basicCaptureAction": "copyAndSave",
"deliveryCaptureAction": "copySaveAndDeliver",
"deliveryTargetMode": "chooseEachTime",
"fixedDeliveryAppBundleIdentifier": "com.apple.TextEdit",
"fixedDeliveryAppName": "TextEdit",
"fixedDeliveryAppWindowMode": "mostRecentWindow"
}MVP์์๋ ํ์ฌ ์ ํ๋ ์ ์ฅ ์์น ์๋์ metadata.json์ ๊ธฐ์ค์ผ๋ก ํ์คํ ๋ฆฌ๋ฅผ ํ์ํ๋ค.
์ ์ฑ :
- ๋ฉํ๋ฐ์ดํฐ์ ์๋ ํญ๋ชฉ์ ์ต์ ์์ผ๋ก ๋ณด์ฌ์ค๋ค.
- ํ์ผ์ด ์ญ์ ๋ ํญ๋ชฉ์ ๋๋ฝ ์ํ๋ก ํ์ํ๋ค.
- ์ฑ ๋ฐ์์ ์ ํ์ผ์ ํด๋์ ๋ฃ์ด๋ ์๋์ผ๋ก ํ์คํ ๋ฆฌ์ ์ถ๊ฐํ์ง ์๋๋ค.
- ์ ์ฅ ์์น๋ฅผ ๋ฐ๊พธ๋ฉด ์ ์์น์
metadata.json์ ์ฝ์ด ํด๋น ์์น์ ํ์คํ ๋ฆฌ๋ง ํ์ํ๋ค. - ์ ์ฅ ์์น๋ฅผ ๋ฐ๊ฟ ๋ ๊ธฐ์กด ์์น์ ์บก์ฒ ํ์ผ์ด๋ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ ์์น๋ก ์ด๋ํ๊ฑฐ๋ ๋ณํฉํ์ง ์๋๋ค.
- ์ด์ ์ ์ฅ ์์น๋ฅผ ๋ค์ ์ ํํ๋ฉด ํด๋น ์์น์ ๋จ์ ์๋
metadata.json๊ธฐ์ค์ ํ์คํ ๋ฆฌ๋ฅผ ๋ค์ ํ์ํ๋ค. - ํ์ฌ ์ ์ฅ ์์น์ ๋ฉํ๋ฐ์ดํฐ ํญ๋ชฉ์ ํด๋นํ๋ ํ์ผ์ด ์ ๊ทผ ๋ถ๊ฐ๋ฅํ๋ฉด ๋๋ฝ ์ํ๋ก ํ์ํ๊ณ , ์ฌ์ฉ์๊ฐ Finder์์ ์ด ๋ ์คํจ ๋ฉ์์ง๋ฅผ ๋ณด์ฌ์ค๋ค.
ํ์คํ ๋ฆฌ UI ์ฑ๋ฅ์ ์ํด ์๋ณธ ์ด๋ฏธ์ง๋ฅผ ๊ทธ๋๋ก ๋ชฉ๋ก์ ์ฌ์ฉํ์ง ์๋๋ค.
์ ์ฑ :
- ์บก์ฒ ์ ์ฅ ์ ์ธ๋ค์ผ์ ํจ๊ป ์์ฑํ๋ค.
- ์ธ๋ค์ผ์ ์๋ณธ๊ณผ ๋ณ๋ ํด๋์ ์ ์ฅํ๋ค.
- ์ธ๋ค์ผ ์์ฑ์ ์คํจํด๋ ์๋ณธ ์ ์ฅ์ ์ฑ๊ณต์ผ๋ก ์ฒ๋ฆฌํ๋ค.