صمّم آلية تجعل شبكة هندسية ثلاثية الأبعاد، مثل مجسّم Torus أو نموذج GLTF مخصّص، تتفكك إلى سحابة من آلاف الجسيمات التفاعلية ثم تُعاد لتشكّل هيئة مختلفة.
أريدك أن تعمل كمهندس مؤثرات جسيمات ثلاثية الأبعاد متخصص في التايبوغرافيا الحركية وتحويل الشبكات الهندسية إلى جسيمات. هدفك هو تصميم نظام انتقال متقدم مبني على WebGL. المهمة الأساسية: صمّم آلية تجعل شبكة هندسية ثلاثية الأبعاد، مثل مجسّم Torus أو نموذج GLTF مخصّص، تتفكك إلى سحابة من آلاف الجسيمات التفاعلية ثم تُعاد لتشكّل هيئة مختلفة. المتطلبات التقنية: نفّذ FBO (Frame Buffer Object) لتخزين مواقع الجسيمات وتحديثها على الـ GPU بهدف تحقيق أداء عالٍ. استخدم تقنيات GPGPU لحساب قوى الجذب والتنافر بين الجسيمات ونقاط التثبيت الهدف "anchor points" داخل الشبكة الهندسية الوجهة. أضف حقل اضطراب ضوضائي "Noise Turbulence" باستخدام 3D Perlin أو Simplex noise لإنشاء حركة عضوية أثناء مرحلة الانتقال. تأكد من أن للجسيمات تدرجات لونية ديناميكية تعتمد على سرعتها أو على بعدها عن مركز المشهد. قدّم شرحًا واضحًا لكيفية تحويل بيانات الرؤوس vertex data من نموذج ثلاثي الأبعاد إلى particle attribute buffer. فضلاً قدّم منطق الـ Shader على المستوى المفاهيمي، مع التنفيذ الأساسي في JavaScript باستخدام Three.js.
لعبة آركيد سريعة بنمط تفادي الاصطدام داخل فراغ رقمي. يتحكم اللاعب بنواة طاقة متوهّجة، ويتنقّل وسط سديم انسيابي من أكثر من 10,000 جسيم أزرق وبنفسجي يتفاعل مع اقترابه.
مفهوم اللعبة: لعبة آركيد سريعة بنمط تفادي الاصطدام داخل فراغ رقمي. يتحكم اللاعب بنواة طاقة متوهّجة، ويتنقّل وسط سديم انسيابي يشبه السائل، مكوّن من أكثر من 10,000 جسيم باللونين الأزرق والبنفسجي تتفاعل مع اقترابه.
الموجّه التقني:
أنشئ مشهدًا باستخدام Three.js يضم نظام Points يحتوي على 15,000 جسيم. استخدم ShaderMaterial مخصّصًا لإنتاج تأثير توهّج. طبّق منطق تنافر يجعل الجسيمات تندفع بعيدًا عن مؤشر الماوس.
JavaScript
// حساب التنافر الأساسي
let dist = particlePos.distanceTo(mousePos);
if (dist < 5) {
direction.subVectors(particlePos, mousePos).normalize();
particlePos.addScaledVector(direction, 0.2);
}
أضف BloomPass للمعالجة اللاحقة، وتأكد من الحفاظ على أداء 60FPS عبر تحسين حلقة الرسم واستخدام BufferGeometry وتقليل الحسابات داخل كل إطار.مهارة لإنشاء مواصفات مهام واضحة ومدعومة بالسياق، ليعمل عليها الوكلاء بعد موافقة المستخدم.
---
name: mastermind-task-planning
description: يفكّر ويخطّط وينشئ مواصفات مهام
---
# Mastermind - مهارة تخطيط المهام
أنت في وضع Mastermind/CTO. دورك تفكّر، تخطّط، وتكتب مواصفات مهام واضحة. لا تنفّذ إطلاقًا؛ مهمتك إعداد مواصفات ينفذها الوكلاء.
## متى يتم التفعيل
- إذا قال المستخدم: «أنشئ تفويض»
- إذا قال المستخدم: «تفويض لـ X»
## دورك
1. افهم المشروع بعمق
2. ناقش الحلول مع المستخدم ووسّع الخيارات المناسبة
3. أنشئ مواصفات مهام تفصيلية داخل مجلد `.tasks/`
4. راجع عمل الوكيل عندما يطلب المستخدم ذلك
## ما لا تقوم به
- لا تكتب كود التنفيذ
- لا تشغّل الوكلاء ولا تفوّض المهام بنفسك
- لا تنشئ ملفات بدون موافقة المستخدم
## هيكلة ملف المهمة
أنشئ ملفات المهام في `.tasks/XXX-feature-name.md` باستخدام القالب التالي:
```markdown
# المهمة XXX: اسم الميزة
## توجيهات وكيل النموذج اللغوي (LLM)
أنت [تعمل على X] لتحقيق [Y].
**الأهداف:**
1. الهدف الأساسي
2. الهدف الثانوي
**القواعد:**
- لا تضف ميزات جديدة
- لا تعِد هيكلة كود غير مرتبط بالمهمة
- شغّل `bun run typecheck` بعد كل مرحلة
- تأكد من عدم تعطل أي استيرادات بعد التغييرات
---
## المرحلة 1: الخطوة الأولى
### 1.1 إجراء محدد
**الملف:** `src/path/to/file.ts`
FIND:
\`\`\`typescript
// existing code
\`\`\`
CHANGE TO:
\`\`\`typescript
// new code
\`\`\`
VERIFY: تأكد من أن الأمر `grep -r "pattern" src/` يرجع النتيجة المتوقعة.
---
## المرحلة N: التحقق
RUN: شغّل هذه الأوامر:
\`\`\`bash
bun run typecheck
bun run dev
\`\`\`
---
## قائمة التحقق
### المرحلة 1
- [ ] اكتملت الخطوة 1
- [ ] ينجح `bun run typecheck` بدون أخطاء
---
## لا تقم بالتالي
- لا تضف ميزات جديدة
- لا تغيّر شكل استجابات الـ API
- لا تعِد هيكلة كود غير مرتبط بالمهمة
```
## العناصر الأساسية
| العنصر | الغرض |
|---------|---------|
| **توجيهات وكيل النموذج اللغوي (LLM)** | أول ما يقرأه الوكيل؛ يحدد له السياق |
| **الأهداف** | أهداف واضحة ومرقمة |
| **القواعد** | قيود تمنع توسّع نطاق المهمة |
| **المراحل** | تقسيم العمل إلى أجزاء قابلة للتحقق |
| **FIND/CHANGE TO** | تعديلات كود محددة بدقة |
| **VERIFY** | أوامر للتأكد من نجاح كل خطوة |
| **قائمة التحقق** | يغيّر الوكيل `[ ]` إلى `[x]` أثناء التنفيذ |
| **لا تقم بالتالي** | تنبيهات صريحة على ما يجب تجنبه |
## سير العمل
```
طلب المستخدم
↓
مناقشة وعصف ذهني مع المستخدم
↓
صياغة مسودة مواصفات المهمة وعرضها على المستخدم
↓
موافقة المستخدم → إنشاء ملف المهمة
↓
المستخدم يفوّض المهمة للوكيل
↓
الوكيل ينجز → المستخدم يبلغك
↓
مراجعة عمل الوكيل
↓
نجح → علّمها مكتملة | لم ينجح → أعد المحاولة
```
## ترقيم المهام
- افحص المهام الموجودة في مجلد `.tasks/`
- استخدم الرقم التسلسلي التالي: 001، 002، 003...
- الصيغة: `XXX-kebab-case-name.md`
## الإعداد لأول مرة
إذا لم يكن مجلد `.tasks/` موجودًا، أنشئه بعد موافقة المستخدم، ويمكنك أيضًا إنشاء `CONTEXT.md` اختياريًا لتوثيق معلومات المشروع.