v0.2.0: photo mosaic 2x resolution + version bump

- mosaic: resolution slider up to 192 cols (was 96), default 96, output canvas cap 3600px
  so higher density renders/saves at genuinely higher resolution

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-02 16:25:30 +09:00
parent d2546f9cbf
commit 20cec8cb00
3 changed files with 6 additions and 5 deletions
+1 -1
View File
@@ -7,5 +7,5 @@
"corePurpose": "",
"detailLevel": "standard",
"createdAt": "2026-06-01T04:16:09.722Z",
"updatedAt": "2026-06-02T05:39:25.175Z"
"updatedAt": "2026-06-02T07:18:12.522Z"
}
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "ai-photo-organizer",
"version": "0.1.0",
"version": "0.2.0",
"description": "Local-first AI photo organizer — face recognition + EXIF based auto archiving",
"author": "PhotoAI",
"license": "MIT",
+4 -3
View File
@@ -41,7 +41,7 @@ export function MosaicView(props: {
const poolRef = useRef<Tile[]>([])
const targetImgRef = useRef<HTMLImageElement | null>(null)
const [ready, setReady] = useState(false)
const [cols, setCols] = useState(48)
const [cols, setCols] = useState(96)
const [blend, setBlend] = useState(0.35)
const [unique, setUnique] = useState(true)
@@ -89,7 +89,8 @@ export function MosaicView(props: {
sctx.drawImage(tImg, 0, 0, gridCols, gridRows)
const cells = sctx.getImageData(0, 0, gridCols, gridRows).data
const cellPx = Math.max(8, Math.round(1800 / gridCols))
// 출력 캔버스 상한 3600px → 해상도(열 수)를 높여도 타일이 뭉개지지 않고 고해상도로 저장
const cellPx = Math.max(8, Math.round(3600 / gridCols))
canvas.width = gridCols * cellPx
canvas.height = gridRows * cellPx
const ctx = canvas.getContext('2d')!
@@ -185,7 +186,7 @@ export function MosaicView(props: {
<input
type="range"
min={16}
max={96}
max={192}
step={2}
value={cols}
onChange={(e) => setCols(Number(e.target.value))}