DocDoeAI / package.json
asnannp's picture
deploy: sync backend to Space root (learn-lesson HF cache fix)
f3056f5
Raw History Blame Contribute Delete
10.2 kB
{
"name": "docdoe",
"version": "1.0.0",
"private": true,
"engines": {
"node": ">=20.9.0"
},
"scripts": {
"content:manifest": "tsx scripts/generate-content-manifest.ts",
"tuition:content-contract": "tsx scripts/generate-tuition-content-contract.ts",
"dev": "next dev",
"build": "next build",
"start": "next start",
"lint": "eslint src next.config.ts eslint.config.mjs vitest.config.ts",
"lint:all": "eslint",
"remotion:studio": "remotion studio src/remotion/Root.tsx",
"render:sample-video": "remotion render src/remotion/Root.tsx ExplainerVideo generated-videos/sample-explainer.mp4",
"render:sample-anime-video": "remotion render src/remotion/Root.tsx ExplainerVideoVertical generated-videos/sample-anime-visual-explainer.mp4",
"tts:sample": "python backend/scripts/generate_sample_tts.py --provider edge --voice-mode english_soft",
"tts:sample-mock": "python backend/scripts/generate_sample_tts.py --provider mock --voice-mode english_soft",
"video:photosynthesis-real-audio": ".\\backend\\.venv\\Scripts\\python.exe backend/scripts/generate_photosynthesis_anime_video.py",
"render:sample-video-with-audio": "remotion render src/remotion/Root.tsx ExplainerVideo generated-videos/sample-explainer-with-audio.mp4 --props=public/generated/audio/sample-rest-api-en/scene-plan-with-audio.json",
"render:from-json": "node scripts/render-video-from-json.mjs",
"doctor": "npx react-doctor@latest",
"seo:verify": "npx tsx scripts/verify-seo-routes.ts",
"seo:smoke": "npx tsx scripts/seo-smoke-test.ts",
"test": "vitest run",
"preflight:prod": "python backend/scripts/production_preflight.py",
"verify:deploy": "python scripts/verify_deploy.py",
"video:plan": "tsx scripts/video/generate-tuition-video-plan.ts",
"video:preview": "remotion studio src/remotion/Root.tsx",
"video:render:sample": "remotion render src/remotion/Root.tsx TuitionLessonVideoPreview generated-videos/tuition-sound-waves-sample.mp4",
"video:render:full": "remotion render src/remotion/Root.tsx TuitionLessonVideoFull generated-videos/tuition-sound-waves-full.mp4",
"video:manifest": "tsx scripts/video/create-render-manifest.ts",
"video:render:segment": "remotion render src/remotion/Root.tsx TuitionLessonVideoSegment",
"video:render:all-segments": "tsx scripts/video/render-all-segments.ts",
"video:render:sample:short": "remotion render src/remotion/Root.tsx TuitionLessonVideoShortSample outputs/video/tuition/sound-waves/sample/sound-waves-sample.mp4",
"video:subtitles": "tsx scripts/video/export-tuition-subtitles.ts",
"video:voiceover-script": "tsx scripts/video/generate-voiceover-script.ts",
"video:first-segment:assets": "tsx scripts/video/generate-first-segment-assets.ts",
"video:render:first-segment": "remotion render src/remotion/Root.tsx TuitionLessonVideoFirstSegment outputs/video/tuition/sound-waves/segments/sound-waves-vibration-medium.mp4",
"video:tts:chunks": "tsx scripts/video/generate-tts-chunks.ts",
"video:tts:audio": "tsx scripts/video/generate-tts-audio.ts",
"video:tts:merge": "tsx scripts/video/merge-tts-audio.ts",
"video:check-density": "tsx scripts/video/check-teaching-density.ts",
"video:check-audio": "tsx scripts/video/check-video-audio.ts",
"video:full-chapter:assets": "tsx scripts/video/prepare-full-chapter-render-props.ts",
"video:render:full-chapter": "npm run video:full-chapter:assets && remotion render src/remotion/Root.tsx TuitionLessonVideoFullChapter --props=outputs/video/tuition/phy-p1-c1/full/render-props.json --hardware-acceleration=if-possible --gl=angle --scale=0.6666666666666666 outputs/video/tuition/phy-p1-c1/full/sound-waves-full-chapter.mp4",
"video:render:full-chapter:dry": "remotion render src/remotion/Root.tsx TuitionLessonVideoFullChapterPreview --hardware-acceleration=if-possible --gl=angle --scale=0.6666666666666666 outputs/video/tuition/phy-p1-c1/full/sound-waves-full-chapter-preview.mp4",
"video:lenses:tts:chunks": "cross-env CHAPTER_ID=phy-p1-c2 tsx scripts/video/generate-tts-chunks.ts",
"video:lenses:tts:audio": "cross-env CHAPTER_ID=phy-p1-c2 tsx scripts/video/generate-tts-audio.ts",
"video:lenses:tts:merge": "cross-env CHAPTER_ID=phy-p1-c2 tsx scripts/video/merge-tts-audio.ts",
"video:lenses:render": "cross-env CHAPTER_ID=phy-p1-c2 npm run video:full-chapter:assets && remotion render src/remotion/Root.tsx TuitionLessonVideoFullChapter --props=outputs/video/tuition/phy-p1-c2/full/render-props.json --hardware-acceleration=if-possible --gl=angle --scale=0.6666666666666666 outputs/video/tuition/phy-p1-c2/full/lenses-full-chapter.mp4",
"video:scene-index": "tsx scripts/video/generate-scene-index.ts",
"video:scene-stills": "tsx scripts/video/render-all-scene-stills.ts",
"video:scene-contact-sheets": "tsx scripts/video/generate-contact-sheets.ts",
"video:scene-qa-check": "tsx scripts/video/check-scene-screen-text.ts",
"video:day19-sample:props": "tsx scripts/video/render-day19-sample.ts",
"video:day19-sample": "npm run video:day19-sample:props && remotion render src/remotion/Root.tsx TuitionLessonVideoFullChapter --props=outputs/video/tuition/sound-waves/scene-review/sample/render-props.json --hardware-acceleration=if-possible --gl=angle outputs/video/tuition/sound-waves/scene-review/sample/sound-waves-day19-sample.mp4",
"video:c3:tts:chunks": "cross-env CHAPTER_ID=phy-p1-c3 tsx scripts/video/generate-tts-chunks.ts",
"video:c3:tts:audio": "cross-env CHAPTER_ID=phy-p1-c3 tsx scripts/video/generate-tts-audio.ts",
"video:c3:tts:merge": "cross-env CHAPTER_ID=phy-p1-c3 tsx scripts/video/merge-tts-audio.ts",
"video:c3:render": "cross-env CHAPTER_ID=phy-p1-c3 npm run video:full-chapter:assets && remotion render src/remotion/Root.tsx TuitionLessonVideoFullChapter --props=outputs/video/tuition/phy-p1-c3/full/render-props.json --hardware-acceleration=if-possible --gl=angle --scale=0.6666666666666666 outputs/video/tuition/phy-p1-c3/full/colours-full-chapter.mp4",
"video:c4:tts:chunks": "cross-env CHAPTER_ID=phy-p1-c4 tsx scripts/video/generate-tts-chunks.ts",
"video:c4:tts:audio": "cross-env CHAPTER_ID=phy-p1-c4 tsx scripts/video/generate-tts-audio.ts",
"video:c4:tts:merge": "cross-env CHAPTER_ID=phy-p1-c4 tsx scripts/video/merge-tts-audio.ts",
"video:c4:render": "cross-env CHAPTER_ID=phy-p1-c4 npm run video:full-chapter:assets && remotion render src/remotion/Root.tsx TuitionLessonVideoFullChapter --props=outputs/video/tuition/phy-p1-c4/full/render-props.json --hardware-acceleration=if-possible --gl=angle --scale=0.6666666666666666 outputs/video/tuition/phy-p1-c4/full/magnetic-full-chapter.mp4",
"video:check-master-teacher": "tsx scripts/video/check-master-teacher.ts",
"textbook:ingest:sslc-physics": "python backend/scripts/ingest_sslc_physics_textbooks.py",
"video-engine:export": "tsx scripts/video-engine/export-grounded-artifacts.ts",
"video-engine:test": "tsx src/video-engine/__tests__/engine.test.ts && vitest run src/video-engine/physics/__tests__/continuousPhysicsEngine.test.ts",
"video-engine:preview": "remotion render src/remotion/PhysicsEngineRoot.tsx SoundWavesContinuousPreview outputs/video-engine/continuous-sound-waves/sound-waves-continuous-preview.mp4 --scale=0.6666666667",
"physics-video:package-all": "tsx scripts/video-engine/build-physics-production-packages.ts",
"physics-video:render-all": "tsx scripts/video-engine/render-physics-production-chapters.ts",
"render:launch-ad": "remotion render src/remotion/Root.tsx DocDoeLaunchAd generated-videos/docdoe-launch-ad.mp4 --hardware-acceleration=if-possible --gl=angle",
"render:launch-ad-4k": "remotion render src/remotion/Root.tsx DocDoeLaunchAd generated-videos/docdoe-launch-ad-4k.mp4 --scale=2 --hardware-acceleration=if-possible --gl=angle",
"render:launch-ad-prores": "remotion render src/remotion/Root.tsx DocDoeLaunchAd generated-videos/docdoe-launch-ad-master.mov --codec=prores --prores-profile=hq",
"render:launch-ad-portrait": "remotion render src/remotion/Root.tsx DocDoeLaunchAdPortrait generated-videos/docdoe-launch-ad-portrait.mp4 --hardware-acceleration=if-possible --gl=angle",
"render:geography-ad": "remotion render src/remotion/Root.tsx DocDoeGeographyAd generated-videos/docdoe-geography-ad.mp4 --hardware-acceleration=if-possible --gl=angle",
"render:geography-ad-portrait": "remotion render src/remotion/Root.tsx DocDoeGeographyAdPortrait generated-videos/docdoe-geography-ad-portrait.mp4 --hardware-acceleration=if-possible --gl=angle"
},
"dependencies": {
"@react-three/drei": "^10.7.8",
"@react-three/fiber": "^9.7.0",
"@remotion/cli": "^4.0.459",
"@remotion/google-fonts": "^4.0.459",
"@remotion/motion-blur": "^4.0.459",
"@remotion/player": "^4.0.459",
"@remotion/shapes": "^4.0.459",
"@vercel/analytics": "^2.0.1",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"framer-motion": "^12.38.0",
"gsap": "^3.15.0",
"hls.js": "^1.6.16",
"katex": "^0.16.47",
"lenis": "^1.3.23",
"liquid-glass-react": "^1.1.1",
"lucide-react": "^1.16.0",
"motion": "^12.40.0",
"next": "16.2.6",
"next-themes": "^0.4.6",
"ogl": "^1.0.11",
"radix-ui": "^1.4.3",
"react": "19.2.4",
"react-dom": "19.2.4",
"react-markdown": "^10.1.0",
"rehype-katex": "^7.0.1",
"remark-gfm": "^4.0.1",
"remark-math": "^6.0.0",
"remark-parse": "^11.0.0",
"remotion": "^4.0.459",
"shadcn": "^4.13.0",
"tailwind-merge": "^3.6.0",
"three": "^0.185.1",
"tw-animate-css": "^1.4.0",
"unified": "^11.0.5"
},
"overrides": {
"postcss": "8.5.14"
},
"devDependencies": {
"@tailwindcss/postcss": "^4",
"@testing-library/jest-dom": "^6.9.1",
"@testing-library/react": "^16.3.2",
"@types/node": "^20",
"@types/react": "^19",
"@types/react-dom": "^19",
"cross-env": "^10.1.0",
"eslint": "^9",
"eslint-config-next": "16.2.6",
"jsdom": "^29.1.1",
"playwright-core": "^1.62.1",
"react-doctor": "^0.2.9",
"tailwindcss": "^4",
"tsx": "^4.23.0",
"typescript": "^5",
"vitest": "^4.1.7"
}
}