0. 환경 셋업
1. Windows Build Tool
2. npm
3. nodejs
4. tauri
1. 디렉토리 구성
1. Powershell / 프로젝트 개설

앱
도메인
프론트엔드 언어 : 타입스크립트
패키지 매니저 : npm
등 선택
2. dir 확인


3. 패키지 설치

4. 앱 실행 체크




5. code .

3. 데모
1. src/App.tsx 교체
2. src/App.css 교체
3. src/index.css 교체


4. 화면 확인
5. 창 크기 설정




4. 기능 구현
1. 더미데이터 -> 실제 책 추가
1. 다이얼로그 추가


2. Rust 폴더 검색 기능


3. App.tsx 전체 교체

4. 책장 선택 영역 CSS추가 (src/App.css)

5. 실행


6. 기능 테스트

폴더 추가 / 탐색
리로드 검증 완료
개별 책장 검증
전체 책장 검증
2. 문서 뷰어로 연결 기능
1. PDF 뷰어 설치


2. Rust에 문서 읽기 기능 추가
Import

3. read document 함수

일반 JSON 배열이 아니라 Tauri의 바이너리 응답으로 파일을 전달하므로 큰 PDF를 처리할 때 더 효율적이다
4. read document 함수


5. pdf viwer import 추가


6. 문서 상태 추가

7. TXT 디코딩 함수 추가

8. 책 선택시 실제 파일 불러오기

이제 책을 클릭할 때마다 해당 경로의 실제 파일을 Rust에서 읽는다.
9. 확대, 축소 버튼 연결


10. 가짜 문서 화면 교체


11. 하단 페이지 정보 변경

12. 실제 뷰어 CSS 추가

13. 실행

3. pdf 인식

지금 화면을 보면 PDF 파일 자체는 선택됐지만 numPages가 —인 상태라서, PDF.js 워커가 시작되지 않았거나 PDF 바이너리가 워커로 정상 전달되지 않은 상태야.
Vite + Tauri에서는 워커 경로를 ?url 방식으로 가져오는 편이 더 확실하다.
1. PDF워커 설정 변경

2. PDF 데이터 형식 변경

3.파일 로딩 부분 수정

4. PDF 전용 데이터 복사본 생성
5. Document의 file 변경
6. 리로드
4. 배율 변경

2. XXX
1. PDF 기본 배율 변경

2. 뷰어의 실제 너비 측정

3. 창 크기 변경 감지

10. 트러블슈팅
1. powershell npm 실행경로
2. localhost

