مشاهده پروژه ثبت پیشنهاد روی پروژه
توسعه و ادغام یک دستیار هوشمند سهبعدی (Pet) برای راهنمایی کاربران در محیط متارنگ. این عامل هوشمند باید با زیرساختهای فعلی AI (شامل LLM، RAG، STT و TTS مربوط به سیستم NPC) یکپارچه شود. پت باید با استفاده از React Three Fiber رندر شده، از وضعیت لحظهای کاربر (Context-Aware) آگاه باشد، مکالمات صوتی و متنی را پردازش کند، دارای قابلیت Lip-Sync محلی باشد و تاریخچه تعاملات را در IndexedDB ذخیره کند.
فاز ۱: مهندسی مدل سهبعدی و انیمیشن (مسئول: طراح سهبعدی / Technical Artist)
شرح وظایف:
خروجی گرفتن از مدل پت با فرمت .glb و اعمال فشردهسازی DRACO برای کاهش حداکثری حجم فایل.
ایجاد و تنظیم حداقل ۴ انیمیشن پایه: Idle (بیکار)، Listening (شنیدن)، Thinking (پردازش) و Speaking (صحبت کردن).
تعبیه Blendshapes (Morph Targets) روی مش (Mesh) دهان پت برای پیادهسازی لیپسینک (حداقل شامل واجهای پایه یا یک کنترلر باز و بسته شدن یکپارچه فک بر اساس فرکانس صدا).
معیار پذیرش و تست (Acceptance & Handoff):
[ ] حجم فایل .glb نباید از حد استاندارد وب (ترجیحاً زیر ۳ مگابایت) تجاوز کند.
[ ] تست مدل در glTF Viewer مرورگر و تایید عملکرد صحیح تمامی انیمیشنها و Blendshapeها بدون به هم ریختگی Normals.
تحویل به: توسعهدهنده فرانتاند (WebGL/R3F).
فاز ۲: ادغام سهبعدی در React و مدیریت UI (مسئول: توسعهدهنده Frontend - WebGL)
شرح وظایف:
بارگذاری فایل .glb با استفاده از @react-three/drei (کامپوننت useGLTF) و پیادهسازی منطق Lazy Loading با Suspense تا بیلد اولیه مسدود نشود.
راهاندازی THREE.AnimationMixer جهت کنترل و سوئیچ نرم (Crossfade) بین انیمیشنهای Idle، Listening، Thinking و Speaking.
توسعه UI شناور پت: در دسکتاپ به صورت المان ثابت در گوشه تصویر و در موبایل با منطق ریسپانسیو (تبدیل به آیکون یا نمایش در مودال اختصاصی برای جلوگیری از اشغال فضا).
ساخت کامپوننت حباب گفتگو (Text Bubble) با استایلهای هماهنگ با Light/Dark Mode.
معیار پذیرش و تست (Acceptance & Handoff):
[ ] مدل بدون افت فریم (تضمین ۶۰FPS در حالت استندبای) روی مرورگر دسکتاپ و موبایل رندر شود.
[ ] سوئیچ بین استیتهای انیمیشن با دستورات تستی (Mock) به نرمی انجام شود.
تحویل به: توسعهدهنده Frontend (Core/State Management).
فاز ۳: پیادهسازی آگاهی از بافت و مدیریت State (مسئول: توسعهدهنده Frontend - Core)
شرح وظایف:
ایجاد یک Store اختصاصی (Zustand یا Redux) برای PetContext.
تنظیم Axios Interceptors در لایه شبکه فرانتاند جهت شنود نامرئی پاسخهای API بکاند (مثلاً موفقیت تراکنش، خطای کمبود PSC، تغییر سطح شهروندی) و تزریق آنها به Store پت.
مانیتور کردن useRouter برای تشخیص صفحه و مودال فعال فعلی کاربر.
مدیریت پایگاه داده محلی با IndexedDB برای ذخیره لاگ تعاملات کاربر با پت جهت دسترسی آفلاین و کاهش کوئریهای غیرضروری به بکاند.
معیار پذیرش و تست (Acceptance & Handoff):
[ ] با گشتوگذار در پلتفرم و ثبت خطاهای فرضی (Mock Errors)، استور PetContext باید بدون ایجاد Re-render در کامپوننتهای سنگین (مانند نقشه سهبعدی) آپدیت شود.
[ ] دادهها با موفقیت در IndexedDB مرورگر ذخیره و فراخوانی شوند.
تحویل به: توسعهدهنده Backend / AI Integration.
فاز ۴: اتصال به میکروسرویس AI و پردازش صوت (مسئول: برنامهنویس Backend و Frontend)
شرح وظایف بکاند:
تخصیص و ایمنسازی APIهای موجود (LLM, RAG, STT, TTS) مختص درخواستهای پت.
پذیرش پارامتر جدید System Payload (شامل دیتای بافتمحور ارسال شده از فرانتاند) در کنار پرامپت کاربر، تا LLM پاسخهای دقیق و مرتبط با صفحه فعلی تولید کند.
پشتیبانی از ارسال پاسخها به صورت Stream (Chunked) برای کاهش زمان انتظار.
شرح وظایف فرانتاند:
پیادهسازی ضبط صدا در کلاینت با MediaRecorder API و ارسال به سرویس STT.
دریافت استریم صوتی (TTS) و متن از بکاند.
پیادهسازی ماژول Lip-Sync: استفاده از Web Audio API و AnalyserNode برای استخراج فرکانس/دامنه صدای در حال پخش و اتصال بلادرنگ (Real-time) آن به پارامترهای Blendshape دهان پت.
معیار پذیرش و تست (Acceptance & Handoff):
[ ] ارسال یک ریکوئست متنی/صوتی همراه با Payload وضعیت کاربر (مثلا: "کاربر در صفحه VOD است و موجودی کافی ندارد"). پاسخ AI باید مستقیماً به این وضعیت اشاره کند.
[ ] همزمان با پخش صدای TTS، دهان پت باید به صورت سینک شده تکان بخورد و حباب متنی محتوا را نمایش دهد.
در صورت قطع اتصال، سیستم خطای مناسب را از طریق پت اعلام کند.
تحویل به: مهندس تضمین کیفیت (QA).
فاز ۵: یکپارچهسازی نهایی و تست E2E (مسئول: QA / DevOps)
شرح وظایف:
تست یکپارچگی (End-to-End Test) از لحظه کلیک روی دکمه میکروفون پت، تشخیص صدا، ارسال کانتکست سیستم، دریافت پاسخ از LLM/RAG، پخش صدا و اجرای انیمیشن Lip-Sync.
بررسی Performance و Memory Leak: اطمینان از اینکه لود شدن پت و استفاده از Web Audio API باعث کرش کردن تب مرورگر یا تداخل با موتور رندر نقشه (WebGL اصلی متارنگ) نمیشود.
تست مکانیزم Batch Sync: بررسی اینکه تاریخچه IndexedDB به صورت دورهای و بدون ایجاد ترافیک سنگین، با دیتابیس مرکزی سینک میشود.
معیار پذیرش نهایی:
[ ] پاس شدن تمامی تستهای اتوماتیک و دستی در محیطهای Staging.
[ ] تایید عملکرد ریسپانسیو UI و جلوگیری از مشکل زوم خودکار (Zoom Correction) در موبایل هنگام تعامل با پت.
[ ] مرج کردن کدهای نهایی به شاخه main و آمادهسازی برای Release.
مشاهده جزئیات پیشنهادهای این پروژه
گزارش تخلف
پروژه را با دوستان خود به اشتراک بگذارید