Files
saqel/docs/VIRTUAL_LABS_AUTHORING_PROTOCOL.md
T

47 lines
3.5 KiB
Markdown

# بروتوكول تأليف مختبرات صَقِل المرتبطة بالمنهج
هذا البروتوكول هو بوابة العمل بين ملف الدرس المعتمد والتنفيذ البرمجي. لا يسمح بإنشاء مختبر عام للمبحث، ولا بربطه عبر تشابه العنوان، ولا بإظهار مختبر للطالب قبل وجود حزمة خادمية منشورة وصلاحية وصول.
## خط الإنتاج
1. **الهوية:** يبدأ العمل بـ`curriculum_lesson_id` وإصدار المنهج والصف والمبحث والفصل والوحدة والدرس.
2. **الاستخراج:** تُقرأ صفحات المصدر وMarkdown كاملًا، وتوثق النتاجات والمفاهيم والعلاقات والأمثلة والأخطاء الشائعة.
3. **التصميم:** تُملأ مواصفة الدرس الموجودة تحت `docs/virtual_labs/grade_10/` ويعتمدها مختص المادة.
4. **النموذج:** ينفذ الحساب منفصلًا عن الرسم ويختبر قبل إضافة الحركة.
5. **التجربة:** يبنى المشهد المتجهي، حلقة اللعب، التحكم المتدرج، ومحطات فحص الفهم.
6. **التحقق:** تختبر الدقة والحالات الحدية والهاتف واللوحي والوصول وتقليل الحركة.
7. **النشر:** يسجل المختبر في حزمة الدرس على الخادم. العميل يعرض ما يصرح به الخادم فقط.
## عقد ملف مواصفة الدرس
كل ملف يجب أن يحتوي على:
- بيانات الهوية والمصدر وحالة المراجعة.
- نتاجات قابلة للقياس ومحاور مثبتة في المصدر.
- فكرة لعبة من خمس مراحل: اكتشف، جرّب، ابنِ، فسّر، انقل الفهم.
- وصف المشهد المتحرك وطبقات الرسم.
- جدول المتغيرات والوحدات والنطاقات والقيم الابتدائية.
- المعادلات أو العلاقات مع مرجع الصفحة/القسم.
- محطات فهم لها شرط إطلاق ودليل وتعليل وتلميح.
- حالات الخطأ وإعادة الضبط وإمكانية الوصول.
- اختبارات القبول وتعريف اكتمال لا يمكن تأشيره دون دليل.
## قواعد الواجهة المشتركة
- عرض `>=760px`: مساحة التجربة `flex: 2` ولوحة تحكم 320–360px.
- هاتف: كانفاس 300–340px في الأعلى وتحكم قابل للتمرير في الأسفل.
- رسم متجهي عبر `CustomPainter`، وخط نظام، وأهداف لمس 44×44 على الأقل.
- ألوان أساسية: `#07111F` و`#0B1728` و`#102035`، ولهجات `#00F5D4` و`#0071E3` و`#30D158` و`#FF9F0A` و`#FF375F`.
- اللون لا يحمل المعنى وحده، والحركة تحترم إعداد تقليل الحركة.
- لا نقاط نجاح أو إتقان أو دخل مصطنع، ولا صور أو WebView بديلة عن التنفيذ الأصلي.
## أمر التوليد والتحقق
```bash
php tools/generate_virtual_lab_specs.php
php tools/validate_virtual_lab_specs.php
```
المولّد يعيد بناء المسودات من قائمة القبول. لا يعني نجاحه أن المحتوى صالح للنشر؛ الموافقة الأكاديمية وربط حزمة الخادم شرطان مستقلان.