vignette/apps/web/package.json
Yun Chan 85bd079d18 아바타 v3 표현 엔진·리노컷 렌더러·립싱크와 Lab
- 표현 엔진: 채널 34개(mouthRound 추가), 표정 28종·강도 곡선·반응 클립 26종·지문 cue, 미세표정 누설
- 발화층: 한글 자모 비짐 9종, TTS 오디오 선분석 정렬, 60ms 앞당김·모음 간 비닫힘
- 발화 동반층: 억양·강세에 맞춘 고개 표류·끄덕임·질문 갸웃·들숨·눈썹 박·시선 회피·쉼 깜빡임
- P1 서연 리노컷 렌더러: 원화 픽셀 입술 띠 변형, 하관 띠 변형(턱·코 들썩), 볼 불룩, 작은 크기 선 보정, 모티프·배경 색면
- /dev/avatar-lab, check:avatar-presets·check:avatar-lipsync, avatar-lab E2E 19개
2026-10-01 09:58:00 +09:00

54 lines
2.4 KiB
JSON

{
"name": "@vignette/web",
"private": true,
"version": "0.1.0",
"type": "module",
"description": "Vignette — AI 심리상담 시뮬레이션 훈련 플랫폼 (React 19 프론트)",
"scripts": {
"dev": "vite",
"build": "npm run check:cosmetic-filter-safety && tsc -b && vite build",
"generate:api-types": "node scripts/generate-api-types.mjs",
"check:api-types": "node scripts/generate-api-types.mjs --check",
"check:preview-hosts": "node scripts/check-preview-hosts.mjs",
"check:design-ssot": "node scripts/check-design-ssot.mjs",
"check:measurement-contract": "node scripts/check-measurement-contract.mjs",
"check:cosmetic-filter-safety": "node scripts/check-cosmetic-filter-safety.mjs",
"check:cosmetic-filter-safety:self-test": "node scripts/check-cosmetic-filter-safety.mjs --self-test",
"check:dead-code": "knip --include files,dependencies,unlisted,unresolved,binaries --treat-config-hints-as-errors",
"check:duplication": "jscpd src ../api/app --min-lines 8 --min-tokens 80 --ignore **/test_*.py,**/*_test.py,**/api.gen.ts,**/*.css,**/*.d.ts --threshold 0.05 --reporters console,threshold --no-tips",
"generate:live2d-assets": "node scripts/generate-live2d-assets.mjs",
"check:avatar-presets": "node scripts/check-avatar-presets.mjs",
"check:avatar-lipsync": "node scripts/check-avatar-lipsync.mjs",
"preview": "vite preview",
"typecheck": "tsc -b",
"lint": "npm run check:cosmetic-filter-safety && tsc -b",
"e2e": "node scripts/run-e2e.mjs",
"e2e:list": "node scripts/run-e2e.mjs --list",
"e2e:parallel": "playwright test --project=chromium-desktop --project=chromium-mobile --workers=4",
"e2e:single-run": "playwright test --project=chromium-single-run --workers=1",
"e2e:headed": "playwright test --headed",
"e2e:ui": "playwright test --ui"
},
"dependencies": {
"@tanstack/react-table": "^8.21.3",
"@tanstack/react-virtual": "^3.14.8",
"react": "^19.1.0",
"react-dom": "^19.1.0",
"react-router-dom": "^6.30.1"
},
"overrides": {
"gh-pages": "^6.3.0"
},
"devDependencies": {
"@playwright/test": "^1.61.1",
"@types/react": "^19.1.8",
"@types/react-dom": "^19.1.6",
"@vitejs/plugin-react": "^4.6.0",
"esbuild": "^0.25.12",
"jscpd": "5.0.12",
"knip": "^6.26.0",
"openapi-typescript": "^7.13.0",
"typescript": "^5.8.3",
"vite": "^6.3.5"
}
}