별필터 편집 엔진 검토 · 2026-09

이번 v5.4.6에 실제 구현한 기능
- 이미지 작업 목록: Shift/Cmd 다중 선택, 빈 공간에서 영역 드래그 선택, 선택 삭제, 목록 비우기
- 삭제하면 사진별 레이어/마스크/편집 내역/Undo 히스토리와 브라우저 메모리 자원 함께 정리
- 체크박스로 전체 저장 ZIP 내부 파일을 '현재 저장 이름_1.jpg', '_2.jpg' ... 로 일괄 번호 부여
- 프리셋은 목록 삭제와 무관하게 유지

참조한 오픈소스 및 적용 검토
1. Fabric.js (https://fabricjs.com/docs/core-concepts/)
   객체 다중 선택, 이동/크기/회전, 벡터 텍스트 및 도형, clipPath, WebGL 이미지 필터가 제공된다.
   추천: 우선 텍스트/이미지 선택과 정렬 가이드, 8핸들 제어, 도형 그룹화 UX에 참고.
   주의: 별필터의 기존 WebGL 셰이더+레이어 출력 파이프라인을 그대로 두고 Fabric 캔버스를 중첩하면 좌표/축소 품질 문제가 생길 수 있으므로 렌더 일관성·내보내기·Undo 통합 검증 후 단계적 도입.
2. Konva (https://konvajs.org/docs/select_and_transform/Basic_demo.html)
   Transformer로 다중 선택 박스, 개체 확대/축소/회전을 제어하고 드래그 선택을 구현할 수 있다.
   추천: 현재 캔버스 드래그 히트 테스트의 한 번에 안 잡히는 문제와 중앙 가이드의 좌표계를 단일화하는 참고 구현.
3. miniPaint (https://github.com/viliusle/miniPaint; MIT)
   레이어, 선택, 이미지 조정, 도장, 버킷, 마스크/자르기, 히스토리 기능이 풍부하다.
   추천: 툴바/레이어 패널/메뉴 단축키 패턴과 사용자 설정 JSON/PNG 레이어 프로젝트 저장 구조 우선 분석.
   주의: 전체 코드 통합보다는 기능별 모듈 단위 통합이 기존 AI 지우개·프리셋과 충돌을 줄인다.
4. OpenCV.js (https://docs.opencv.org/5.0/js_tutorials/js_tutorials.html)
   브라우저 이미지 처리와 threshold, 형태학, 경계 추출/마스크 다듬기 등 연산에 적합.
   추천: 누끼 엣지 정리(팽창/침식/페더), 곡선/히스토그램, 스마트 객체 찾기; 큰 원본에는 워커/메모리 사용량 제한 검증.

우선순위 제안(아직 구현했다고 주장하지 않음)
1. 원본-비파괴 편집 프로젝트(.json + 이미지/폰트 참조 파일 ZIP) 저장·복원 및 자동 복구: 다른 날 이어 편집할 수 있어 작업 손실 방지.
2. 마우스로 획득 가능한 개체의 히트박스 확대, 다중 객체 정렬/분배 및 레이어 그룹, 잠금/숨김, 정렬 가이드(미리보기와 내보내기 동일 좌표계).
3. 누끼에 가장자리 다듬기·색 번짐 억제·모발 마스크, 지우개 브러시 경도/압력/클론 도장.
4. Curves·Levels·Histogram·HSL 개별 범위 마스크, 배경/레이어별 조정 레이어(비파괴).
5. 텍스트 자동 맞춤, 폰트 누락 대체 안내, 텍스트 박스 내 정렬/세로 정렬, SVG 심볼·그룹화.

오픈소스 참고/검토와 실제 소스 통합은 다르다. v5.4.6은 목록 UX와 저장명 기능을 실제 코드에 반영했고, 편집 엔진 자체를 교체하거나 위 기능 전부를 새로 넣은 버전은 아니다.
