3.9 KiB
2026-08-15
진행 중 feature: specs/004-tauri-shell/ — Tauri 데스크톱 껍데기 (A/B 비교판)
오늘 한 것
-
rust 툴체인 설치 (T001) — 8/11 부터 막혀 있던 사람 결정 항목. 승인받고 진행 -
rustup+stable-x86_64-pc-windows-msvc(rustc/cargo 1.97.1) - MSVC 는 별도 Build Tools 를 새로 안 받고 이미 있던 VS 2026 Community 에 컴포넌트만 추가 —VC.Tools.x86.x64(14.51.36231) +Windows11SDK.26100(10.0.26100.0). 중복 설치 2~3GB 아낌 -rustc로 실제 링크까지 되는 것 확인 (버전만 보고 넘기지 않음) -
/speckit-tasks→tasks.md— 69개 task, 8 phase. spec→plan→tasks 문서 단계 끝 -
T002~T005 (Phase 1 나머지) — docs-lib 박제 + 의존성 -
4_rust_tauri/docs-lib/—README.md+tauri-v2.md(API 박제) +tauri-v2-llms-full.md(공식 가이드 원문 2.4MB) -2_frontend/docs-lib/tauri-api.md—invoke/listen표면 -2_frontend에@tauri-apps/api^2.11.1설치 → 빌드 통과 확인 - Phase 1 전부 끝. 이제 Rust 코드 써도 됨
박제하다 계획이 바뀐 것 3건 (중요)
공식 가이드를 안 믿고 cargo fetch 로 받은 실제 crate 소스에서 뽑았더니 나온 것들. (가이드 안에 global-shortcut 핸들러가 2인자/3인자로 둘 다 있어서 시그니처 근거로 못 씀 — R3 이 경고한 함정이 공식 문서에 그대로 있었다.)
- DPI 인지는 할 일이 없어졌다 (T049) —
tao가 이벤트 루프 만들 때SetProcessDpiAwarenessContext(PER_MONITOR_AWARE_V2)를 무조건 부른다. R11 의 "매니페스트 넣기"가 통째로 사라짐. US4 에서 좌표 어긋나면 원인이 DPI 가 아니라 좌표 변환 쪽 - 호스트 판별식을 바꿔야 한다 (T012·T015) —
"__TAURI_INTERNALS__" in window는 틀린다. 공식clearMocks()가 속성만 지우고 빈 객체를 남겨서 브라우저 모드 테스트가 tauri 로 오판됨 →typeof window.__TAURI_INTERNALS__?.invoke === "function"으로 잰다 - window-state 기본 플래그가 함정 (T030) —
StateFlags기본값이all()이라VISIBLE·DECORATIONS까지 복원한다. 트레이 상주 + 프레임리스 앱엔 독 →SIZE | POSITION만 켠다
공식 테스트 mock 도 찾음 — @tauri-apps/api/mocks 의 mockIPC/clearMocks(+shouldMockEvents 로 listen 까지). T012~T014 에서 직접 흉내낼 필요 없음.
다음 할 일
- Phase 2 (T006~T011) ← 여기부터 — 반쯤 만든 스캐폴드 재검증하고
npm run tauri dev첫 통과 - T006main.rslib 이름 정합이 첫 줄 -Cargo.toml은 이미 봐뒀는데 멀쩡함(cargo generate-lockfile·cargo fetch통과, 488 패키지 잠김) - Phase 3 = US1 (MVP) — 프론트 transport seam. Phase 2 와 병렬 가능 (rust 없이도 됨)
알아둘 상태
4_rust_tauri/는 아직 커밋 안 된 반쯤 만든 스캐폴드고 빌드 안 됨 (Cargo.tomllib 이름codeassist_tauri_lib↔main.rs는_rust_tauri_lib호출 — T006 이 이거) 손으로 쓴 Rust 는 컴파일 검증 0줄이라 전부 재검증 대상 (research R2)- Tauri v2 API 는 기억으로 쓰지 말 것 — T003 의 docs-lib 박제 후 그걸 보고 짬
- US1 에서 가장 위험한 자리: 브릿지 테스트 3개(
bridgeNavigate.test.ts·snippetBridge.test.ts·snippets.api.test.ts, 약 240줄)가window.chrome.webview를 테스트 본문에서 런타임에 심는다. research R4 의 "모듈 로드 때 호스트 고정" 과 정면 충돌 — T015 에서 판별 시점을 먼저 정하고 테스트를 써야 함 3_windowsApp(.NET)은 비교 기준선이라 무변경
덜 급한 것
specs/003-token-cost/— spec 초안만 있고 plan 부터 안 됨