diff --git a/docs/records/PhotoAI/chronicle.config.json b/docs/records/PhotoAI/chronicle.config.json index 1f76b95..c7040b1 100644 --- a/docs/records/PhotoAI/chronicle.config.json +++ b/docs/records/PhotoAI/chronicle.config.json @@ -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" } diff --git a/package.json b/package.json index fd4cf81..0a1a9a3 100644 --- a/package.json +++ b/package.json @@ -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", diff --git a/src/renderer/components/MosaicView.tsx b/src/renderer/components/MosaicView.tsx index 425ba4a..dd6445c 100644 --- a/src/renderer/components/MosaicView.tsx +++ b/src/renderer/components/MosaicView.tsx @@ -41,7 +41,7 @@ export function MosaicView(props: { const poolRef = useRef([]) const targetImgRef = useRef(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: { setCols(Number(e.target.value))}