Update Saqel Platform: 2026-09-12 08:50:01
This commit is contained in:
@@ -0,0 +1,135 @@
|
||||
---
|
||||
spec_type: curriculum_virtual_lab
|
||||
spec_version: 1.0.0
|
||||
status: draft_requires_academic_review
|
||||
curriculum_version: jordan-grade10-2026-source-review
|
||||
curriculum_lesson_id: arabic_10_semester_2_unit_06_lesson_01
|
||||
grade_key: grade_10
|
||||
subject_key: arabic_10
|
||||
semester_key: semester_2
|
||||
unit_key: unit_06
|
||||
lesson_key: lesson_01
|
||||
source_markdown: grade_10/arabic_10/semester_2/unit_06/lesson_01.md
|
||||
source_extraction_review_status: needs_human_review
|
||||
---
|
||||
|
||||
# مواصفة المختبر التفاعلي — الدرس الأول: أستمعُ بانتباهٍ وتركيزٍ
|
||||
|
||||
> **حالة الملف:** مسودة هندسية مشتقة من ملف القبول المنهجي. لا تُعرض للطالب ولا تُسجّل كمختبر منشور قبل مراجعة المحتوى، وربطها بحزمة نشر خادمية معتمدة وإصدار أصل واضح.
|
||||
|
||||
## 1. بطاقة الارتباط المنهجي
|
||||
|
||||
- المبحث: اللغة العربية
|
||||
- هوية الدرس: `arabic_10_semester_2_unit_06_lesson_01`
|
||||
- المصدر الوحيد لهذه المسودة: `grade_10/arabic_10/semester_2/unit_06/lesson_01.md`
|
||||
- صفحات المصدر المسجلة: 10, 11, 12
|
||||
- حالة مراجعة الاستخراج: `needs_human_review`
|
||||
- يمنع الربط بعنوان الدرس أو `lesson_01` وحده؛ الربط التشغيلي يكون بهوية الدرس وإصدار الحزمة المنشورة.
|
||||
|
||||
## 2. ما الذي يجب أن يفهمه الطالب؟
|
||||
|
||||
### النتاجات المستخرجة
|
||||
|
||||
- يحددها المراجع الأكاديمي من المصدر قبل التنفيذ؛ لا تكفي صياغة عنوان الدرس.
|
||||
|
||||
### محاور الدرس التي يجب تمثيلها
|
||||
|
||||
- الدرس الأول: أستمعُ بانتباهٍ وتركيزٍ
|
||||
|
||||
إذا كانت النتاجات أعلاه عامة أو ناقصة، يستخرج المراجع الأكاديمي نتاجات قابلة للقياس من الصفحات المشار إليها قبل البرمجة. لا يخترع المطور قانوناً أو تعريفاً أو ترجمة أو مثالاً غير مثبت في المصدر.
|
||||
|
||||
## 3. فكرة اللعبة التعليمية
|
||||
|
||||
- **الاستعارة البصرية:** مسرح نصي تفاعلي يفكك البنية والمعنى والإيقاع بصرياً.
|
||||
- **حلقة اللعب:** رتّب عناصر النص أو اللغة واستدل على العلاقة.
|
||||
- **المهمة الأولى — اكتشف:** يبدأ الطالب بمشهد واضح وتعليمة واحدة، ويتنبأ بما سيحدث قبل لمس التحكم.
|
||||
- **المهمة الثانية — جرّب:** يغيّر متغيراً واحداً فقط، ويرى أثره فوراً في الرسم والقراءة والتفسير المختصر.
|
||||
- **المهمة الثالثة — ابنِ:** يرتب العناصر أو يضبط القيم للوصول إلى حالة هدف مأخوذة من مفهوم الدرس.
|
||||
- **المهمة الرابعة — فسّر:** يختار تفسيراً للدليل المرئي، لا تعريفاً محفوظاً.
|
||||
- **المهمة الخامسة — انقل الفهم:** يواجه حالة جديدة بالقانون أو العلاقة نفسها مع قيم/سياق مختلفين.
|
||||
|
||||
لا توجد نقاط أو كؤوس لمجرد النقر. المكافأة البصرية تُمنح عند إظهار دليل فهم، ولا تعني إتقاناً معتمداً؛ الإتقان يُحتسب على الخادم وفق سياسة منفصلة.
|
||||
|
||||
## 4. المشهد المتحرك
|
||||
|
||||
- يرسم بالكامل عبر Flutter `CustomPainter` دون صور PNG/SVG/WebView.
|
||||
- يحول كل محور في قسم «محاور الدرس» إلى طبقة مرئية قابلة للتشغيل والإيقاف.
|
||||
- يعرض السبب والنتيجة في اللحظة نفسها: المتغير المتحكم، أثره في المشهد، والقراءة الرقمية بوحدتها إن وجدت.
|
||||
- تبقى مساحة التجربة ظاهرة أثناء تعديل القيم. على العرض الواسع: كانفاس بمرونة 2 ولوحة تحكم 1 بعرض 320–360px. على الهاتف: كانفاس 300–340px ثم تحكم قابل للتمرير.
|
||||
- الحركة مستمرة عند الحاجة فقط، ويفضل 60fps مع دعم شاشات 120Hz من دون ربط صحة الحساب بعدد الإطارات.
|
||||
- عند تفعيل تقليل الحركة في النظام، تستبدل الحركة المستمرة بانتقالات قصيرة ولقطات حالة مفهومة.
|
||||
|
||||
## 5. نموذج الحالة والتحكم
|
||||
|
||||
ينشئ المطور بعد مراجعة المصدر جدول متغيرات صريحاً:
|
||||
|
||||
| المتغير | معناه في الدرس | النوع/الوحدة | المجال المسموح | القيمة الابتدائية | أثره المرئي |
|
||||
|---|---|---|---|---|---|
|
||||
| `focusParameter` | العامل الرئيس المثبت في المصدر | يحدد من الدرس | يحدد من أمثلة المصدر | حالة محايدة | يغير طبقة واحدة بوضوح |
|
||||
| `comparisonParameter` | عامل المقارنة أو الحالة الثانية | يحدد من الدرس | يحدد من المصدر | مغلق | يظهر فرقاً قابلاً للتفسير |
|
||||
| `timeOrStep` | الزمن أو ترتيب الخطوات عند انطباقه | ثانية/خطوة | بحسب الظاهرة | 0 | يحرك العملية دون تغيير النتيجة حسابياً |
|
||||
|
||||
لوحة التحكم لا تتجاوز ثلاثة عناصر أساسية في المهمة الواحدة. الخيارات المتقدمة تظهر تدريجياً بعد نجاح الطالب في اكتشاف العلاقة الأولى.
|
||||
|
||||
## 6. قواعد المحاكاة والدقة
|
||||
|
||||
- كل معادلة أو ترتيب أو علاقة سببية تُسجل هنا مع مرجع الصفحة/القسم قبل كتابتها في Dart.
|
||||
- تفصل طبقة الحسابات عن `CustomPainter`، وتغطى باختبارات وحدات للقيم الحدية والحالات غير الصالحة.
|
||||
- لا تستخدم عشوائية تؤثر في الإجابة إلا ببذرة محفوظة وقيم ضمن نطاق المصدر.
|
||||
- لا تعرض قيماً علمية أو تاريخية أو لغوية تقريبية بوصفها دقيقة. عند غياب الدليل تعرض «يحتاج مراجعة» في بيئة التأليف فقط.
|
||||
- النص والكانفاس ولوحة التحكم تتشارك الحالة نفسها؛ لا يجوز أن تخالف القراءة الرقمية الرسم.
|
||||
|
||||
## 7. محطات فحص الفهم
|
||||
|
||||
تنفذ عبر `LabCheckpointCallback` بعد ظهور الدليل للطالب، وبالترتيب التالي:
|
||||
|
||||
1. **توقّع:** ما الحالة المتوقعة قبل تشغيل التغيير؟ الخيارات تمثل أخطاء شائعة مثبتة أو يراجعها المعلم.
|
||||
2. **استدلال:** أي دليل مرئي/عددي يثبت ما حدث؟ لا يُسأل الطالب قبل ظهور الدليل.
|
||||
3. **تفسير:** لماذا تغيّرت النتيجة عند تغيير العامل المحدد؟
|
||||
4. **نقل:** ماذا يحدث في حالة جديدة تستخدم المفهوم نفسه؟
|
||||
|
||||
لكل محطة يسجل المنفذ: `checkpoint_id`، المحور المنهجي، شرط الإطلاق، السؤال، الخيارات، الإجابة وتعليلها، مرجع الصفحة/القسم، والتلميح. لا تُرسل الإجابة الصحيحة مسبقاً إلى العميل عندما تدخل النتيجة في الإتقان.
|
||||
|
||||
## 8. التغذية الراجعة ومنع التخمين
|
||||
|
||||
- الإجابة الخاطئة لا تعيد المشهد عشوائياً؛ تضيء المتغير والدليل المرتبطين بالخطأ وتقدم تلميحاً واحداً.
|
||||
- بعد محاولتين، تفكك المهمة إلى خطوة أصغر ثم تعيد حالة نقل مختلفة.
|
||||
- يمنع زر «التالي» حتى يلمس الطالب المتغير المقصود ويرى الأثر، لكن يتوفر دائماً زر إعادة الضبط والخروج.
|
||||
- لا تستخدم مؤثر نجاح مبالغاً فيه؛ اهتزاز خفيف وصوت اختياري وحركة قصيرة تكفي.
|
||||
|
||||
## 9. النظام البصري وإمكانية الوصول
|
||||
|
||||
- الخلفية `#07111F`، السطح `#0B1728`/`#102035`، الحدود `Colors.white10`، والتركيز الأساسي `#00F5D4` أو `#0071E3`.
|
||||
- الخط من خط النظام SF Arabic/Geeza Pro؛ لا يعتمد المختبر على تنزيل خط خارجي.
|
||||
- أقل هدف لمس 44×44، وتباين النص الأساسي 4.5:1، وتسمية دلالية لكل تحكم وقراءة.
|
||||
- اللون ليس الدليل الوحيد: كل حالة لها شكل/رمز/نص، مع دعم RTL وترتيب قراءة صحيح لقارئ الشاشة.
|
||||
- يوفر وصفاً نصياً متجدداً للمشهد للطالب الذي لا يرى الرسم، ويعلن التغيرات المهمة دون إغراق قارئ الشاشة.
|
||||
|
||||
## 10. بنية Flutter المطلوبة
|
||||
|
||||
- ملف مستقل باسم مشتق من هوية الدرس، وWidget من نوع `StatefulWidget`.
|
||||
- يستخدم `SaqelLabScaffold` بعد تنقيحه ليحمل هوية الدرس وإصدار الحزمة، لا مساراً نصياً مختلقاً.
|
||||
- `CustomPainter` للرسم، وطبقة domain مستقلة للحساب، وcontroller للحالة، واختبارات widget للمقاسين 390×844 و1024×768.
|
||||
- التسجيل في `labs_registry.dart` يكون بمفتاح `curriculum_lesson_id` صريح وارد من الخادم فقط. ممنوع fallback حسب المبحث أو كلمات العنوان.
|
||||
- المختبر غير المتاح في حزمة منشورة لا يظهر في تجربة الطالب؛ يمكن معاينته فقط في بيئة التأليف المعلّمة بوضوح.
|
||||
|
||||
## 11. سيناريوهات التحقق الإلزامية
|
||||
|
||||
- فتح الدرس الصحيح يعرض هذا المختبر فقط بعد تحقق الحزمة المنشورة والصلاحية.
|
||||
- درس يحمل عنواناً مشابهاً وهوية مختلفة لا يفتح هذا المختبر.
|
||||
- الهاتف واللوحي لا يعانيان overflow، والكانفاس يبقى مرئياً أثناء التحكم.
|
||||
- إعادة الضبط تعيد كل المتغيرات والمؤقتات ومحطات الفهم إلى الحالة الابتدائية.
|
||||
- كل حد أدنى/أقصى يعطي رسماً وقراءة متطابقين ولا ينتج NaN/Infinity.
|
||||
- تقليل الحركة وقارئ الشاشة والتنقل بلوحة المفاتيح يعملون.
|
||||
- لا توجد صور خارجية، بيانات ديمو، أرقام نجاح، أو ادعاء إتقان محلي.
|
||||
|
||||
## 12. تعريف الاكتمال
|
||||
|
||||
- [ ] راجع مختص المادة النتاجات والمحاور والمصطلحات والأمثلة.
|
||||
- [ ] وثقت المعادلات/العلاقات مع الصفحات أو الأقسام.
|
||||
- [ ] اعتمد سيناريو اللعب وأخطاء الطلاب الشائعة.
|
||||
- [ ] نُفذت المحاكاة المتجهية والتحكم المتجاوب.
|
||||
- [ ] نُفذت محطات الفهم بأدلة وتعليلات وتلميحات.
|
||||
- [ ] نجحت اختبارات domain وwidget والوصول والحالات الحدية.
|
||||
- [ ] رُبط المختبر بحزمة خادم منشورة عبر هوية وإصدار صريحين.
|
||||
- [ ] راجع الطالب/المعلم التجربة ولم تُسجل كمكتملة قبل الدليل.
|
||||
@@ -0,0 +1,135 @@
|
||||
---
|
||||
spec_type: curriculum_virtual_lab
|
||||
spec_version: 1.0.0
|
||||
status: draft_requires_academic_review
|
||||
curriculum_version: jordan-grade10-2026-source-review
|
||||
curriculum_lesson_id: arabic_10_semester_2_unit_06_lesson_02
|
||||
grade_key: grade_10
|
||||
subject_key: arabic_10
|
||||
semester_key: semester_2
|
||||
unit_key: unit_06
|
||||
lesson_key: lesson_02
|
||||
source_markdown: grade_10/arabic_10/semester_2/unit_06/lesson_02.md
|
||||
source_extraction_review_status: needs_human_review
|
||||
---
|
||||
|
||||
# مواصفة المختبر التفاعلي — الدرس الثاني: أتحدثُ بطالقةٍ (المناقشة الجماعية الحرة)
|
||||
|
||||
> **حالة الملف:** مسودة هندسية مشتقة من ملف القبول المنهجي. لا تُعرض للطالب ولا تُسجّل كمختبر منشور قبل مراجعة المحتوى، وربطها بحزمة نشر خادمية معتمدة وإصدار أصل واضح.
|
||||
|
||||
## 1. بطاقة الارتباط المنهجي
|
||||
|
||||
- المبحث: اللغة العربية
|
||||
- هوية الدرس: `arabic_10_semester_2_unit_06_lesson_02`
|
||||
- المصدر الوحيد لهذه المسودة: `grade_10/arabic_10/semester_2/unit_06/lesson_02.md`
|
||||
- صفحات المصدر المسجلة: 13, 14, 15, 16, 17
|
||||
- حالة مراجعة الاستخراج: `needs_human_review`
|
||||
- يمنع الربط بعنوان الدرس أو `lesson_01` وحده؛ الربط التشغيلي يكون بهوية الدرس وإصدار الحزمة المنشورة.
|
||||
|
||||
## 2. ما الذي يجب أن يفهمه الطالب؟
|
||||
|
||||
### النتاجات المستخرجة
|
||||
|
||||
- يحددها المراجع الأكاديمي من المصدر قبل التنفيذ؛ لا تكفي صياغة عنوان الدرس.
|
||||
|
||||
### محاور الدرس التي يجب تمثيلها
|
||||
|
||||
- الدرس الثاني: أتحدثُ بطالقةٍ (المناقشة الجماعية الحرة)
|
||||
|
||||
إذا كانت النتاجات أعلاه عامة أو ناقصة، يستخرج المراجع الأكاديمي نتاجات قابلة للقياس من الصفحات المشار إليها قبل البرمجة. لا يخترع المطور قانوناً أو تعريفاً أو ترجمة أو مثالاً غير مثبت في المصدر.
|
||||
|
||||
## 3. فكرة اللعبة التعليمية
|
||||
|
||||
- **الاستعارة البصرية:** مسرح نصي تفاعلي يفكك البنية والمعنى والإيقاع بصرياً.
|
||||
- **حلقة اللعب:** رتّب عناصر النص أو اللغة واستدل على العلاقة.
|
||||
- **المهمة الأولى — اكتشف:** يبدأ الطالب بمشهد واضح وتعليمة واحدة، ويتنبأ بما سيحدث قبل لمس التحكم.
|
||||
- **المهمة الثانية — جرّب:** يغيّر متغيراً واحداً فقط، ويرى أثره فوراً في الرسم والقراءة والتفسير المختصر.
|
||||
- **المهمة الثالثة — ابنِ:** يرتب العناصر أو يضبط القيم للوصول إلى حالة هدف مأخوذة من مفهوم الدرس.
|
||||
- **المهمة الرابعة — فسّر:** يختار تفسيراً للدليل المرئي، لا تعريفاً محفوظاً.
|
||||
- **المهمة الخامسة — انقل الفهم:** يواجه حالة جديدة بالقانون أو العلاقة نفسها مع قيم/سياق مختلفين.
|
||||
|
||||
لا توجد نقاط أو كؤوس لمجرد النقر. المكافأة البصرية تُمنح عند إظهار دليل فهم، ولا تعني إتقاناً معتمداً؛ الإتقان يُحتسب على الخادم وفق سياسة منفصلة.
|
||||
|
||||
## 4. المشهد المتحرك
|
||||
|
||||
- يرسم بالكامل عبر Flutter `CustomPainter` دون صور PNG/SVG/WebView.
|
||||
- يحول كل محور في قسم «محاور الدرس» إلى طبقة مرئية قابلة للتشغيل والإيقاف.
|
||||
- يعرض السبب والنتيجة في اللحظة نفسها: المتغير المتحكم، أثره في المشهد، والقراءة الرقمية بوحدتها إن وجدت.
|
||||
- تبقى مساحة التجربة ظاهرة أثناء تعديل القيم. على العرض الواسع: كانفاس بمرونة 2 ولوحة تحكم 1 بعرض 320–360px. على الهاتف: كانفاس 300–340px ثم تحكم قابل للتمرير.
|
||||
- الحركة مستمرة عند الحاجة فقط، ويفضل 60fps مع دعم شاشات 120Hz من دون ربط صحة الحساب بعدد الإطارات.
|
||||
- عند تفعيل تقليل الحركة في النظام، تستبدل الحركة المستمرة بانتقالات قصيرة ولقطات حالة مفهومة.
|
||||
|
||||
## 5. نموذج الحالة والتحكم
|
||||
|
||||
ينشئ المطور بعد مراجعة المصدر جدول متغيرات صريحاً:
|
||||
|
||||
| المتغير | معناه في الدرس | النوع/الوحدة | المجال المسموح | القيمة الابتدائية | أثره المرئي |
|
||||
|---|---|---|---|---|---|
|
||||
| `focusParameter` | العامل الرئيس المثبت في المصدر | يحدد من الدرس | يحدد من أمثلة المصدر | حالة محايدة | يغير طبقة واحدة بوضوح |
|
||||
| `comparisonParameter` | عامل المقارنة أو الحالة الثانية | يحدد من الدرس | يحدد من المصدر | مغلق | يظهر فرقاً قابلاً للتفسير |
|
||||
| `timeOrStep` | الزمن أو ترتيب الخطوات عند انطباقه | ثانية/خطوة | بحسب الظاهرة | 0 | يحرك العملية دون تغيير النتيجة حسابياً |
|
||||
|
||||
لوحة التحكم لا تتجاوز ثلاثة عناصر أساسية في المهمة الواحدة. الخيارات المتقدمة تظهر تدريجياً بعد نجاح الطالب في اكتشاف العلاقة الأولى.
|
||||
|
||||
## 6. قواعد المحاكاة والدقة
|
||||
|
||||
- كل معادلة أو ترتيب أو علاقة سببية تُسجل هنا مع مرجع الصفحة/القسم قبل كتابتها في Dart.
|
||||
- تفصل طبقة الحسابات عن `CustomPainter`، وتغطى باختبارات وحدات للقيم الحدية والحالات غير الصالحة.
|
||||
- لا تستخدم عشوائية تؤثر في الإجابة إلا ببذرة محفوظة وقيم ضمن نطاق المصدر.
|
||||
- لا تعرض قيماً علمية أو تاريخية أو لغوية تقريبية بوصفها دقيقة. عند غياب الدليل تعرض «يحتاج مراجعة» في بيئة التأليف فقط.
|
||||
- النص والكانفاس ولوحة التحكم تتشارك الحالة نفسها؛ لا يجوز أن تخالف القراءة الرقمية الرسم.
|
||||
|
||||
## 7. محطات فحص الفهم
|
||||
|
||||
تنفذ عبر `LabCheckpointCallback` بعد ظهور الدليل للطالب، وبالترتيب التالي:
|
||||
|
||||
1. **توقّع:** ما الحالة المتوقعة قبل تشغيل التغيير؟ الخيارات تمثل أخطاء شائعة مثبتة أو يراجعها المعلم.
|
||||
2. **استدلال:** أي دليل مرئي/عددي يثبت ما حدث؟ لا يُسأل الطالب قبل ظهور الدليل.
|
||||
3. **تفسير:** لماذا تغيّرت النتيجة عند تغيير العامل المحدد؟
|
||||
4. **نقل:** ماذا يحدث في حالة جديدة تستخدم المفهوم نفسه؟
|
||||
|
||||
لكل محطة يسجل المنفذ: `checkpoint_id`، المحور المنهجي، شرط الإطلاق، السؤال، الخيارات، الإجابة وتعليلها، مرجع الصفحة/القسم، والتلميح. لا تُرسل الإجابة الصحيحة مسبقاً إلى العميل عندما تدخل النتيجة في الإتقان.
|
||||
|
||||
## 8. التغذية الراجعة ومنع التخمين
|
||||
|
||||
- الإجابة الخاطئة لا تعيد المشهد عشوائياً؛ تضيء المتغير والدليل المرتبطين بالخطأ وتقدم تلميحاً واحداً.
|
||||
- بعد محاولتين، تفكك المهمة إلى خطوة أصغر ثم تعيد حالة نقل مختلفة.
|
||||
- يمنع زر «التالي» حتى يلمس الطالب المتغير المقصود ويرى الأثر، لكن يتوفر دائماً زر إعادة الضبط والخروج.
|
||||
- لا تستخدم مؤثر نجاح مبالغاً فيه؛ اهتزاز خفيف وصوت اختياري وحركة قصيرة تكفي.
|
||||
|
||||
## 9. النظام البصري وإمكانية الوصول
|
||||
|
||||
- الخلفية `#07111F`، السطح `#0B1728`/`#102035`، الحدود `Colors.white10`، والتركيز الأساسي `#00F5D4` أو `#0071E3`.
|
||||
- الخط من خط النظام SF Arabic/Geeza Pro؛ لا يعتمد المختبر على تنزيل خط خارجي.
|
||||
- أقل هدف لمس 44×44، وتباين النص الأساسي 4.5:1، وتسمية دلالية لكل تحكم وقراءة.
|
||||
- اللون ليس الدليل الوحيد: كل حالة لها شكل/رمز/نص، مع دعم RTL وترتيب قراءة صحيح لقارئ الشاشة.
|
||||
- يوفر وصفاً نصياً متجدداً للمشهد للطالب الذي لا يرى الرسم، ويعلن التغيرات المهمة دون إغراق قارئ الشاشة.
|
||||
|
||||
## 10. بنية Flutter المطلوبة
|
||||
|
||||
- ملف مستقل باسم مشتق من هوية الدرس، وWidget من نوع `StatefulWidget`.
|
||||
- يستخدم `SaqelLabScaffold` بعد تنقيحه ليحمل هوية الدرس وإصدار الحزمة، لا مساراً نصياً مختلقاً.
|
||||
- `CustomPainter` للرسم، وطبقة domain مستقلة للحساب، وcontroller للحالة، واختبارات widget للمقاسين 390×844 و1024×768.
|
||||
- التسجيل في `labs_registry.dart` يكون بمفتاح `curriculum_lesson_id` صريح وارد من الخادم فقط. ممنوع fallback حسب المبحث أو كلمات العنوان.
|
||||
- المختبر غير المتاح في حزمة منشورة لا يظهر في تجربة الطالب؛ يمكن معاينته فقط في بيئة التأليف المعلّمة بوضوح.
|
||||
|
||||
## 11. سيناريوهات التحقق الإلزامية
|
||||
|
||||
- فتح الدرس الصحيح يعرض هذا المختبر فقط بعد تحقق الحزمة المنشورة والصلاحية.
|
||||
- درس يحمل عنواناً مشابهاً وهوية مختلفة لا يفتح هذا المختبر.
|
||||
- الهاتف واللوحي لا يعانيان overflow، والكانفاس يبقى مرئياً أثناء التحكم.
|
||||
- إعادة الضبط تعيد كل المتغيرات والمؤقتات ومحطات الفهم إلى الحالة الابتدائية.
|
||||
- كل حد أدنى/أقصى يعطي رسماً وقراءة متطابقين ولا ينتج NaN/Infinity.
|
||||
- تقليل الحركة وقارئ الشاشة والتنقل بلوحة المفاتيح يعملون.
|
||||
- لا توجد صور خارجية، بيانات ديمو، أرقام نجاح، أو ادعاء إتقان محلي.
|
||||
|
||||
## 12. تعريف الاكتمال
|
||||
|
||||
- [ ] راجع مختص المادة النتاجات والمحاور والمصطلحات والأمثلة.
|
||||
- [ ] وثقت المعادلات/العلاقات مع الصفحات أو الأقسام.
|
||||
- [ ] اعتمد سيناريو اللعب وأخطاء الطلاب الشائعة.
|
||||
- [ ] نُفذت المحاكاة المتجهية والتحكم المتجاوب.
|
||||
- [ ] نُفذت محطات الفهم بأدلة وتعليلات وتلميحات.
|
||||
- [ ] نجحت اختبارات domain وwidget والوصول والحالات الحدية.
|
||||
- [ ] رُبط المختبر بحزمة خادم منشورة عبر هوية وإصدار صريحين.
|
||||
- [ ] راجع الطالب/المعلم التجربة ولم تُسجل كمكتملة قبل الدليل.
|
||||
@@ -0,0 +1,135 @@
|
||||
---
|
||||
spec_type: curriculum_virtual_lab
|
||||
spec_version: 1.0.0
|
||||
status: draft_requires_academic_review
|
||||
curriculum_version: jordan-grade10-2026-source-review
|
||||
curriculum_lesson_id: arabic_10_semester_2_unit_06_lesson_03
|
||||
grade_key: grade_10
|
||||
subject_key: arabic_10
|
||||
semester_key: semester_2
|
||||
unit_key: unit_06
|
||||
lesson_key: lesson_03
|
||||
source_markdown: grade_10/arabic_10/semester_2/unit_06/lesson_03.md
|
||||
source_extraction_review_status: needs_human_review
|
||||
---
|
||||
|
||||
# مواصفة المختبر التفاعلي — الدرس الثالث: أقرأُ بطالقةٍ وفهمٍ (سينية أحمد شوقي في الحنين للوطن)
|
||||
|
||||
> **حالة الملف:** مسودة هندسية مشتقة من ملف القبول المنهجي. لا تُعرض للطالب ولا تُسجّل كمختبر منشور قبل مراجعة المحتوى، وربطها بحزمة نشر خادمية معتمدة وإصدار أصل واضح.
|
||||
|
||||
## 1. بطاقة الارتباط المنهجي
|
||||
|
||||
- المبحث: اللغة العربية
|
||||
- هوية الدرس: `arabic_10_semester_2_unit_06_lesson_03`
|
||||
- المصدر الوحيد لهذه المسودة: `grade_10/arabic_10/semester_2/unit_06/lesson_03.md`
|
||||
- صفحات المصدر المسجلة: 18, 19, 20
|
||||
- حالة مراجعة الاستخراج: `needs_human_review`
|
||||
- يمنع الربط بعنوان الدرس أو `lesson_01` وحده؛ الربط التشغيلي يكون بهوية الدرس وإصدار الحزمة المنشورة.
|
||||
|
||||
## 2. ما الذي يجب أن يفهمه الطالب؟
|
||||
|
||||
### النتاجات المستخرجة
|
||||
|
||||
- يحددها المراجع الأكاديمي من المصدر قبل التنفيذ؛ لا تكفي صياغة عنوان الدرس.
|
||||
|
||||
### محاور الدرس التي يجب تمثيلها
|
||||
|
||||
- الدرس الثالث: أقرأُ بطالقةٍ وفهمٍ (سينية أحمد شوقي في الحنين للوطن)
|
||||
|
||||
إذا كانت النتاجات أعلاه عامة أو ناقصة، يستخرج المراجع الأكاديمي نتاجات قابلة للقياس من الصفحات المشار إليها قبل البرمجة. لا يخترع المطور قانوناً أو تعريفاً أو ترجمة أو مثالاً غير مثبت في المصدر.
|
||||
|
||||
## 3. فكرة اللعبة التعليمية
|
||||
|
||||
- **الاستعارة البصرية:** مسرح نصي تفاعلي يفكك البنية والمعنى والإيقاع بصرياً.
|
||||
- **حلقة اللعب:** رتّب عناصر النص أو اللغة واستدل على العلاقة.
|
||||
- **المهمة الأولى — اكتشف:** يبدأ الطالب بمشهد واضح وتعليمة واحدة، ويتنبأ بما سيحدث قبل لمس التحكم.
|
||||
- **المهمة الثانية — جرّب:** يغيّر متغيراً واحداً فقط، ويرى أثره فوراً في الرسم والقراءة والتفسير المختصر.
|
||||
- **المهمة الثالثة — ابنِ:** يرتب العناصر أو يضبط القيم للوصول إلى حالة هدف مأخوذة من مفهوم الدرس.
|
||||
- **المهمة الرابعة — فسّر:** يختار تفسيراً للدليل المرئي، لا تعريفاً محفوظاً.
|
||||
- **المهمة الخامسة — انقل الفهم:** يواجه حالة جديدة بالقانون أو العلاقة نفسها مع قيم/سياق مختلفين.
|
||||
|
||||
لا توجد نقاط أو كؤوس لمجرد النقر. المكافأة البصرية تُمنح عند إظهار دليل فهم، ولا تعني إتقاناً معتمداً؛ الإتقان يُحتسب على الخادم وفق سياسة منفصلة.
|
||||
|
||||
## 4. المشهد المتحرك
|
||||
|
||||
- يرسم بالكامل عبر Flutter `CustomPainter` دون صور PNG/SVG/WebView.
|
||||
- يحول كل محور في قسم «محاور الدرس» إلى طبقة مرئية قابلة للتشغيل والإيقاف.
|
||||
- يعرض السبب والنتيجة في اللحظة نفسها: المتغير المتحكم، أثره في المشهد، والقراءة الرقمية بوحدتها إن وجدت.
|
||||
- تبقى مساحة التجربة ظاهرة أثناء تعديل القيم. على العرض الواسع: كانفاس بمرونة 2 ولوحة تحكم 1 بعرض 320–360px. على الهاتف: كانفاس 300–340px ثم تحكم قابل للتمرير.
|
||||
- الحركة مستمرة عند الحاجة فقط، ويفضل 60fps مع دعم شاشات 120Hz من دون ربط صحة الحساب بعدد الإطارات.
|
||||
- عند تفعيل تقليل الحركة في النظام، تستبدل الحركة المستمرة بانتقالات قصيرة ولقطات حالة مفهومة.
|
||||
|
||||
## 5. نموذج الحالة والتحكم
|
||||
|
||||
ينشئ المطور بعد مراجعة المصدر جدول متغيرات صريحاً:
|
||||
|
||||
| المتغير | معناه في الدرس | النوع/الوحدة | المجال المسموح | القيمة الابتدائية | أثره المرئي |
|
||||
|---|---|---|---|---|---|
|
||||
| `focusParameter` | العامل الرئيس المثبت في المصدر | يحدد من الدرس | يحدد من أمثلة المصدر | حالة محايدة | يغير طبقة واحدة بوضوح |
|
||||
| `comparisonParameter` | عامل المقارنة أو الحالة الثانية | يحدد من الدرس | يحدد من المصدر | مغلق | يظهر فرقاً قابلاً للتفسير |
|
||||
| `timeOrStep` | الزمن أو ترتيب الخطوات عند انطباقه | ثانية/خطوة | بحسب الظاهرة | 0 | يحرك العملية دون تغيير النتيجة حسابياً |
|
||||
|
||||
لوحة التحكم لا تتجاوز ثلاثة عناصر أساسية في المهمة الواحدة. الخيارات المتقدمة تظهر تدريجياً بعد نجاح الطالب في اكتشاف العلاقة الأولى.
|
||||
|
||||
## 6. قواعد المحاكاة والدقة
|
||||
|
||||
- كل معادلة أو ترتيب أو علاقة سببية تُسجل هنا مع مرجع الصفحة/القسم قبل كتابتها في Dart.
|
||||
- تفصل طبقة الحسابات عن `CustomPainter`، وتغطى باختبارات وحدات للقيم الحدية والحالات غير الصالحة.
|
||||
- لا تستخدم عشوائية تؤثر في الإجابة إلا ببذرة محفوظة وقيم ضمن نطاق المصدر.
|
||||
- لا تعرض قيماً علمية أو تاريخية أو لغوية تقريبية بوصفها دقيقة. عند غياب الدليل تعرض «يحتاج مراجعة» في بيئة التأليف فقط.
|
||||
- النص والكانفاس ولوحة التحكم تتشارك الحالة نفسها؛ لا يجوز أن تخالف القراءة الرقمية الرسم.
|
||||
|
||||
## 7. محطات فحص الفهم
|
||||
|
||||
تنفذ عبر `LabCheckpointCallback` بعد ظهور الدليل للطالب، وبالترتيب التالي:
|
||||
|
||||
1. **توقّع:** ما الحالة المتوقعة قبل تشغيل التغيير؟ الخيارات تمثل أخطاء شائعة مثبتة أو يراجعها المعلم.
|
||||
2. **استدلال:** أي دليل مرئي/عددي يثبت ما حدث؟ لا يُسأل الطالب قبل ظهور الدليل.
|
||||
3. **تفسير:** لماذا تغيّرت النتيجة عند تغيير العامل المحدد؟
|
||||
4. **نقل:** ماذا يحدث في حالة جديدة تستخدم المفهوم نفسه؟
|
||||
|
||||
لكل محطة يسجل المنفذ: `checkpoint_id`، المحور المنهجي، شرط الإطلاق، السؤال، الخيارات، الإجابة وتعليلها، مرجع الصفحة/القسم، والتلميح. لا تُرسل الإجابة الصحيحة مسبقاً إلى العميل عندما تدخل النتيجة في الإتقان.
|
||||
|
||||
## 8. التغذية الراجعة ومنع التخمين
|
||||
|
||||
- الإجابة الخاطئة لا تعيد المشهد عشوائياً؛ تضيء المتغير والدليل المرتبطين بالخطأ وتقدم تلميحاً واحداً.
|
||||
- بعد محاولتين، تفكك المهمة إلى خطوة أصغر ثم تعيد حالة نقل مختلفة.
|
||||
- يمنع زر «التالي» حتى يلمس الطالب المتغير المقصود ويرى الأثر، لكن يتوفر دائماً زر إعادة الضبط والخروج.
|
||||
- لا تستخدم مؤثر نجاح مبالغاً فيه؛ اهتزاز خفيف وصوت اختياري وحركة قصيرة تكفي.
|
||||
|
||||
## 9. النظام البصري وإمكانية الوصول
|
||||
|
||||
- الخلفية `#07111F`، السطح `#0B1728`/`#102035`، الحدود `Colors.white10`، والتركيز الأساسي `#00F5D4` أو `#0071E3`.
|
||||
- الخط من خط النظام SF Arabic/Geeza Pro؛ لا يعتمد المختبر على تنزيل خط خارجي.
|
||||
- أقل هدف لمس 44×44، وتباين النص الأساسي 4.5:1، وتسمية دلالية لكل تحكم وقراءة.
|
||||
- اللون ليس الدليل الوحيد: كل حالة لها شكل/رمز/نص، مع دعم RTL وترتيب قراءة صحيح لقارئ الشاشة.
|
||||
- يوفر وصفاً نصياً متجدداً للمشهد للطالب الذي لا يرى الرسم، ويعلن التغيرات المهمة دون إغراق قارئ الشاشة.
|
||||
|
||||
## 10. بنية Flutter المطلوبة
|
||||
|
||||
- ملف مستقل باسم مشتق من هوية الدرس، وWidget من نوع `StatefulWidget`.
|
||||
- يستخدم `SaqelLabScaffold` بعد تنقيحه ليحمل هوية الدرس وإصدار الحزمة، لا مساراً نصياً مختلقاً.
|
||||
- `CustomPainter` للرسم، وطبقة domain مستقلة للحساب، وcontroller للحالة، واختبارات widget للمقاسين 390×844 و1024×768.
|
||||
- التسجيل في `labs_registry.dart` يكون بمفتاح `curriculum_lesson_id` صريح وارد من الخادم فقط. ممنوع fallback حسب المبحث أو كلمات العنوان.
|
||||
- المختبر غير المتاح في حزمة منشورة لا يظهر في تجربة الطالب؛ يمكن معاينته فقط في بيئة التأليف المعلّمة بوضوح.
|
||||
|
||||
## 11. سيناريوهات التحقق الإلزامية
|
||||
|
||||
- فتح الدرس الصحيح يعرض هذا المختبر فقط بعد تحقق الحزمة المنشورة والصلاحية.
|
||||
- درس يحمل عنواناً مشابهاً وهوية مختلفة لا يفتح هذا المختبر.
|
||||
- الهاتف واللوحي لا يعانيان overflow، والكانفاس يبقى مرئياً أثناء التحكم.
|
||||
- إعادة الضبط تعيد كل المتغيرات والمؤقتات ومحطات الفهم إلى الحالة الابتدائية.
|
||||
- كل حد أدنى/أقصى يعطي رسماً وقراءة متطابقين ولا ينتج NaN/Infinity.
|
||||
- تقليل الحركة وقارئ الشاشة والتنقل بلوحة المفاتيح يعملون.
|
||||
- لا توجد صور خارجية، بيانات ديمو، أرقام نجاح، أو ادعاء إتقان محلي.
|
||||
|
||||
## 12. تعريف الاكتمال
|
||||
|
||||
- [ ] راجع مختص المادة النتاجات والمحاور والمصطلحات والأمثلة.
|
||||
- [ ] وثقت المعادلات/العلاقات مع الصفحات أو الأقسام.
|
||||
- [ ] اعتمد سيناريو اللعب وأخطاء الطلاب الشائعة.
|
||||
- [ ] نُفذت المحاكاة المتجهية والتحكم المتجاوب.
|
||||
- [ ] نُفذت محطات الفهم بأدلة وتعليلات وتلميحات.
|
||||
- [ ] نجحت اختبارات domain وwidget والوصول والحالات الحدية.
|
||||
- [ ] رُبط المختبر بحزمة خادم منشورة عبر هوية وإصدار صريحين.
|
||||
- [ ] راجع الطالب/المعلم التجربة ولم تُسجل كمكتملة قبل الدليل.
|
||||
@@ -0,0 +1,135 @@
|
||||
---
|
||||
spec_type: curriculum_virtual_lab
|
||||
spec_version: 1.0.0
|
||||
status: draft_requires_academic_review
|
||||
curriculum_version: jordan-grade10-2026-source-review
|
||||
curriculum_lesson_id: arabic_10_semester_2_unit_06_lesson_04
|
||||
grade_key: grade_10
|
||||
subject_key: arabic_10
|
||||
semester_key: semester_2
|
||||
unit_key: unit_06
|
||||
lesson_key: lesson_04
|
||||
source_markdown: grade_10/arabic_10/semester_2/unit_06/lesson_04.md
|
||||
source_extraction_review_status: needs_human_review
|
||||
---
|
||||
|
||||
# مواصفة المختبر التفاعلي — الدرس الرابع: أكتبُ محتوى (مقال تحليلي عن تجربة شعورية)
|
||||
|
||||
> **حالة الملف:** مسودة هندسية مشتقة من ملف القبول المنهجي. لا تُعرض للطالب ولا تُسجّل كمختبر منشور قبل مراجعة المحتوى، وربطها بحزمة نشر خادمية معتمدة وإصدار أصل واضح.
|
||||
|
||||
## 1. بطاقة الارتباط المنهجي
|
||||
|
||||
- المبحث: اللغة العربية
|
||||
- هوية الدرس: `arabic_10_semester_2_unit_06_lesson_04`
|
||||
- المصدر الوحيد لهذه المسودة: `grade_10/arabic_10/semester_2/unit_06/lesson_04.md`
|
||||
- صفحات المصدر المسجلة: 21, 22, 23, 24
|
||||
- حالة مراجعة الاستخراج: `needs_human_review`
|
||||
- يمنع الربط بعنوان الدرس أو `lesson_01` وحده؛ الربط التشغيلي يكون بهوية الدرس وإصدار الحزمة المنشورة.
|
||||
|
||||
## 2. ما الذي يجب أن يفهمه الطالب؟
|
||||
|
||||
### النتاجات المستخرجة
|
||||
|
||||
- يحددها المراجع الأكاديمي من المصدر قبل التنفيذ؛ لا تكفي صياغة عنوان الدرس.
|
||||
|
||||
### محاور الدرس التي يجب تمثيلها
|
||||
|
||||
- الدرس الرابع: أكتبُ محتوى (مقال تحليلي عن تجربة شعورية)
|
||||
|
||||
إذا كانت النتاجات أعلاه عامة أو ناقصة، يستخرج المراجع الأكاديمي نتاجات قابلة للقياس من الصفحات المشار إليها قبل البرمجة. لا يخترع المطور قانوناً أو تعريفاً أو ترجمة أو مثالاً غير مثبت في المصدر.
|
||||
|
||||
## 3. فكرة اللعبة التعليمية
|
||||
|
||||
- **الاستعارة البصرية:** مسرح نصي تفاعلي يفكك البنية والمعنى والإيقاع بصرياً.
|
||||
- **حلقة اللعب:** رتّب عناصر النص أو اللغة واستدل على العلاقة.
|
||||
- **المهمة الأولى — اكتشف:** يبدأ الطالب بمشهد واضح وتعليمة واحدة، ويتنبأ بما سيحدث قبل لمس التحكم.
|
||||
- **المهمة الثانية — جرّب:** يغيّر متغيراً واحداً فقط، ويرى أثره فوراً في الرسم والقراءة والتفسير المختصر.
|
||||
- **المهمة الثالثة — ابنِ:** يرتب العناصر أو يضبط القيم للوصول إلى حالة هدف مأخوذة من مفهوم الدرس.
|
||||
- **المهمة الرابعة — فسّر:** يختار تفسيراً للدليل المرئي، لا تعريفاً محفوظاً.
|
||||
- **المهمة الخامسة — انقل الفهم:** يواجه حالة جديدة بالقانون أو العلاقة نفسها مع قيم/سياق مختلفين.
|
||||
|
||||
لا توجد نقاط أو كؤوس لمجرد النقر. المكافأة البصرية تُمنح عند إظهار دليل فهم، ولا تعني إتقاناً معتمداً؛ الإتقان يُحتسب على الخادم وفق سياسة منفصلة.
|
||||
|
||||
## 4. المشهد المتحرك
|
||||
|
||||
- يرسم بالكامل عبر Flutter `CustomPainter` دون صور PNG/SVG/WebView.
|
||||
- يحول كل محور في قسم «محاور الدرس» إلى طبقة مرئية قابلة للتشغيل والإيقاف.
|
||||
- يعرض السبب والنتيجة في اللحظة نفسها: المتغير المتحكم، أثره في المشهد، والقراءة الرقمية بوحدتها إن وجدت.
|
||||
- تبقى مساحة التجربة ظاهرة أثناء تعديل القيم. على العرض الواسع: كانفاس بمرونة 2 ولوحة تحكم 1 بعرض 320–360px. على الهاتف: كانفاس 300–340px ثم تحكم قابل للتمرير.
|
||||
- الحركة مستمرة عند الحاجة فقط، ويفضل 60fps مع دعم شاشات 120Hz من دون ربط صحة الحساب بعدد الإطارات.
|
||||
- عند تفعيل تقليل الحركة في النظام، تستبدل الحركة المستمرة بانتقالات قصيرة ولقطات حالة مفهومة.
|
||||
|
||||
## 5. نموذج الحالة والتحكم
|
||||
|
||||
ينشئ المطور بعد مراجعة المصدر جدول متغيرات صريحاً:
|
||||
|
||||
| المتغير | معناه في الدرس | النوع/الوحدة | المجال المسموح | القيمة الابتدائية | أثره المرئي |
|
||||
|---|---|---|---|---|---|
|
||||
| `focusParameter` | العامل الرئيس المثبت في المصدر | يحدد من الدرس | يحدد من أمثلة المصدر | حالة محايدة | يغير طبقة واحدة بوضوح |
|
||||
| `comparisonParameter` | عامل المقارنة أو الحالة الثانية | يحدد من الدرس | يحدد من المصدر | مغلق | يظهر فرقاً قابلاً للتفسير |
|
||||
| `timeOrStep` | الزمن أو ترتيب الخطوات عند انطباقه | ثانية/خطوة | بحسب الظاهرة | 0 | يحرك العملية دون تغيير النتيجة حسابياً |
|
||||
|
||||
لوحة التحكم لا تتجاوز ثلاثة عناصر أساسية في المهمة الواحدة. الخيارات المتقدمة تظهر تدريجياً بعد نجاح الطالب في اكتشاف العلاقة الأولى.
|
||||
|
||||
## 6. قواعد المحاكاة والدقة
|
||||
|
||||
- كل معادلة أو ترتيب أو علاقة سببية تُسجل هنا مع مرجع الصفحة/القسم قبل كتابتها في Dart.
|
||||
- تفصل طبقة الحسابات عن `CustomPainter`، وتغطى باختبارات وحدات للقيم الحدية والحالات غير الصالحة.
|
||||
- لا تستخدم عشوائية تؤثر في الإجابة إلا ببذرة محفوظة وقيم ضمن نطاق المصدر.
|
||||
- لا تعرض قيماً علمية أو تاريخية أو لغوية تقريبية بوصفها دقيقة. عند غياب الدليل تعرض «يحتاج مراجعة» في بيئة التأليف فقط.
|
||||
- النص والكانفاس ولوحة التحكم تتشارك الحالة نفسها؛ لا يجوز أن تخالف القراءة الرقمية الرسم.
|
||||
|
||||
## 7. محطات فحص الفهم
|
||||
|
||||
تنفذ عبر `LabCheckpointCallback` بعد ظهور الدليل للطالب، وبالترتيب التالي:
|
||||
|
||||
1. **توقّع:** ما الحالة المتوقعة قبل تشغيل التغيير؟ الخيارات تمثل أخطاء شائعة مثبتة أو يراجعها المعلم.
|
||||
2. **استدلال:** أي دليل مرئي/عددي يثبت ما حدث؟ لا يُسأل الطالب قبل ظهور الدليل.
|
||||
3. **تفسير:** لماذا تغيّرت النتيجة عند تغيير العامل المحدد؟
|
||||
4. **نقل:** ماذا يحدث في حالة جديدة تستخدم المفهوم نفسه؟
|
||||
|
||||
لكل محطة يسجل المنفذ: `checkpoint_id`، المحور المنهجي، شرط الإطلاق، السؤال، الخيارات، الإجابة وتعليلها، مرجع الصفحة/القسم، والتلميح. لا تُرسل الإجابة الصحيحة مسبقاً إلى العميل عندما تدخل النتيجة في الإتقان.
|
||||
|
||||
## 8. التغذية الراجعة ومنع التخمين
|
||||
|
||||
- الإجابة الخاطئة لا تعيد المشهد عشوائياً؛ تضيء المتغير والدليل المرتبطين بالخطأ وتقدم تلميحاً واحداً.
|
||||
- بعد محاولتين، تفكك المهمة إلى خطوة أصغر ثم تعيد حالة نقل مختلفة.
|
||||
- يمنع زر «التالي» حتى يلمس الطالب المتغير المقصود ويرى الأثر، لكن يتوفر دائماً زر إعادة الضبط والخروج.
|
||||
- لا تستخدم مؤثر نجاح مبالغاً فيه؛ اهتزاز خفيف وصوت اختياري وحركة قصيرة تكفي.
|
||||
|
||||
## 9. النظام البصري وإمكانية الوصول
|
||||
|
||||
- الخلفية `#07111F`، السطح `#0B1728`/`#102035`، الحدود `Colors.white10`، والتركيز الأساسي `#00F5D4` أو `#0071E3`.
|
||||
- الخط من خط النظام SF Arabic/Geeza Pro؛ لا يعتمد المختبر على تنزيل خط خارجي.
|
||||
- أقل هدف لمس 44×44، وتباين النص الأساسي 4.5:1، وتسمية دلالية لكل تحكم وقراءة.
|
||||
- اللون ليس الدليل الوحيد: كل حالة لها شكل/رمز/نص، مع دعم RTL وترتيب قراءة صحيح لقارئ الشاشة.
|
||||
- يوفر وصفاً نصياً متجدداً للمشهد للطالب الذي لا يرى الرسم، ويعلن التغيرات المهمة دون إغراق قارئ الشاشة.
|
||||
|
||||
## 10. بنية Flutter المطلوبة
|
||||
|
||||
- ملف مستقل باسم مشتق من هوية الدرس، وWidget من نوع `StatefulWidget`.
|
||||
- يستخدم `SaqelLabScaffold` بعد تنقيحه ليحمل هوية الدرس وإصدار الحزمة، لا مساراً نصياً مختلقاً.
|
||||
- `CustomPainter` للرسم، وطبقة domain مستقلة للحساب، وcontroller للحالة، واختبارات widget للمقاسين 390×844 و1024×768.
|
||||
- التسجيل في `labs_registry.dart` يكون بمفتاح `curriculum_lesson_id` صريح وارد من الخادم فقط. ممنوع fallback حسب المبحث أو كلمات العنوان.
|
||||
- المختبر غير المتاح في حزمة منشورة لا يظهر في تجربة الطالب؛ يمكن معاينته فقط في بيئة التأليف المعلّمة بوضوح.
|
||||
|
||||
## 11. سيناريوهات التحقق الإلزامية
|
||||
|
||||
- فتح الدرس الصحيح يعرض هذا المختبر فقط بعد تحقق الحزمة المنشورة والصلاحية.
|
||||
- درس يحمل عنواناً مشابهاً وهوية مختلفة لا يفتح هذا المختبر.
|
||||
- الهاتف واللوحي لا يعانيان overflow، والكانفاس يبقى مرئياً أثناء التحكم.
|
||||
- إعادة الضبط تعيد كل المتغيرات والمؤقتات ومحطات الفهم إلى الحالة الابتدائية.
|
||||
- كل حد أدنى/أقصى يعطي رسماً وقراءة متطابقين ولا ينتج NaN/Infinity.
|
||||
- تقليل الحركة وقارئ الشاشة والتنقل بلوحة المفاتيح يعملون.
|
||||
- لا توجد صور خارجية، بيانات ديمو، أرقام نجاح، أو ادعاء إتقان محلي.
|
||||
|
||||
## 12. تعريف الاكتمال
|
||||
|
||||
- [ ] راجع مختص المادة النتاجات والمحاور والمصطلحات والأمثلة.
|
||||
- [ ] وثقت المعادلات/العلاقات مع الصفحات أو الأقسام.
|
||||
- [ ] اعتمد سيناريو اللعب وأخطاء الطلاب الشائعة.
|
||||
- [ ] نُفذت المحاكاة المتجهية والتحكم المتجاوب.
|
||||
- [ ] نُفذت محطات الفهم بأدلة وتعليلات وتلميحات.
|
||||
- [ ] نجحت اختبارات domain وwidget والوصول والحالات الحدية.
|
||||
- [ ] رُبط المختبر بحزمة خادم منشورة عبر هوية وإصدار صريحين.
|
||||
- [ ] راجع الطالب/المعلم التجربة ولم تُسجل كمكتملة قبل الدليل.
|
||||
@@ -0,0 +1,135 @@
|
||||
---
|
||||
spec_type: curriculum_virtual_lab
|
||||
spec_version: 1.0.0
|
||||
status: draft_requires_academic_review
|
||||
curriculum_version: jordan-grade10-2026-source-review
|
||||
curriculum_lesson_id: arabic_10_semester_2_unit_06_lesson_05
|
||||
grade_key: grade_10
|
||||
subject_key: arabic_10
|
||||
semester_key: semester_2
|
||||
unit_key: unit_06
|
||||
lesson_key: lesson_05
|
||||
source_markdown: grade_10/arabic_10/semester_2/unit_06/lesson_05.md
|
||||
source_extraction_review_status: needs_human_review
|
||||
---
|
||||
|
||||
# مواصفة المختبر التفاعلي — الدرس الخامس: أبني لغتي (1): الممنوع من الصرف
|
||||
|
||||
> **حالة الملف:** مسودة هندسية مشتقة من ملف القبول المنهجي. لا تُعرض للطالب ولا تُسجّل كمختبر منشور قبل مراجعة المحتوى، وربطها بحزمة نشر خادمية معتمدة وإصدار أصل واضح.
|
||||
|
||||
## 1. بطاقة الارتباط المنهجي
|
||||
|
||||
- المبحث: اللغة العربية
|
||||
- هوية الدرس: `arabic_10_semester_2_unit_06_lesson_05`
|
||||
- المصدر الوحيد لهذه المسودة: `grade_10/arabic_10/semester_2/unit_06/lesson_05.md`
|
||||
- صفحات المصدر المسجلة: 25, 26, 27
|
||||
- حالة مراجعة الاستخراج: `needs_human_review`
|
||||
- يمنع الربط بعنوان الدرس أو `lesson_01` وحده؛ الربط التشغيلي يكون بهوية الدرس وإصدار الحزمة المنشورة.
|
||||
|
||||
## 2. ما الذي يجب أن يفهمه الطالب؟
|
||||
|
||||
### النتاجات المستخرجة
|
||||
|
||||
- يحددها المراجع الأكاديمي من المصدر قبل التنفيذ؛ لا تكفي صياغة عنوان الدرس.
|
||||
|
||||
### محاور الدرس التي يجب تمثيلها
|
||||
|
||||
- الدرس الخامس: أبني لغتي (1): الممنوع من الصرف
|
||||
|
||||
إذا كانت النتاجات أعلاه عامة أو ناقصة، يستخرج المراجع الأكاديمي نتاجات قابلة للقياس من الصفحات المشار إليها قبل البرمجة. لا يخترع المطور قانوناً أو تعريفاً أو ترجمة أو مثالاً غير مثبت في المصدر.
|
||||
|
||||
## 3. فكرة اللعبة التعليمية
|
||||
|
||||
- **الاستعارة البصرية:** مسرح نصي تفاعلي يفكك البنية والمعنى والإيقاع بصرياً.
|
||||
- **حلقة اللعب:** رتّب عناصر النص أو اللغة واستدل على العلاقة.
|
||||
- **المهمة الأولى — اكتشف:** يبدأ الطالب بمشهد واضح وتعليمة واحدة، ويتنبأ بما سيحدث قبل لمس التحكم.
|
||||
- **المهمة الثانية — جرّب:** يغيّر متغيراً واحداً فقط، ويرى أثره فوراً في الرسم والقراءة والتفسير المختصر.
|
||||
- **المهمة الثالثة — ابنِ:** يرتب العناصر أو يضبط القيم للوصول إلى حالة هدف مأخوذة من مفهوم الدرس.
|
||||
- **المهمة الرابعة — فسّر:** يختار تفسيراً للدليل المرئي، لا تعريفاً محفوظاً.
|
||||
- **المهمة الخامسة — انقل الفهم:** يواجه حالة جديدة بالقانون أو العلاقة نفسها مع قيم/سياق مختلفين.
|
||||
|
||||
لا توجد نقاط أو كؤوس لمجرد النقر. المكافأة البصرية تُمنح عند إظهار دليل فهم، ولا تعني إتقاناً معتمداً؛ الإتقان يُحتسب على الخادم وفق سياسة منفصلة.
|
||||
|
||||
## 4. المشهد المتحرك
|
||||
|
||||
- يرسم بالكامل عبر Flutter `CustomPainter` دون صور PNG/SVG/WebView.
|
||||
- يحول كل محور في قسم «محاور الدرس» إلى طبقة مرئية قابلة للتشغيل والإيقاف.
|
||||
- يعرض السبب والنتيجة في اللحظة نفسها: المتغير المتحكم، أثره في المشهد، والقراءة الرقمية بوحدتها إن وجدت.
|
||||
- تبقى مساحة التجربة ظاهرة أثناء تعديل القيم. على العرض الواسع: كانفاس بمرونة 2 ولوحة تحكم 1 بعرض 320–360px. على الهاتف: كانفاس 300–340px ثم تحكم قابل للتمرير.
|
||||
- الحركة مستمرة عند الحاجة فقط، ويفضل 60fps مع دعم شاشات 120Hz من دون ربط صحة الحساب بعدد الإطارات.
|
||||
- عند تفعيل تقليل الحركة في النظام، تستبدل الحركة المستمرة بانتقالات قصيرة ولقطات حالة مفهومة.
|
||||
|
||||
## 5. نموذج الحالة والتحكم
|
||||
|
||||
ينشئ المطور بعد مراجعة المصدر جدول متغيرات صريحاً:
|
||||
|
||||
| المتغير | معناه في الدرس | النوع/الوحدة | المجال المسموح | القيمة الابتدائية | أثره المرئي |
|
||||
|---|---|---|---|---|---|
|
||||
| `focusParameter` | العامل الرئيس المثبت في المصدر | يحدد من الدرس | يحدد من أمثلة المصدر | حالة محايدة | يغير طبقة واحدة بوضوح |
|
||||
| `comparisonParameter` | عامل المقارنة أو الحالة الثانية | يحدد من الدرس | يحدد من المصدر | مغلق | يظهر فرقاً قابلاً للتفسير |
|
||||
| `timeOrStep` | الزمن أو ترتيب الخطوات عند انطباقه | ثانية/خطوة | بحسب الظاهرة | 0 | يحرك العملية دون تغيير النتيجة حسابياً |
|
||||
|
||||
لوحة التحكم لا تتجاوز ثلاثة عناصر أساسية في المهمة الواحدة. الخيارات المتقدمة تظهر تدريجياً بعد نجاح الطالب في اكتشاف العلاقة الأولى.
|
||||
|
||||
## 6. قواعد المحاكاة والدقة
|
||||
|
||||
- كل معادلة أو ترتيب أو علاقة سببية تُسجل هنا مع مرجع الصفحة/القسم قبل كتابتها في Dart.
|
||||
- تفصل طبقة الحسابات عن `CustomPainter`، وتغطى باختبارات وحدات للقيم الحدية والحالات غير الصالحة.
|
||||
- لا تستخدم عشوائية تؤثر في الإجابة إلا ببذرة محفوظة وقيم ضمن نطاق المصدر.
|
||||
- لا تعرض قيماً علمية أو تاريخية أو لغوية تقريبية بوصفها دقيقة. عند غياب الدليل تعرض «يحتاج مراجعة» في بيئة التأليف فقط.
|
||||
- النص والكانفاس ولوحة التحكم تتشارك الحالة نفسها؛ لا يجوز أن تخالف القراءة الرقمية الرسم.
|
||||
|
||||
## 7. محطات فحص الفهم
|
||||
|
||||
تنفذ عبر `LabCheckpointCallback` بعد ظهور الدليل للطالب، وبالترتيب التالي:
|
||||
|
||||
1. **توقّع:** ما الحالة المتوقعة قبل تشغيل التغيير؟ الخيارات تمثل أخطاء شائعة مثبتة أو يراجعها المعلم.
|
||||
2. **استدلال:** أي دليل مرئي/عددي يثبت ما حدث؟ لا يُسأل الطالب قبل ظهور الدليل.
|
||||
3. **تفسير:** لماذا تغيّرت النتيجة عند تغيير العامل المحدد؟
|
||||
4. **نقل:** ماذا يحدث في حالة جديدة تستخدم المفهوم نفسه؟
|
||||
|
||||
لكل محطة يسجل المنفذ: `checkpoint_id`، المحور المنهجي، شرط الإطلاق، السؤال، الخيارات، الإجابة وتعليلها، مرجع الصفحة/القسم، والتلميح. لا تُرسل الإجابة الصحيحة مسبقاً إلى العميل عندما تدخل النتيجة في الإتقان.
|
||||
|
||||
## 8. التغذية الراجعة ومنع التخمين
|
||||
|
||||
- الإجابة الخاطئة لا تعيد المشهد عشوائياً؛ تضيء المتغير والدليل المرتبطين بالخطأ وتقدم تلميحاً واحداً.
|
||||
- بعد محاولتين، تفكك المهمة إلى خطوة أصغر ثم تعيد حالة نقل مختلفة.
|
||||
- يمنع زر «التالي» حتى يلمس الطالب المتغير المقصود ويرى الأثر، لكن يتوفر دائماً زر إعادة الضبط والخروج.
|
||||
- لا تستخدم مؤثر نجاح مبالغاً فيه؛ اهتزاز خفيف وصوت اختياري وحركة قصيرة تكفي.
|
||||
|
||||
## 9. النظام البصري وإمكانية الوصول
|
||||
|
||||
- الخلفية `#07111F`، السطح `#0B1728`/`#102035`، الحدود `Colors.white10`، والتركيز الأساسي `#00F5D4` أو `#0071E3`.
|
||||
- الخط من خط النظام SF Arabic/Geeza Pro؛ لا يعتمد المختبر على تنزيل خط خارجي.
|
||||
- أقل هدف لمس 44×44، وتباين النص الأساسي 4.5:1، وتسمية دلالية لكل تحكم وقراءة.
|
||||
- اللون ليس الدليل الوحيد: كل حالة لها شكل/رمز/نص، مع دعم RTL وترتيب قراءة صحيح لقارئ الشاشة.
|
||||
- يوفر وصفاً نصياً متجدداً للمشهد للطالب الذي لا يرى الرسم، ويعلن التغيرات المهمة دون إغراق قارئ الشاشة.
|
||||
|
||||
## 10. بنية Flutter المطلوبة
|
||||
|
||||
- ملف مستقل باسم مشتق من هوية الدرس، وWidget من نوع `StatefulWidget`.
|
||||
- يستخدم `SaqelLabScaffold` بعد تنقيحه ليحمل هوية الدرس وإصدار الحزمة، لا مساراً نصياً مختلقاً.
|
||||
- `CustomPainter` للرسم، وطبقة domain مستقلة للحساب، وcontroller للحالة، واختبارات widget للمقاسين 390×844 و1024×768.
|
||||
- التسجيل في `labs_registry.dart` يكون بمفتاح `curriculum_lesson_id` صريح وارد من الخادم فقط. ممنوع fallback حسب المبحث أو كلمات العنوان.
|
||||
- المختبر غير المتاح في حزمة منشورة لا يظهر في تجربة الطالب؛ يمكن معاينته فقط في بيئة التأليف المعلّمة بوضوح.
|
||||
|
||||
## 11. سيناريوهات التحقق الإلزامية
|
||||
|
||||
- فتح الدرس الصحيح يعرض هذا المختبر فقط بعد تحقق الحزمة المنشورة والصلاحية.
|
||||
- درس يحمل عنواناً مشابهاً وهوية مختلفة لا يفتح هذا المختبر.
|
||||
- الهاتف واللوحي لا يعانيان overflow، والكانفاس يبقى مرئياً أثناء التحكم.
|
||||
- إعادة الضبط تعيد كل المتغيرات والمؤقتات ومحطات الفهم إلى الحالة الابتدائية.
|
||||
- كل حد أدنى/أقصى يعطي رسماً وقراءة متطابقين ولا ينتج NaN/Infinity.
|
||||
- تقليل الحركة وقارئ الشاشة والتنقل بلوحة المفاتيح يعملون.
|
||||
- لا توجد صور خارجية، بيانات ديمو، أرقام نجاح، أو ادعاء إتقان محلي.
|
||||
|
||||
## 12. تعريف الاكتمال
|
||||
|
||||
- [ ] راجع مختص المادة النتاجات والمحاور والمصطلحات والأمثلة.
|
||||
- [ ] وثقت المعادلات/العلاقات مع الصفحات أو الأقسام.
|
||||
- [ ] اعتمد سيناريو اللعب وأخطاء الطلاب الشائعة.
|
||||
- [ ] نُفذت المحاكاة المتجهية والتحكم المتجاوب.
|
||||
- [ ] نُفذت محطات الفهم بأدلة وتعليلات وتلميحات.
|
||||
- [ ] نجحت اختبارات domain وwidget والوصول والحالات الحدية.
|
||||
- [ ] رُبط المختبر بحزمة خادم منشورة عبر هوية وإصدار صريحين.
|
||||
- [ ] راجع الطالب/المعلم التجربة ولم تُسجل كمكتملة قبل الدليل.
|
||||
@@ -0,0 +1,135 @@
|
||||
---
|
||||
spec_type: curriculum_virtual_lab
|
||||
spec_version: 1.0.0
|
||||
status: draft_requires_academic_review
|
||||
curriculum_version: jordan-grade10-2026-source-review
|
||||
curriculum_lesson_id: arabic_10_semester_2_unit_06_lesson_06
|
||||
grade_key: grade_10
|
||||
subject_key: arabic_10
|
||||
semester_key: semester_2
|
||||
unit_key: unit_06
|
||||
lesson_key: lesson_06
|
||||
source_markdown: grade_10/arabic_10/semester_2/unit_06/lesson_06.md
|
||||
source_extraction_review_status: needs_human_review
|
||||
---
|
||||
|
||||
# مواصفة المختبر التفاعلي — الدرس السادس: أبني لغتي (2): نوعا التشبيه: المؤكد المفصل والمؤكد المجمل
|
||||
|
||||
> **حالة الملف:** مسودة هندسية مشتقة من ملف القبول المنهجي. لا تُعرض للطالب ولا تُسجّل كمختبر منشور قبل مراجعة المحتوى، وربطها بحزمة نشر خادمية معتمدة وإصدار أصل واضح.
|
||||
|
||||
## 1. بطاقة الارتباط المنهجي
|
||||
|
||||
- المبحث: اللغة العربية
|
||||
- هوية الدرس: `arabic_10_semester_2_unit_06_lesson_06`
|
||||
- المصدر الوحيد لهذه المسودة: `grade_10/arabic_10/semester_2/unit_06/lesson_06.md`
|
||||
- صفحات المصدر المسجلة: 28, 29
|
||||
- حالة مراجعة الاستخراج: `needs_human_review`
|
||||
- يمنع الربط بعنوان الدرس أو `lesson_01` وحده؛ الربط التشغيلي يكون بهوية الدرس وإصدار الحزمة المنشورة.
|
||||
|
||||
## 2. ما الذي يجب أن يفهمه الطالب؟
|
||||
|
||||
### النتاجات المستخرجة
|
||||
|
||||
- يحددها المراجع الأكاديمي من المصدر قبل التنفيذ؛ لا تكفي صياغة عنوان الدرس.
|
||||
|
||||
### محاور الدرس التي يجب تمثيلها
|
||||
|
||||
- الدرس السادس: أبني لغتي (2): نوعا التشبيه: المؤكد المفصل والمؤكد المجمل
|
||||
|
||||
إذا كانت النتاجات أعلاه عامة أو ناقصة، يستخرج المراجع الأكاديمي نتاجات قابلة للقياس من الصفحات المشار إليها قبل البرمجة. لا يخترع المطور قانوناً أو تعريفاً أو ترجمة أو مثالاً غير مثبت في المصدر.
|
||||
|
||||
## 3. فكرة اللعبة التعليمية
|
||||
|
||||
- **الاستعارة البصرية:** مسرح نصي تفاعلي يفكك البنية والمعنى والإيقاع بصرياً.
|
||||
- **حلقة اللعب:** رتّب عناصر النص أو اللغة واستدل على العلاقة.
|
||||
- **المهمة الأولى — اكتشف:** يبدأ الطالب بمشهد واضح وتعليمة واحدة، ويتنبأ بما سيحدث قبل لمس التحكم.
|
||||
- **المهمة الثانية — جرّب:** يغيّر متغيراً واحداً فقط، ويرى أثره فوراً في الرسم والقراءة والتفسير المختصر.
|
||||
- **المهمة الثالثة — ابنِ:** يرتب العناصر أو يضبط القيم للوصول إلى حالة هدف مأخوذة من مفهوم الدرس.
|
||||
- **المهمة الرابعة — فسّر:** يختار تفسيراً للدليل المرئي، لا تعريفاً محفوظاً.
|
||||
- **المهمة الخامسة — انقل الفهم:** يواجه حالة جديدة بالقانون أو العلاقة نفسها مع قيم/سياق مختلفين.
|
||||
|
||||
لا توجد نقاط أو كؤوس لمجرد النقر. المكافأة البصرية تُمنح عند إظهار دليل فهم، ولا تعني إتقاناً معتمداً؛ الإتقان يُحتسب على الخادم وفق سياسة منفصلة.
|
||||
|
||||
## 4. المشهد المتحرك
|
||||
|
||||
- يرسم بالكامل عبر Flutter `CustomPainter` دون صور PNG/SVG/WebView.
|
||||
- يحول كل محور في قسم «محاور الدرس» إلى طبقة مرئية قابلة للتشغيل والإيقاف.
|
||||
- يعرض السبب والنتيجة في اللحظة نفسها: المتغير المتحكم، أثره في المشهد، والقراءة الرقمية بوحدتها إن وجدت.
|
||||
- تبقى مساحة التجربة ظاهرة أثناء تعديل القيم. على العرض الواسع: كانفاس بمرونة 2 ولوحة تحكم 1 بعرض 320–360px. على الهاتف: كانفاس 300–340px ثم تحكم قابل للتمرير.
|
||||
- الحركة مستمرة عند الحاجة فقط، ويفضل 60fps مع دعم شاشات 120Hz من دون ربط صحة الحساب بعدد الإطارات.
|
||||
- عند تفعيل تقليل الحركة في النظام، تستبدل الحركة المستمرة بانتقالات قصيرة ولقطات حالة مفهومة.
|
||||
|
||||
## 5. نموذج الحالة والتحكم
|
||||
|
||||
ينشئ المطور بعد مراجعة المصدر جدول متغيرات صريحاً:
|
||||
|
||||
| المتغير | معناه في الدرس | النوع/الوحدة | المجال المسموح | القيمة الابتدائية | أثره المرئي |
|
||||
|---|---|---|---|---|---|
|
||||
| `focusParameter` | العامل الرئيس المثبت في المصدر | يحدد من الدرس | يحدد من أمثلة المصدر | حالة محايدة | يغير طبقة واحدة بوضوح |
|
||||
| `comparisonParameter` | عامل المقارنة أو الحالة الثانية | يحدد من الدرس | يحدد من المصدر | مغلق | يظهر فرقاً قابلاً للتفسير |
|
||||
| `timeOrStep` | الزمن أو ترتيب الخطوات عند انطباقه | ثانية/خطوة | بحسب الظاهرة | 0 | يحرك العملية دون تغيير النتيجة حسابياً |
|
||||
|
||||
لوحة التحكم لا تتجاوز ثلاثة عناصر أساسية في المهمة الواحدة. الخيارات المتقدمة تظهر تدريجياً بعد نجاح الطالب في اكتشاف العلاقة الأولى.
|
||||
|
||||
## 6. قواعد المحاكاة والدقة
|
||||
|
||||
- كل معادلة أو ترتيب أو علاقة سببية تُسجل هنا مع مرجع الصفحة/القسم قبل كتابتها في Dart.
|
||||
- تفصل طبقة الحسابات عن `CustomPainter`، وتغطى باختبارات وحدات للقيم الحدية والحالات غير الصالحة.
|
||||
- لا تستخدم عشوائية تؤثر في الإجابة إلا ببذرة محفوظة وقيم ضمن نطاق المصدر.
|
||||
- لا تعرض قيماً علمية أو تاريخية أو لغوية تقريبية بوصفها دقيقة. عند غياب الدليل تعرض «يحتاج مراجعة» في بيئة التأليف فقط.
|
||||
- النص والكانفاس ولوحة التحكم تتشارك الحالة نفسها؛ لا يجوز أن تخالف القراءة الرقمية الرسم.
|
||||
|
||||
## 7. محطات فحص الفهم
|
||||
|
||||
تنفذ عبر `LabCheckpointCallback` بعد ظهور الدليل للطالب، وبالترتيب التالي:
|
||||
|
||||
1. **توقّع:** ما الحالة المتوقعة قبل تشغيل التغيير؟ الخيارات تمثل أخطاء شائعة مثبتة أو يراجعها المعلم.
|
||||
2. **استدلال:** أي دليل مرئي/عددي يثبت ما حدث؟ لا يُسأل الطالب قبل ظهور الدليل.
|
||||
3. **تفسير:** لماذا تغيّرت النتيجة عند تغيير العامل المحدد؟
|
||||
4. **نقل:** ماذا يحدث في حالة جديدة تستخدم المفهوم نفسه؟
|
||||
|
||||
لكل محطة يسجل المنفذ: `checkpoint_id`، المحور المنهجي، شرط الإطلاق، السؤال، الخيارات، الإجابة وتعليلها، مرجع الصفحة/القسم، والتلميح. لا تُرسل الإجابة الصحيحة مسبقاً إلى العميل عندما تدخل النتيجة في الإتقان.
|
||||
|
||||
## 8. التغذية الراجعة ومنع التخمين
|
||||
|
||||
- الإجابة الخاطئة لا تعيد المشهد عشوائياً؛ تضيء المتغير والدليل المرتبطين بالخطأ وتقدم تلميحاً واحداً.
|
||||
- بعد محاولتين، تفكك المهمة إلى خطوة أصغر ثم تعيد حالة نقل مختلفة.
|
||||
- يمنع زر «التالي» حتى يلمس الطالب المتغير المقصود ويرى الأثر، لكن يتوفر دائماً زر إعادة الضبط والخروج.
|
||||
- لا تستخدم مؤثر نجاح مبالغاً فيه؛ اهتزاز خفيف وصوت اختياري وحركة قصيرة تكفي.
|
||||
|
||||
## 9. النظام البصري وإمكانية الوصول
|
||||
|
||||
- الخلفية `#07111F`، السطح `#0B1728`/`#102035`، الحدود `Colors.white10`، والتركيز الأساسي `#00F5D4` أو `#0071E3`.
|
||||
- الخط من خط النظام SF Arabic/Geeza Pro؛ لا يعتمد المختبر على تنزيل خط خارجي.
|
||||
- أقل هدف لمس 44×44، وتباين النص الأساسي 4.5:1، وتسمية دلالية لكل تحكم وقراءة.
|
||||
- اللون ليس الدليل الوحيد: كل حالة لها شكل/رمز/نص، مع دعم RTL وترتيب قراءة صحيح لقارئ الشاشة.
|
||||
- يوفر وصفاً نصياً متجدداً للمشهد للطالب الذي لا يرى الرسم، ويعلن التغيرات المهمة دون إغراق قارئ الشاشة.
|
||||
|
||||
## 10. بنية Flutter المطلوبة
|
||||
|
||||
- ملف مستقل باسم مشتق من هوية الدرس، وWidget من نوع `StatefulWidget`.
|
||||
- يستخدم `SaqelLabScaffold` بعد تنقيحه ليحمل هوية الدرس وإصدار الحزمة، لا مساراً نصياً مختلقاً.
|
||||
- `CustomPainter` للرسم، وطبقة domain مستقلة للحساب، وcontroller للحالة، واختبارات widget للمقاسين 390×844 و1024×768.
|
||||
- التسجيل في `labs_registry.dart` يكون بمفتاح `curriculum_lesson_id` صريح وارد من الخادم فقط. ممنوع fallback حسب المبحث أو كلمات العنوان.
|
||||
- المختبر غير المتاح في حزمة منشورة لا يظهر في تجربة الطالب؛ يمكن معاينته فقط في بيئة التأليف المعلّمة بوضوح.
|
||||
|
||||
## 11. سيناريوهات التحقق الإلزامية
|
||||
|
||||
- فتح الدرس الصحيح يعرض هذا المختبر فقط بعد تحقق الحزمة المنشورة والصلاحية.
|
||||
- درس يحمل عنواناً مشابهاً وهوية مختلفة لا يفتح هذا المختبر.
|
||||
- الهاتف واللوحي لا يعانيان overflow، والكانفاس يبقى مرئياً أثناء التحكم.
|
||||
- إعادة الضبط تعيد كل المتغيرات والمؤقتات ومحطات الفهم إلى الحالة الابتدائية.
|
||||
- كل حد أدنى/أقصى يعطي رسماً وقراءة متطابقين ولا ينتج NaN/Infinity.
|
||||
- تقليل الحركة وقارئ الشاشة والتنقل بلوحة المفاتيح يعملون.
|
||||
- لا توجد صور خارجية، بيانات ديمو، أرقام نجاح، أو ادعاء إتقان محلي.
|
||||
|
||||
## 12. تعريف الاكتمال
|
||||
|
||||
- [ ] راجع مختص المادة النتاجات والمحاور والمصطلحات والأمثلة.
|
||||
- [ ] وثقت المعادلات/العلاقات مع الصفحات أو الأقسام.
|
||||
- [ ] اعتمد سيناريو اللعب وأخطاء الطلاب الشائعة.
|
||||
- [ ] نُفذت المحاكاة المتجهية والتحكم المتجاوب.
|
||||
- [ ] نُفذت محطات الفهم بأدلة وتعليلات وتلميحات.
|
||||
- [ ] نجحت اختبارات domain وwidget والوصول والحالات الحدية.
|
||||
- [ ] رُبط المختبر بحزمة خادم منشورة عبر هوية وإصدار صريحين.
|
||||
- [ ] راجع الطالب/المعلم التجربة ولم تُسجل كمكتملة قبل الدليل.
|
||||
@@ -0,0 +1,135 @@
|
||||
---
|
||||
spec_type: curriculum_virtual_lab
|
||||
spec_version: 1.0.0
|
||||
status: draft_requires_academic_review
|
||||
curriculum_version: jordan-grade10-2026-source-review
|
||||
curriculum_lesson_id: arabic_10_semester_2_unit_07_lesson_01
|
||||
grade_key: grade_10
|
||||
subject_key: arabic_10
|
||||
semester_key: semester_2
|
||||
unit_key: unit_07
|
||||
lesson_key: lesson_01
|
||||
source_markdown: grade_10/arabic_10/semester_2/unit_07/lesson_01.md
|
||||
source_extraction_review_status: needs_human_review
|
||||
---
|
||||
|
||||
# مواصفة المختبر التفاعلي — الدرس الأول: أستمعُ بانتباهٍ وتركيزٍ
|
||||
|
||||
> **حالة الملف:** مسودة هندسية مشتقة من ملف القبول المنهجي. لا تُعرض للطالب ولا تُسجّل كمختبر منشور قبل مراجعة المحتوى، وربطها بحزمة نشر خادمية معتمدة وإصدار أصل واضح.
|
||||
|
||||
## 1. بطاقة الارتباط المنهجي
|
||||
|
||||
- المبحث: اللغة العربية
|
||||
- هوية الدرس: `arabic_10_semester_2_unit_07_lesson_01`
|
||||
- المصدر الوحيد لهذه المسودة: `grade_10/arabic_10/semester_2/unit_07/lesson_01.md`
|
||||
- صفحات المصدر المسجلة: 30, 31, 32
|
||||
- حالة مراجعة الاستخراج: `needs_human_review`
|
||||
- يمنع الربط بعنوان الدرس أو `lesson_01` وحده؛ الربط التشغيلي يكون بهوية الدرس وإصدار الحزمة المنشورة.
|
||||
|
||||
## 2. ما الذي يجب أن يفهمه الطالب؟
|
||||
|
||||
### النتاجات المستخرجة
|
||||
|
||||
- يحددها المراجع الأكاديمي من المصدر قبل التنفيذ؛ لا تكفي صياغة عنوان الدرس.
|
||||
|
||||
### محاور الدرس التي يجب تمثيلها
|
||||
|
||||
- الدرس الأول: أستمعُ بانتباهٍ وتركيزٍ
|
||||
|
||||
إذا كانت النتاجات أعلاه عامة أو ناقصة، يستخرج المراجع الأكاديمي نتاجات قابلة للقياس من الصفحات المشار إليها قبل البرمجة. لا يخترع المطور قانوناً أو تعريفاً أو ترجمة أو مثالاً غير مثبت في المصدر.
|
||||
|
||||
## 3. فكرة اللعبة التعليمية
|
||||
|
||||
- **الاستعارة البصرية:** مسرح نصي تفاعلي يفكك البنية والمعنى والإيقاع بصرياً.
|
||||
- **حلقة اللعب:** رتّب عناصر النص أو اللغة واستدل على العلاقة.
|
||||
- **المهمة الأولى — اكتشف:** يبدأ الطالب بمشهد واضح وتعليمة واحدة، ويتنبأ بما سيحدث قبل لمس التحكم.
|
||||
- **المهمة الثانية — جرّب:** يغيّر متغيراً واحداً فقط، ويرى أثره فوراً في الرسم والقراءة والتفسير المختصر.
|
||||
- **المهمة الثالثة — ابنِ:** يرتب العناصر أو يضبط القيم للوصول إلى حالة هدف مأخوذة من مفهوم الدرس.
|
||||
- **المهمة الرابعة — فسّر:** يختار تفسيراً للدليل المرئي، لا تعريفاً محفوظاً.
|
||||
- **المهمة الخامسة — انقل الفهم:** يواجه حالة جديدة بالقانون أو العلاقة نفسها مع قيم/سياق مختلفين.
|
||||
|
||||
لا توجد نقاط أو كؤوس لمجرد النقر. المكافأة البصرية تُمنح عند إظهار دليل فهم، ولا تعني إتقاناً معتمداً؛ الإتقان يُحتسب على الخادم وفق سياسة منفصلة.
|
||||
|
||||
## 4. المشهد المتحرك
|
||||
|
||||
- يرسم بالكامل عبر Flutter `CustomPainter` دون صور PNG/SVG/WebView.
|
||||
- يحول كل محور في قسم «محاور الدرس» إلى طبقة مرئية قابلة للتشغيل والإيقاف.
|
||||
- يعرض السبب والنتيجة في اللحظة نفسها: المتغير المتحكم، أثره في المشهد، والقراءة الرقمية بوحدتها إن وجدت.
|
||||
- تبقى مساحة التجربة ظاهرة أثناء تعديل القيم. على العرض الواسع: كانفاس بمرونة 2 ولوحة تحكم 1 بعرض 320–360px. على الهاتف: كانفاس 300–340px ثم تحكم قابل للتمرير.
|
||||
- الحركة مستمرة عند الحاجة فقط، ويفضل 60fps مع دعم شاشات 120Hz من دون ربط صحة الحساب بعدد الإطارات.
|
||||
- عند تفعيل تقليل الحركة في النظام، تستبدل الحركة المستمرة بانتقالات قصيرة ولقطات حالة مفهومة.
|
||||
|
||||
## 5. نموذج الحالة والتحكم
|
||||
|
||||
ينشئ المطور بعد مراجعة المصدر جدول متغيرات صريحاً:
|
||||
|
||||
| المتغير | معناه في الدرس | النوع/الوحدة | المجال المسموح | القيمة الابتدائية | أثره المرئي |
|
||||
|---|---|---|---|---|---|
|
||||
| `focusParameter` | العامل الرئيس المثبت في المصدر | يحدد من الدرس | يحدد من أمثلة المصدر | حالة محايدة | يغير طبقة واحدة بوضوح |
|
||||
| `comparisonParameter` | عامل المقارنة أو الحالة الثانية | يحدد من الدرس | يحدد من المصدر | مغلق | يظهر فرقاً قابلاً للتفسير |
|
||||
| `timeOrStep` | الزمن أو ترتيب الخطوات عند انطباقه | ثانية/خطوة | بحسب الظاهرة | 0 | يحرك العملية دون تغيير النتيجة حسابياً |
|
||||
|
||||
لوحة التحكم لا تتجاوز ثلاثة عناصر أساسية في المهمة الواحدة. الخيارات المتقدمة تظهر تدريجياً بعد نجاح الطالب في اكتشاف العلاقة الأولى.
|
||||
|
||||
## 6. قواعد المحاكاة والدقة
|
||||
|
||||
- كل معادلة أو ترتيب أو علاقة سببية تُسجل هنا مع مرجع الصفحة/القسم قبل كتابتها في Dart.
|
||||
- تفصل طبقة الحسابات عن `CustomPainter`، وتغطى باختبارات وحدات للقيم الحدية والحالات غير الصالحة.
|
||||
- لا تستخدم عشوائية تؤثر في الإجابة إلا ببذرة محفوظة وقيم ضمن نطاق المصدر.
|
||||
- لا تعرض قيماً علمية أو تاريخية أو لغوية تقريبية بوصفها دقيقة. عند غياب الدليل تعرض «يحتاج مراجعة» في بيئة التأليف فقط.
|
||||
- النص والكانفاس ولوحة التحكم تتشارك الحالة نفسها؛ لا يجوز أن تخالف القراءة الرقمية الرسم.
|
||||
|
||||
## 7. محطات فحص الفهم
|
||||
|
||||
تنفذ عبر `LabCheckpointCallback` بعد ظهور الدليل للطالب، وبالترتيب التالي:
|
||||
|
||||
1. **توقّع:** ما الحالة المتوقعة قبل تشغيل التغيير؟ الخيارات تمثل أخطاء شائعة مثبتة أو يراجعها المعلم.
|
||||
2. **استدلال:** أي دليل مرئي/عددي يثبت ما حدث؟ لا يُسأل الطالب قبل ظهور الدليل.
|
||||
3. **تفسير:** لماذا تغيّرت النتيجة عند تغيير العامل المحدد؟
|
||||
4. **نقل:** ماذا يحدث في حالة جديدة تستخدم المفهوم نفسه؟
|
||||
|
||||
لكل محطة يسجل المنفذ: `checkpoint_id`، المحور المنهجي، شرط الإطلاق، السؤال، الخيارات، الإجابة وتعليلها، مرجع الصفحة/القسم، والتلميح. لا تُرسل الإجابة الصحيحة مسبقاً إلى العميل عندما تدخل النتيجة في الإتقان.
|
||||
|
||||
## 8. التغذية الراجعة ومنع التخمين
|
||||
|
||||
- الإجابة الخاطئة لا تعيد المشهد عشوائياً؛ تضيء المتغير والدليل المرتبطين بالخطأ وتقدم تلميحاً واحداً.
|
||||
- بعد محاولتين، تفكك المهمة إلى خطوة أصغر ثم تعيد حالة نقل مختلفة.
|
||||
- يمنع زر «التالي» حتى يلمس الطالب المتغير المقصود ويرى الأثر، لكن يتوفر دائماً زر إعادة الضبط والخروج.
|
||||
- لا تستخدم مؤثر نجاح مبالغاً فيه؛ اهتزاز خفيف وصوت اختياري وحركة قصيرة تكفي.
|
||||
|
||||
## 9. النظام البصري وإمكانية الوصول
|
||||
|
||||
- الخلفية `#07111F`، السطح `#0B1728`/`#102035`، الحدود `Colors.white10`، والتركيز الأساسي `#00F5D4` أو `#0071E3`.
|
||||
- الخط من خط النظام SF Arabic/Geeza Pro؛ لا يعتمد المختبر على تنزيل خط خارجي.
|
||||
- أقل هدف لمس 44×44، وتباين النص الأساسي 4.5:1، وتسمية دلالية لكل تحكم وقراءة.
|
||||
- اللون ليس الدليل الوحيد: كل حالة لها شكل/رمز/نص، مع دعم RTL وترتيب قراءة صحيح لقارئ الشاشة.
|
||||
- يوفر وصفاً نصياً متجدداً للمشهد للطالب الذي لا يرى الرسم، ويعلن التغيرات المهمة دون إغراق قارئ الشاشة.
|
||||
|
||||
## 10. بنية Flutter المطلوبة
|
||||
|
||||
- ملف مستقل باسم مشتق من هوية الدرس، وWidget من نوع `StatefulWidget`.
|
||||
- يستخدم `SaqelLabScaffold` بعد تنقيحه ليحمل هوية الدرس وإصدار الحزمة، لا مساراً نصياً مختلقاً.
|
||||
- `CustomPainter` للرسم، وطبقة domain مستقلة للحساب، وcontroller للحالة، واختبارات widget للمقاسين 390×844 و1024×768.
|
||||
- التسجيل في `labs_registry.dart` يكون بمفتاح `curriculum_lesson_id` صريح وارد من الخادم فقط. ممنوع fallback حسب المبحث أو كلمات العنوان.
|
||||
- المختبر غير المتاح في حزمة منشورة لا يظهر في تجربة الطالب؛ يمكن معاينته فقط في بيئة التأليف المعلّمة بوضوح.
|
||||
|
||||
## 11. سيناريوهات التحقق الإلزامية
|
||||
|
||||
- فتح الدرس الصحيح يعرض هذا المختبر فقط بعد تحقق الحزمة المنشورة والصلاحية.
|
||||
- درس يحمل عنواناً مشابهاً وهوية مختلفة لا يفتح هذا المختبر.
|
||||
- الهاتف واللوحي لا يعانيان overflow، والكانفاس يبقى مرئياً أثناء التحكم.
|
||||
- إعادة الضبط تعيد كل المتغيرات والمؤقتات ومحطات الفهم إلى الحالة الابتدائية.
|
||||
- كل حد أدنى/أقصى يعطي رسماً وقراءة متطابقين ولا ينتج NaN/Infinity.
|
||||
- تقليل الحركة وقارئ الشاشة والتنقل بلوحة المفاتيح يعملون.
|
||||
- لا توجد صور خارجية، بيانات ديمو، أرقام نجاح، أو ادعاء إتقان محلي.
|
||||
|
||||
## 12. تعريف الاكتمال
|
||||
|
||||
- [ ] راجع مختص المادة النتاجات والمحاور والمصطلحات والأمثلة.
|
||||
- [ ] وثقت المعادلات/العلاقات مع الصفحات أو الأقسام.
|
||||
- [ ] اعتمد سيناريو اللعب وأخطاء الطلاب الشائعة.
|
||||
- [ ] نُفذت المحاكاة المتجهية والتحكم المتجاوب.
|
||||
- [ ] نُفذت محطات الفهم بأدلة وتعليلات وتلميحات.
|
||||
- [ ] نجحت اختبارات domain وwidget والوصول والحالات الحدية.
|
||||
- [ ] رُبط المختبر بحزمة خادم منشورة عبر هوية وإصدار صريحين.
|
||||
- [ ] راجع الطالب/المعلم التجربة ولم تُسجل كمكتملة قبل الدليل.
|
||||
@@ -0,0 +1,135 @@
|
||||
---
|
||||
spec_type: curriculum_virtual_lab
|
||||
spec_version: 1.0.0
|
||||
status: draft_requires_academic_review
|
||||
curriculum_version: jordan-grade10-2026-source-review
|
||||
curriculum_lesson_id: arabic_10_semester_2_unit_07_lesson_02
|
||||
grade_key: grade_10
|
||||
subject_key: arabic_10
|
||||
semester_key: semester_2
|
||||
unit_key: unit_07
|
||||
lesson_key: lesson_02
|
||||
source_markdown: grade_10/arabic_10/semester_2/unit_07/lesson_02.md
|
||||
source_extraction_review_status: needs_human_review
|
||||
---
|
||||
|
||||
# مواصفة المختبر التفاعلي — الدرس الثاني: أتحدثُ بطالقةٍ (فن المناظرة وأدوار المتحدثين)
|
||||
|
||||
> **حالة الملف:** مسودة هندسية مشتقة من ملف القبول المنهجي. لا تُعرض للطالب ولا تُسجّل كمختبر منشور قبل مراجعة المحتوى، وربطها بحزمة نشر خادمية معتمدة وإصدار أصل واضح.
|
||||
|
||||
## 1. بطاقة الارتباط المنهجي
|
||||
|
||||
- المبحث: اللغة العربية
|
||||
- هوية الدرس: `arabic_10_semester_2_unit_07_lesson_02`
|
||||
- المصدر الوحيد لهذه المسودة: `grade_10/arabic_10/semester_2/unit_07/lesson_02.md`
|
||||
- صفحات المصدر المسجلة: 33, 34, 35
|
||||
- حالة مراجعة الاستخراج: `needs_human_review`
|
||||
- يمنع الربط بعنوان الدرس أو `lesson_01` وحده؛ الربط التشغيلي يكون بهوية الدرس وإصدار الحزمة المنشورة.
|
||||
|
||||
## 2. ما الذي يجب أن يفهمه الطالب؟
|
||||
|
||||
### النتاجات المستخرجة
|
||||
|
||||
- يحددها المراجع الأكاديمي من المصدر قبل التنفيذ؛ لا تكفي صياغة عنوان الدرس.
|
||||
|
||||
### محاور الدرس التي يجب تمثيلها
|
||||
|
||||
- الدرس الثاني: أتحدثُ بطالقةٍ (فن المناظرة وأدوار المتحدثين)
|
||||
|
||||
إذا كانت النتاجات أعلاه عامة أو ناقصة، يستخرج المراجع الأكاديمي نتاجات قابلة للقياس من الصفحات المشار إليها قبل البرمجة. لا يخترع المطور قانوناً أو تعريفاً أو ترجمة أو مثالاً غير مثبت في المصدر.
|
||||
|
||||
## 3. فكرة اللعبة التعليمية
|
||||
|
||||
- **الاستعارة البصرية:** مسرح نصي تفاعلي يفكك البنية والمعنى والإيقاع بصرياً.
|
||||
- **حلقة اللعب:** رتّب عناصر النص أو اللغة واستدل على العلاقة.
|
||||
- **المهمة الأولى — اكتشف:** يبدأ الطالب بمشهد واضح وتعليمة واحدة، ويتنبأ بما سيحدث قبل لمس التحكم.
|
||||
- **المهمة الثانية — جرّب:** يغيّر متغيراً واحداً فقط، ويرى أثره فوراً في الرسم والقراءة والتفسير المختصر.
|
||||
- **المهمة الثالثة — ابنِ:** يرتب العناصر أو يضبط القيم للوصول إلى حالة هدف مأخوذة من مفهوم الدرس.
|
||||
- **المهمة الرابعة — فسّر:** يختار تفسيراً للدليل المرئي، لا تعريفاً محفوظاً.
|
||||
- **المهمة الخامسة — انقل الفهم:** يواجه حالة جديدة بالقانون أو العلاقة نفسها مع قيم/سياق مختلفين.
|
||||
|
||||
لا توجد نقاط أو كؤوس لمجرد النقر. المكافأة البصرية تُمنح عند إظهار دليل فهم، ولا تعني إتقاناً معتمداً؛ الإتقان يُحتسب على الخادم وفق سياسة منفصلة.
|
||||
|
||||
## 4. المشهد المتحرك
|
||||
|
||||
- يرسم بالكامل عبر Flutter `CustomPainter` دون صور PNG/SVG/WebView.
|
||||
- يحول كل محور في قسم «محاور الدرس» إلى طبقة مرئية قابلة للتشغيل والإيقاف.
|
||||
- يعرض السبب والنتيجة في اللحظة نفسها: المتغير المتحكم، أثره في المشهد، والقراءة الرقمية بوحدتها إن وجدت.
|
||||
- تبقى مساحة التجربة ظاهرة أثناء تعديل القيم. على العرض الواسع: كانفاس بمرونة 2 ولوحة تحكم 1 بعرض 320–360px. على الهاتف: كانفاس 300–340px ثم تحكم قابل للتمرير.
|
||||
- الحركة مستمرة عند الحاجة فقط، ويفضل 60fps مع دعم شاشات 120Hz من دون ربط صحة الحساب بعدد الإطارات.
|
||||
- عند تفعيل تقليل الحركة في النظام، تستبدل الحركة المستمرة بانتقالات قصيرة ولقطات حالة مفهومة.
|
||||
|
||||
## 5. نموذج الحالة والتحكم
|
||||
|
||||
ينشئ المطور بعد مراجعة المصدر جدول متغيرات صريحاً:
|
||||
|
||||
| المتغير | معناه في الدرس | النوع/الوحدة | المجال المسموح | القيمة الابتدائية | أثره المرئي |
|
||||
|---|---|---|---|---|---|
|
||||
| `focusParameter` | العامل الرئيس المثبت في المصدر | يحدد من الدرس | يحدد من أمثلة المصدر | حالة محايدة | يغير طبقة واحدة بوضوح |
|
||||
| `comparisonParameter` | عامل المقارنة أو الحالة الثانية | يحدد من الدرس | يحدد من المصدر | مغلق | يظهر فرقاً قابلاً للتفسير |
|
||||
| `timeOrStep` | الزمن أو ترتيب الخطوات عند انطباقه | ثانية/خطوة | بحسب الظاهرة | 0 | يحرك العملية دون تغيير النتيجة حسابياً |
|
||||
|
||||
لوحة التحكم لا تتجاوز ثلاثة عناصر أساسية في المهمة الواحدة. الخيارات المتقدمة تظهر تدريجياً بعد نجاح الطالب في اكتشاف العلاقة الأولى.
|
||||
|
||||
## 6. قواعد المحاكاة والدقة
|
||||
|
||||
- كل معادلة أو ترتيب أو علاقة سببية تُسجل هنا مع مرجع الصفحة/القسم قبل كتابتها في Dart.
|
||||
- تفصل طبقة الحسابات عن `CustomPainter`، وتغطى باختبارات وحدات للقيم الحدية والحالات غير الصالحة.
|
||||
- لا تستخدم عشوائية تؤثر في الإجابة إلا ببذرة محفوظة وقيم ضمن نطاق المصدر.
|
||||
- لا تعرض قيماً علمية أو تاريخية أو لغوية تقريبية بوصفها دقيقة. عند غياب الدليل تعرض «يحتاج مراجعة» في بيئة التأليف فقط.
|
||||
- النص والكانفاس ولوحة التحكم تتشارك الحالة نفسها؛ لا يجوز أن تخالف القراءة الرقمية الرسم.
|
||||
|
||||
## 7. محطات فحص الفهم
|
||||
|
||||
تنفذ عبر `LabCheckpointCallback` بعد ظهور الدليل للطالب، وبالترتيب التالي:
|
||||
|
||||
1. **توقّع:** ما الحالة المتوقعة قبل تشغيل التغيير؟ الخيارات تمثل أخطاء شائعة مثبتة أو يراجعها المعلم.
|
||||
2. **استدلال:** أي دليل مرئي/عددي يثبت ما حدث؟ لا يُسأل الطالب قبل ظهور الدليل.
|
||||
3. **تفسير:** لماذا تغيّرت النتيجة عند تغيير العامل المحدد؟
|
||||
4. **نقل:** ماذا يحدث في حالة جديدة تستخدم المفهوم نفسه؟
|
||||
|
||||
لكل محطة يسجل المنفذ: `checkpoint_id`، المحور المنهجي، شرط الإطلاق، السؤال، الخيارات، الإجابة وتعليلها، مرجع الصفحة/القسم، والتلميح. لا تُرسل الإجابة الصحيحة مسبقاً إلى العميل عندما تدخل النتيجة في الإتقان.
|
||||
|
||||
## 8. التغذية الراجعة ومنع التخمين
|
||||
|
||||
- الإجابة الخاطئة لا تعيد المشهد عشوائياً؛ تضيء المتغير والدليل المرتبطين بالخطأ وتقدم تلميحاً واحداً.
|
||||
- بعد محاولتين، تفكك المهمة إلى خطوة أصغر ثم تعيد حالة نقل مختلفة.
|
||||
- يمنع زر «التالي» حتى يلمس الطالب المتغير المقصود ويرى الأثر، لكن يتوفر دائماً زر إعادة الضبط والخروج.
|
||||
- لا تستخدم مؤثر نجاح مبالغاً فيه؛ اهتزاز خفيف وصوت اختياري وحركة قصيرة تكفي.
|
||||
|
||||
## 9. النظام البصري وإمكانية الوصول
|
||||
|
||||
- الخلفية `#07111F`، السطح `#0B1728`/`#102035`، الحدود `Colors.white10`، والتركيز الأساسي `#00F5D4` أو `#0071E3`.
|
||||
- الخط من خط النظام SF Arabic/Geeza Pro؛ لا يعتمد المختبر على تنزيل خط خارجي.
|
||||
- أقل هدف لمس 44×44، وتباين النص الأساسي 4.5:1، وتسمية دلالية لكل تحكم وقراءة.
|
||||
- اللون ليس الدليل الوحيد: كل حالة لها شكل/رمز/نص، مع دعم RTL وترتيب قراءة صحيح لقارئ الشاشة.
|
||||
- يوفر وصفاً نصياً متجدداً للمشهد للطالب الذي لا يرى الرسم، ويعلن التغيرات المهمة دون إغراق قارئ الشاشة.
|
||||
|
||||
## 10. بنية Flutter المطلوبة
|
||||
|
||||
- ملف مستقل باسم مشتق من هوية الدرس، وWidget من نوع `StatefulWidget`.
|
||||
- يستخدم `SaqelLabScaffold` بعد تنقيحه ليحمل هوية الدرس وإصدار الحزمة، لا مساراً نصياً مختلقاً.
|
||||
- `CustomPainter` للرسم، وطبقة domain مستقلة للحساب، وcontroller للحالة، واختبارات widget للمقاسين 390×844 و1024×768.
|
||||
- التسجيل في `labs_registry.dart` يكون بمفتاح `curriculum_lesson_id` صريح وارد من الخادم فقط. ممنوع fallback حسب المبحث أو كلمات العنوان.
|
||||
- المختبر غير المتاح في حزمة منشورة لا يظهر في تجربة الطالب؛ يمكن معاينته فقط في بيئة التأليف المعلّمة بوضوح.
|
||||
|
||||
## 11. سيناريوهات التحقق الإلزامية
|
||||
|
||||
- فتح الدرس الصحيح يعرض هذا المختبر فقط بعد تحقق الحزمة المنشورة والصلاحية.
|
||||
- درس يحمل عنواناً مشابهاً وهوية مختلفة لا يفتح هذا المختبر.
|
||||
- الهاتف واللوحي لا يعانيان overflow، والكانفاس يبقى مرئياً أثناء التحكم.
|
||||
- إعادة الضبط تعيد كل المتغيرات والمؤقتات ومحطات الفهم إلى الحالة الابتدائية.
|
||||
- كل حد أدنى/أقصى يعطي رسماً وقراءة متطابقين ولا ينتج NaN/Infinity.
|
||||
- تقليل الحركة وقارئ الشاشة والتنقل بلوحة المفاتيح يعملون.
|
||||
- لا توجد صور خارجية، بيانات ديمو، أرقام نجاح، أو ادعاء إتقان محلي.
|
||||
|
||||
## 12. تعريف الاكتمال
|
||||
|
||||
- [ ] راجع مختص المادة النتاجات والمحاور والمصطلحات والأمثلة.
|
||||
- [ ] وثقت المعادلات/العلاقات مع الصفحات أو الأقسام.
|
||||
- [ ] اعتمد سيناريو اللعب وأخطاء الطلاب الشائعة.
|
||||
- [ ] نُفذت المحاكاة المتجهية والتحكم المتجاوب.
|
||||
- [ ] نُفذت محطات الفهم بأدلة وتعليلات وتلميحات.
|
||||
- [ ] نجحت اختبارات domain وwidget والوصول والحالات الحدية.
|
||||
- [ ] رُبط المختبر بحزمة خادم منشورة عبر هوية وإصدار صريحين.
|
||||
- [ ] راجع الطالب/المعلم التجربة ولم تُسجل كمكتملة قبل الدليل.
|
||||
@@ -0,0 +1,135 @@
|
||||
---
|
||||
spec_type: curriculum_virtual_lab
|
||||
spec_version: 1.0.0
|
||||
status: draft_requires_academic_review
|
||||
curriculum_version: jordan-grade10-2026-source-review
|
||||
curriculum_lesson_id: arabic_10_semester_2_unit_07_lesson_03
|
||||
grade_key: grade_10
|
||||
subject_key: arabic_10
|
||||
semester_key: semester_2
|
||||
unit_key: unit_07
|
||||
lesson_key: lesson_03
|
||||
source_markdown: grade_10/arabic_10/semester_2/unit_07/lesson_03.md
|
||||
source_extraction_review_status: needs_human_review
|
||||
---
|
||||
|
||||
# مواصفة المختبر التفاعلي — الدرس الثالث: أقرأُ بطالقةٍ وفهمٍ (عصر المعلومات بعد الإنترنت: قضية إشكالية)
|
||||
|
||||
> **حالة الملف:** مسودة هندسية مشتقة من ملف القبول المنهجي. لا تُعرض للطالب ولا تُسجّل كمختبر منشور قبل مراجعة المحتوى، وربطها بحزمة نشر خادمية معتمدة وإصدار أصل واضح.
|
||||
|
||||
## 1. بطاقة الارتباط المنهجي
|
||||
|
||||
- المبحث: اللغة العربية
|
||||
- هوية الدرس: `arabic_10_semester_2_unit_07_lesson_03`
|
||||
- المصدر الوحيد لهذه المسودة: `grade_10/arabic_10/semester_2/unit_07/lesson_03.md`
|
||||
- صفحات المصدر المسجلة: 36, 37, 38, 39, 40, 41
|
||||
- حالة مراجعة الاستخراج: `needs_human_review`
|
||||
- يمنع الربط بعنوان الدرس أو `lesson_01` وحده؛ الربط التشغيلي يكون بهوية الدرس وإصدار الحزمة المنشورة.
|
||||
|
||||
## 2. ما الذي يجب أن يفهمه الطالب؟
|
||||
|
||||
### النتاجات المستخرجة
|
||||
|
||||
- يحددها المراجع الأكاديمي من المصدر قبل التنفيذ؛ لا تكفي صياغة عنوان الدرس.
|
||||
|
||||
### محاور الدرس التي يجب تمثيلها
|
||||
|
||||
- الدرس الثالث: أقرأُ بطالقةٍ وفهمٍ (عصر المعلومات بعد الإنترنت: قضية إشكالية)
|
||||
|
||||
إذا كانت النتاجات أعلاه عامة أو ناقصة، يستخرج المراجع الأكاديمي نتاجات قابلة للقياس من الصفحات المشار إليها قبل البرمجة. لا يخترع المطور قانوناً أو تعريفاً أو ترجمة أو مثالاً غير مثبت في المصدر.
|
||||
|
||||
## 3. فكرة اللعبة التعليمية
|
||||
|
||||
- **الاستعارة البصرية:** مسرح نصي تفاعلي يفكك البنية والمعنى والإيقاع بصرياً.
|
||||
- **حلقة اللعب:** رتّب عناصر النص أو اللغة واستدل على العلاقة.
|
||||
- **المهمة الأولى — اكتشف:** يبدأ الطالب بمشهد واضح وتعليمة واحدة، ويتنبأ بما سيحدث قبل لمس التحكم.
|
||||
- **المهمة الثانية — جرّب:** يغيّر متغيراً واحداً فقط، ويرى أثره فوراً في الرسم والقراءة والتفسير المختصر.
|
||||
- **المهمة الثالثة — ابنِ:** يرتب العناصر أو يضبط القيم للوصول إلى حالة هدف مأخوذة من مفهوم الدرس.
|
||||
- **المهمة الرابعة — فسّر:** يختار تفسيراً للدليل المرئي، لا تعريفاً محفوظاً.
|
||||
- **المهمة الخامسة — انقل الفهم:** يواجه حالة جديدة بالقانون أو العلاقة نفسها مع قيم/سياق مختلفين.
|
||||
|
||||
لا توجد نقاط أو كؤوس لمجرد النقر. المكافأة البصرية تُمنح عند إظهار دليل فهم، ولا تعني إتقاناً معتمداً؛ الإتقان يُحتسب على الخادم وفق سياسة منفصلة.
|
||||
|
||||
## 4. المشهد المتحرك
|
||||
|
||||
- يرسم بالكامل عبر Flutter `CustomPainter` دون صور PNG/SVG/WebView.
|
||||
- يحول كل محور في قسم «محاور الدرس» إلى طبقة مرئية قابلة للتشغيل والإيقاف.
|
||||
- يعرض السبب والنتيجة في اللحظة نفسها: المتغير المتحكم، أثره في المشهد، والقراءة الرقمية بوحدتها إن وجدت.
|
||||
- تبقى مساحة التجربة ظاهرة أثناء تعديل القيم. على العرض الواسع: كانفاس بمرونة 2 ولوحة تحكم 1 بعرض 320–360px. على الهاتف: كانفاس 300–340px ثم تحكم قابل للتمرير.
|
||||
- الحركة مستمرة عند الحاجة فقط، ويفضل 60fps مع دعم شاشات 120Hz من دون ربط صحة الحساب بعدد الإطارات.
|
||||
- عند تفعيل تقليل الحركة في النظام، تستبدل الحركة المستمرة بانتقالات قصيرة ولقطات حالة مفهومة.
|
||||
|
||||
## 5. نموذج الحالة والتحكم
|
||||
|
||||
ينشئ المطور بعد مراجعة المصدر جدول متغيرات صريحاً:
|
||||
|
||||
| المتغير | معناه في الدرس | النوع/الوحدة | المجال المسموح | القيمة الابتدائية | أثره المرئي |
|
||||
|---|---|---|---|---|---|
|
||||
| `focusParameter` | العامل الرئيس المثبت في المصدر | يحدد من الدرس | يحدد من أمثلة المصدر | حالة محايدة | يغير طبقة واحدة بوضوح |
|
||||
| `comparisonParameter` | عامل المقارنة أو الحالة الثانية | يحدد من الدرس | يحدد من المصدر | مغلق | يظهر فرقاً قابلاً للتفسير |
|
||||
| `timeOrStep` | الزمن أو ترتيب الخطوات عند انطباقه | ثانية/خطوة | بحسب الظاهرة | 0 | يحرك العملية دون تغيير النتيجة حسابياً |
|
||||
|
||||
لوحة التحكم لا تتجاوز ثلاثة عناصر أساسية في المهمة الواحدة. الخيارات المتقدمة تظهر تدريجياً بعد نجاح الطالب في اكتشاف العلاقة الأولى.
|
||||
|
||||
## 6. قواعد المحاكاة والدقة
|
||||
|
||||
- كل معادلة أو ترتيب أو علاقة سببية تُسجل هنا مع مرجع الصفحة/القسم قبل كتابتها في Dart.
|
||||
- تفصل طبقة الحسابات عن `CustomPainter`، وتغطى باختبارات وحدات للقيم الحدية والحالات غير الصالحة.
|
||||
- لا تستخدم عشوائية تؤثر في الإجابة إلا ببذرة محفوظة وقيم ضمن نطاق المصدر.
|
||||
- لا تعرض قيماً علمية أو تاريخية أو لغوية تقريبية بوصفها دقيقة. عند غياب الدليل تعرض «يحتاج مراجعة» في بيئة التأليف فقط.
|
||||
- النص والكانفاس ولوحة التحكم تتشارك الحالة نفسها؛ لا يجوز أن تخالف القراءة الرقمية الرسم.
|
||||
|
||||
## 7. محطات فحص الفهم
|
||||
|
||||
تنفذ عبر `LabCheckpointCallback` بعد ظهور الدليل للطالب، وبالترتيب التالي:
|
||||
|
||||
1. **توقّع:** ما الحالة المتوقعة قبل تشغيل التغيير؟ الخيارات تمثل أخطاء شائعة مثبتة أو يراجعها المعلم.
|
||||
2. **استدلال:** أي دليل مرئي/عددي يثبت ما حدث؟ لا يُسأل الطالب قبل ظهور الدليل.
|
||||
3. **تفسير:** لماذا تغيّرت النتيجة عند تغيير العامل المحدد؟
|
||||
4. **نقل:** ماذا يحدث في حالة جديدة تستخدم المفهوم نفسه؟
|
||||
|
||||
لكل محطة يسجل المنفذ: `checkpoint_id`، المحور المنهجي، شرط الإطلاق، السؤال، الخيارات، الإجابة وتعليلها، مرجع الصفحة/القسم، والتلميح. لا تُرسل الإجابة الصحيحة مسبقاً إلى العميل عندما تدخل النتيجة في الإتقان.
|
||||
|
||||
## 8. التغذية الراجعة ومنع التخمين
|
||||
|
||||
- الإجابة الخاطئة لا تعيد المشهد عشوائياً؛ تضيء المتغير والدليل المرتبطين بالخطأ وتقدم تلميحاً واحداً.
|
||||
- بعد محاولتين، تفكك المهمة إلى خطوة أصغر ثم تعيد حالة نقل مختلفة.
|
||||
- يمنع زر «التالي» حتى يلمس الطالب المتغير المقصود ويرى الأثر، لكن يتوفر دائماً زر إعادة الضبط والخروج.
|
||||
- لا تستخدم مؤثر نجاح مبالغاً فيه؛ اهتزاز خفيف وصوت اختياري وحركة قصيرة تكفي.
|
||||
|
||||
## 9. النظام البصري وإمكانية الوصول
|
||||
|
||||
- الخلفية `#07111F`، السطح `#0B1728`/`#102035`، الحدود `Colors.white10`، والتركيز الأساسي `#00F5D4` أو `#0071E3`.
|
||||
- الخط من خط النظام SF Arabic/Geeza Pro؛ لا يعتمد المختبر على تنزيل خط خارجي.
|
||||
- أقل هدف لمس 44×44، وتباين النص الأساسي 4.5:1، وتسمية دلالية لكل تحكم وقراءة.
|
||||
- اللون ليس الدليل الوحيد: كل حالة لها شكل/رمز/نص، مع دعم RTL وترتيب قراءة صحيح لقارئ الشاشة.
|
||||
- يوفر وصفاً نصياً متجدداً للمشهد للطالب الذي لا يرى الرسم، ويعلن التغيرات المهمة دون إغراق قارئ الشاشة.
|
||||
|
||||
## 10. بنية Flutter المطلوبة
|
||||
|
||||
- ملف مستقل باسم مشتق من هوية الدرس، وWidget من نوع `StatefulWidget`.
|
||||
- يستخدم `SaqelLabScaffold` بعد تنقيحه ليحمل هوية الدرس وإصدار الحزمة، لا مساراً نصياً مختلقاً.
|
||||
- `CustomPainter` للرسم، وطبقة domain مستقلة للحساب، وcontroller للحالة، واختبارات widget للمقاسين 390×844 و1024×768.
|
||||
- التسجيل في `labs_registry.dart` يكون بمفتاح `curriculum_lesson_id` صريح وارد من الخادم فقط. ممنوع fallback حسب المبحث أو كلمات العنوان.
|
||||
- المختبر غير المتاح في حزمة منشورة لا يظهر في تجربة الطالب؛ يمكن معاينته فقط في بيئة التأليف المعلّمة بوضوح.
|
||||
|
||||
## 11. سيناريوهات التحقق الإلزامية
|
||||
|
||||
- فتح الدرس الصحيح يعرض هذا المختبر فقط بعد تحقق الحزمة المنشورة والصلاحية.
|
||||
- درس يحمل عنواناً مشابهاً وهوية مختلفة لا يفتح هذا المختبر.
|
||||
- الهاتف واللوحي لا يعانيان overflow، والكانفاس يبقى مرئياً أثناء التحكم.
|
||||
- إعادة الضبط تعيد كل المتغيرات والمؤقتات ومحطات الفهم إلى الحالة الابتدائية.
|
||||
- كل حد أدنى/أقصى يعطي رسماً وقراءة متطابقين ولا ينتج NaN/Infinity.
|
||||
- تقليل الحركة وقارئ الشاشة والتنقل بلوحة المفاتيح يعملون.
|
||||
- لا توجد صور خارجية، بيانات ديمو، أرقام نجاح، أو ادعاء إتقان محلي.
|
||||
|
||||
## 12. تعريف الاكتمال
|
||||
|
||||
- [ ] راجع مختص المادة النتاجات والمحاور والمصطلحات والأمثلة.
|
||||
- [ ] وثقت المعادلات/العلاقات مع الصفحات أو الأقسام.
|
||||
- [ ] اعتمد سيناريو اللعب وأخطاء الطلاب الشائعة.
|
||||
- [ ] نُفذت المحاكاة المتجهية والتحكم المتجاوب.
|
||||
- [ ] نُفذت محطات الفهم بأدلة وتعليلات وتلميحات.
|
||||
- [ ] نجحت اختبارات domain وwidget والوصول والحالات الحدية.
|
||||
- [ ] رُبط المختبر بحزمة خادم منشورة عبر هوية وإصدار صريحين.
|
||||
- [ ] راجع الطالب/المعلم التجربة ولم تُسجل كمكتملة قبل الدليل.
|
||||
@@ -0,0 +1,135 @@
|
||||
---
|
||||
spec_type: curriculum_virtual_lab
|
||||
spec_version: 1.0.0
|
||||
status: draft_requires_academic_review
|
||||
curriculum_version: jordan-grade10-2026-source-review
|
||||
curriculum_lesson_id: arabic_10_semester_2_unit_07_lesson_04
|
||||
grade_key: grade_10
|
||||
subject_key: arabic_10
|
||||
semester_key: semester_2
|
||||
unit_key: unit_07
|
||||
lesson_key: lesson_04
|
||||
source_markdown: grade_10/arabic_10/semester_2/unit_07/lesson_04.md
|
||||
source_extraction_review_status: needs_human_review
|
||||
---
|
||||
|
||||
# مواصفة المختبر التفاعلي — الدرس الرابع: أكتبُ محتوى (النص الجدلي)
|
||||
|
||||
> **حالة الملف:** مسودة هندسية مشتقة من ملف القبول المنهجي. لا تُعرض للطالب ولا تُسجّل كمختبر منشور قبل مراجعة المحتوى، وربطها بحزمة نشر خادمية معتمدة وإصدار أصل واضح.
|
||||
|
||||
## 1. بطاقة الارتباط المنهجي
|
||||
|
||||
- المبحث: اللغة العربية
|
||||
- هوية الدرس: `arabic_10_semester_2_unit_07_lesson_04`
|
||||
- المصدر الوحيد لهذه المسودة: `grade_10/arabic_10/semester_2/unit_07/lesson_04.md`
|
||||
- صفحات المصدر المسجلة: 42, 43, 44, 45
|
||||
- حالة مراجعة الاستخراج: `needs_human_review`
|
||||
- يمنع الربط بعنوان الدرس أو `lesson_01` وحده؛ الربط التشغيلي يكون بهوية الدرس وإصدار الحزمة المنشورة.
|
||||
|
||||
## 2. ما الذي يجب أن يفهمه الطالب؟
|
||||
|
||||
### النتاجات المستخرجة
|
||||
|
||||
- يحددها المراجع الأكاديمي من المصدر قبل التنفيذ؛ لا تكفي صياغة عنوان الدرس.
|
||||
|
||||
### محاور الدرس التي يجب تمثيلها
|
||||
|
||||
- الدرس الرابع: أكتبُ محتوى (النص الجدلي)
|
||||
|
||||
إذا كانت النتاجات أعلاه عامة أو ناقصة، يستخرج المراجع الأكاديمي نتاجات قابلة للقياس من الصفحات المشار إليها قبل البرمجة. لا يخترع المطور قانوناً أو تعريفاً أو ترجمة أو مثالاً غير مثبت في المصدر.
|
||||
|
||||
## 3. فكرة اللعبة التعليمية
|
||||
|
||||
- **الاستعارة البصرية:** مسرح نصي تفاعلي يفكك البنية والمعنى والإيقاع بصرياً.
|
||||
- **حلقة اللعب:** رتّب عناصر النص أو اللغة واستدل على العلاقة.
|
||||
- **المهمة الأولى — اكتشف:** يبدأ الطالب بمشهد واضح وتعليمة واحدة، ويتنبأ بما سيحدث قبل لمس التحكم.
|
||||
- **المهمة الثانية — جرّب:** يغيّر متغيراً واحداً فقط، ويرى أثره فوراً في الرسم والقراءة والتفسير المختصر.
|
||||
- **المهمة الثالثة — ابنِ:** يرتب العناصر أو يضبط القيم للوصول إلى حالة هدف مأخوذة من مفهوم الدرس.
|
||||
- **المهمة الرابعة — فسّر:** يختار تفسيراً للدليل المرئي، لا تعريفاً محفوظاً.
|
||||
- **المهمة الخامسة — انقل الفهم:** يواجه حالة جديدة بالقانون أو العلاقة نفسها مع قيم/سياق مختلفين.
|
||||
|
||||
لا توجد نقاط أو كؤوس لمجرد النقر. المكافأة البصرية تُمنح عند إظهار دليل فهم، ولا تعني إتقاناً معتمداً؛ الإتقان يُحتسب على الخادم وفق سياسة منفصلة.
|
||||
|
||||
## 4. المشهد المتحرك
|
||||
|
||||
- يرسم بالكامل عبر Flutter `CustomPainter` دون صور PNG/SVG/WebView.
|
||||
- يحول كل محور في قسم «محاور الدرس» إلى طبقة مرئية قابلة للتشغيل والإيقاف.
|
||||
- يعرض السبب والنتيجة في اللحظة نفسها: المتغير المتحكم، أثره في المشهد، والقراءة الرقمية بوحدتها إن وجدت.
|
||||
- تبقى مساحة التجربة ظاهرة أثناء تعديل القيم. على العرض الواسع: كانفاس بمرونة 2 ولوحة تحكم 1 بعرض 320–360px. على الهاتف: كانفاس 300–340px ثم تحكم قابل للتمرير.
|
||||
- الحركة مستمرة عند الحاجة فقط، ويفضل 60fps مع دعم شاشات 120Hz من دون ربط صحة الحساب بعدد الإطارات.
|
||||
- عند تفعيل تقليل الحركة في النظام، تستبدل الحركة المستمرة بانتقالات قصيرة ولقطات حالة مفهومة.
|
||||
|
||||
## 5. نموذج الحالة والتحكم
|
||||
|
||||
ينشئ المطور بعد مراجعة المصدر جدول متغيرات صريحاً:
|
||||
|
||||
| المتغير | معناه في الدرس | النوع/الوحدة | المجال المسموح | القيمة الابتدائية | أثره المرئي |
|
||||
|---|---|---|---|---|---|
|
||||
| `focusParameter` | العامل الرئيس المثبت في المصدر | يحدد من الدرس | يحدد من أمثلة المصدر | حالة محايدة | يغير طبقة واحدة بوضوح |
|
||||
| `comparisonParameter` | عامل المقارنة أو الحالة الثانية | يحدد من الدرس | يحدد من المصدر | مغلق | يظهر فرقاً قابلاً للتفسير |
|
||||
| `timeOrStep` | الزمن أو ترتيب الخطوات عند انطباقه | ثانية/خطوة | بحسب الظاهرة | 0 | يحرك العملية دون تغيير النتيجة حسابياً |
|
||||
|
||||
لوحة التحكم لا تتجاوز ثلاثة عناصر أساسية في المهمة الواحدة. الخيارات المتقدمة تظهر تدريجياً بعد نجاح الطالب في اكتشاف العلاقة الأولى.
|
||||
|
||||
## 6. قواعد المحاكاة والدقة
|
||||
|
||||
- كل معادلة أو ترتيب أو علاقة سببية تُسجل هنا مع مرجع الصفحة/القسم قبل كتابتها في Dart.
|
||||
- تفصل طبقة الحسابات عن `CustomPainter`، وتغطى باختبارات وحدات للقيم الحدية والحالات غير الصالحة.
|
||||
- لا تستخدم عشوائية تؤثر في الإجابة إلا ببذرة محفوظة وقيم ضمن نطاق المصدر.
|
||||
- لا تعرض قيماً علمية أو تاريخية أو لغوية تقريبية بوصفها دقيقة. عند غياب الدليل تعرض «يحتاج مراجعة» في بيئة التأليف فقط.
|
||||
- النص والكانفاس ولوحة التحكم تتشارك الحالة نفسها؛ لا يجوز أن تخالف القراءة الرقمية الرسم.
|
||||
|
||||
## 7. محطات فحص الفهم
|
||||
|
||||
تنفذ عبر `LabCheckpointCallback` بعد ظهور الدليل للطالب، وبالترتيب التالي:
|
||||
|
||||
1. **توقّع:** ما الحالة المتوقعة قبل تشغيل التغيير؟ الخيارات تمثل أخطاء شائعة مثبتة أو يراجعها المعلم.
|
||||
2. **استدلال:** أي دليل مرئي/عددي يثبت ما حدث؟ لا يُسأل الطالب قبل ظهور الدليل.
|
||||
3. **تفسير:** لماذا تغيّرت النتيجة عند تغيير العامل المحدد؟
|
||||
4. **نقل:** ماذا يحدث في حالة جديدة تستخدم المفهوم نفسه؟
|
||||
|
||||
لكل محطة يسجل المنفذ: `checkpoint_id`، المحور المنهجي، شرط الإطلاق، السؤال، الخيارات، الإجابة وتعليلها، مرجع الصفحة/القسم، والتلميح. لا تُرسل الإجابة الصحيحة مسبقاً إلى العميل عندما تدخل النتيجة في الإتقان.
|
||||
|
||||
## 8. التغذية الراجعة ومنع التخمين
|
||||
|
||||
- الإجابة الخاطئة لا تعيد المشهد عشوائياً؛ تضيء المتغير والدليل المرتبطين بالخطأ وتقدم تلميحاً واحداً.
|
||||
- بعد محاولتين، تفكك المهمة إلى خطوة أصغر ثم تعيد حالة نقل مختلفة.
|
||||
- يمنع زر «التالي» حتى يلمس الطالب المتغير المقصود ويرى الأثر، لكن يتوفر دائماً زر إعادة الضبط والخروج.
|
||||
- لا تستخدم مؤثر نجاح مبالغاً فيه؛ اهتزاز خفيف وصوت اختياري وحركة قصيرة تكفي.
|
||||
|
||||
## 9. النظام البصري وإمكانية الوصول
|
||||
|
||||
- الخلفية `#07111F`، السطح `#0B1728`/`#102035`، الحدود `Colors.white10`، والتركيز الأساسي `#00F5D4` أو `#0071E3`.
|
||||
- الخط من خط النظام SF Arabic/Geeza Pro؛ لا يعتمد المختبر على تنزيل خط خارجي.
|
||||
- أقل هدف لمس 44×44، وتباين النص الأساسي 4.5:1، وتسمية دلالية لكل تحكم وقراءة.
|
||||
- اللون ليس الدليل الوحيد: كل حالة لها شكل/رمز/نص، مع دعم RTL وترتيب قراءة صحيح لقارئ الشاشة.
|
||||
- يوفر وصفاً نصياً متجدداً للمشهد للطالب الذي لا يرى الرسم، ويعلن التغيرات المهمة دون إغراق قارئ الشاشة.
|
||||
|
||||
## 10. بنية Flutter المطلوبة
|
||||
|
||||
- ملف مستقل باسم مشتق من هوية الدرس، وWidget من نوع `StatefulWidget`.
|
||||
- يستخدم `SaqelLabScaffold` بعد تنقيحه ليحمل هوية الدرس وإصدار الحزمة، لا مساراً نصياً مختلقاً.
|
||||
- `CustomPainter` للرسم، وطبقة domain مستقلة للحساب، وcontroller للحالة، واختبارات widget للمقاسين 390×844 و1024×768.
|
||||
- التسجيل في `labs_registry.dart` يكون بمفتاح `curriculum_lesson_id` صريح وارد من الخادم فقط. ممنوع fallback حسب المبحث أو كلمات العنوان.
|
||||
- المختبر غير المتاح في حزمة منشورة لا يظهر في تجربة الطالب؛ يمكن معاينته فقط في بيئة التأليف المعلّمة بوضوح.
|
||||
|
||||
## 11. سيناريوهات التحقق الإلزامية
|
||||
|
||||
- فتح الدرس الصحيح يعرض هذا المختبر فقط بعد تحقق الحزمة المنشورة والصلاحية.
|
||||
- درس يحمل عنواناً مشابهاً وهوية مختلفة لا يفتح هذا المختبر.
|
||||
- الهاتف واللوحي لا يعانيان overflow، والكانفاس يبقى مرئياً أثناء التحكم.
|
||||
- إعادة الضبط تعيد كل المتغيرات والمؤقتات ومحطات الفهم إلى الحالة الابتدائية.
|
||||
- كل حد أدنى/أقصى يعطي رسماً وقراءة متطابقين ولا ينتج NaN/Infinity.
|
||||
- تقليل الحركة وقارئ الشاشة والتنقل بلوحة المفاتيح يعملون.
|
||||
- لا توجد صور خارجية، بيانات ديمو، أرقام نجاح، أو ادعاء إتقان محلي.
|
||||
|
||||
## 12. تعريف الاكتمال
|
||||
|
||||
- [ ] راجع مختص المادة النتاجات والمحاور والمصطلحات والأمثلة.
|
||||
- [ ] وثقت المعادلات/العلاقات مع الصفحات أو الأقسام.
|
||||
- [ ] اعتمد سيناريو اللعب وأخطاء الطلاب الشائعة.
|
||||
- [ ] نُفذت المحاكاة المتجهية والتحكم المتجاوب.
|
||||
- [ ] نُفذت محطات الفهم بأدلة وتعليلات وتلميحات.
|
||||
- [ ] نجحت اختبارات domain وwidget والوصول والحالات الحدية.
|
||||
- [ ] رُبط المختبر بحزمة خادم منشورة عبر هوية وإصدار صريحين.
|
||||
- [ ] راجع الطالب/المعلم التجربة ولم تُسجل كمكتملة قبل الدليل.
|
||||
@@ -0,0 +1,135 @@
|
||||
---
|
||||
spec_type: curriculum_virtual_lab
|
||||
spec_version: 1.0.0
|
||||
status: draft_requires_academic_review
|
||||
curriculum_version: jordan-grade10-2026-source-review
|
||||
curriculum_lesson_id: arabic_10_semester_2_unit_07_lesson_05
|
||||
grade_key: grade_10
|
||||
subject_key: arabic_10
|
||||
semester_key: semester_2
|
||||
unit_key: unit_07
|
||||
lesson_key: lesson_05
|
||||
source_markdown: grade_10/arabic_10/semester_2/unit_07/lesson_05.md
|
||||
source_extraction_review_status: needs_human_review
|
||||
---
|
||||
|
||||
# مواصفة المختبر التفاعلي — الدرس الخامس: أبني لغتي (1): تمييز الذات
|
||||
|
||||
> **حالة الملف:** مسودة هندسية مشتقة من ملف القبول المنهجي. لا تُعرض للطالب ولا تُسجّل كمختبر منشور قبل مراجعة المحتوى، وربطها بحزمة نشر خادمية معتمدة وإصدار أصل واضح.
|
||||
|
||||
## 1. بطاقة الارتباط المنهجي
|
||||
|
||||
- المبحث: اللغة العربية
|
||||
- هوية الدرس: `arabic_10_semester_2_unit_07_lesson_05`
|
||||
- المصدر الوحيد لهذه المسودة: `grade_10/arabic_10/semester_2/unit_07/lesson_05.md`
|
||||
- صفحات المصدر المسجلة: 46, 47, 48, 49, 50
|
||||
- حالة مراجعة الاستخراج: `needs_human_review`
|
||||
- يمنع الربط بعنوان الدرس أو `lesson_01` وحده؛ الربط التشغيلي يكون بهوية الدرس وإصدار الحزمة المنشورة.
|
||||
|
||||
## 2. ما الذي يجب أن يفهمه الطالب؟
|
||||
|
||||
### النتاجات المستخرجة
|
||||
|
||||
- يحددها المراجع الأكاديمي من المصدر قبل التنفيذ؛ لا تكفي صياغة عنوان الدرس.
|
||||
|
||||
### محاور الدرس التي يجب تمثيلها
|
||||
|
||||
- الدرس الخامس: أبني لغتي (1): تمييز الذات
|
||||
|
||||
إذا كانت النتاجات أعلاه عامة أو ناقصة، يستخرج المراجع الأكاديمي نتاجات قابلة للقياس من الصفحات المشار إليها قبل البرمجة. لا يخترع المطور قانوناً أو تعريفاً أو ترجمة أو مثالاً غير مثبت في المصدر.
|
||||
|
||||
## 3. فكرة اللعبة التعليمية
|
||||
|
||||
- **الاستعارة البصرية:** مسرح نصي تفاعلي يفكك البنية والمعنى والإيقاع بصرياً.
|
||||
- **حلقة اللعب:** رتّب عناصر النص أو اللغة واستدل على العلاقة.
|
||||
- **المهمة الأولى — اكتشف:** يبدأ الطالب بمشهد واضح وتعليمة واحدة، ويتنبأ بما سيحدث قبل لمس التحكم.
|
||||
- **المهمة الثانية — جرّب:** يغيّر متغيراً واحداً فقط، ويرى أثره فوراً في الرسم والقراءة والتفسير المختصر.
|
||||
- **المهمة الثالثة — ابنِ:** يرتب العناصر أو يضبط القيم للوصول إلى حالة هدف مأخوذة من مفهوم الدرس.
|
||||
- **المهمة الرابعة — فسّر:** يختار تفسيراً للدليل المرئي، لا تعريفاً محفوظاً.
|
||||
- **المهمة الخامسة — انقل الفهم:** يواجه حالة جديدة بالقانون أو العلاقة نفسها مع قيم/سياق مختلفين.
|
||||
|
||||
لا توجد نقاط أو كؤوس لمجرد النقر. المكافأة البصرية تُمنح عند إظهار دليل فهم، ولا تعني إتقاناً معتمداً؛ الإتقان يُحتسب على الخادم وفق سياسة منفصلة.
|
||||
|
||||
## 4. المشهد المتحرك
|
||||
|
||||
- يرسم بالكامل عبر Flutter `CustomPainter` دون صور PNG/SVG/WebView.
|
||||
- يحول كل محور في قسم «محاور الدرس» إلى طبقة مرئية قابلة للتشغيل والإيقاف.
|
||||
- يعرض السبب والنتيجة في اللحظة نفسها: المتغير المتحكم، أثره في المشهد، والقراءة الرقمية بوحدتها إن وجدت.
|
||||
- تبقى مساحة التجربة ظاهرة أثناء تعديل القيم. على العرض الواسع: كانفاس بمرونة 2 ولوحة تحكم 1 بعرض 320–360px. على الهاتف: كانفاس 300–340px ثم تحكم قابل للتمرير.
|
||||
- الحركة مستمرة عند الحاجة فقط، ويفضل 60fps مع دعم شاشات 120Hz من دون ربط صحة الحساب بعدد الإطارات.
|
||||
- عند تفعيل تقليل الحركة في النظام، تستبدل الحركة المستمرة بانتقالات قصيرة ولقطات حالة مفهومة.
|
||||
|
||||
## 5. نموذج الحالة والتحكم
|
||||
|
||||
ينشئ المطور بعد مراجعة المصدر جدول متغيرات صريحاً:
|
||||
|
||||
| المتغير | معناه في الدرس | النوع/الوحدة | المجال المسموح | القيمة الابتدائية | أثره المرئي |
|
||||
|---|---|---|---|---|---|
|
||||
| `focusParameter` | العامل الرئيس المثبت في المصدر | يحدد من الدرس | يحدد من أمثلة المصدر | حالة محايدة | يغير طبقة واحدة بوضوح |
|
||||
| `comparisonParameter` | عامل المقارنة أو الحالة الثانية | يحدد من الدرس | يحدد من المصدر | مغلق | يظهر فرقاً قابلاً للتفسير |
|
||||
| `timeOrStep` | الزمن أو ترتيب الخطوات عند انطباقه | ثانية/خطوة | بحسب الظاهرة | 0 | يحرك العملية دون تغيير النتيجة حسابياً |
|
||||
|
||||
لوحة التحكم لا تتجاوز ثلاثة عناصر أساسية في المهمة الواحدة. الخيارات المتقدمة تظهر تدريجياً بعد نجاح الطالب في اكتشاف العلاقة الأولى.
|
||||
|
||||
## 6. قواعد المحاكاة والدقة
|
||||
|
||||
- كل معادلة أو ترتيب أو علاقة سببية تُسجل هنا مع مرجع الصفحة/القسم قبل كتابتها في Dart.
|
||||
- تفصل طبقة الحسابات عن `CustomPainter`، وتغطى باختبارات وحدات للقيم الحدية والحالات غير الصالحة.
|
||||
- لا تستخدم عشوائية تؤثر في الإجابة إلا ببذرة محفوظة وقيم ضمن نطاق المصدر.
|
||||
- لا تعرض قيماً علمية أو تاريخية أو لغوية تقريبية بوصفها دقيقة. عند غياب الدليل تعرض «يحتاج مراجعة» في بيئة التأليف فقط.
|
||||
- النص والكانفاس ولوحة التحكم تتشارك الحالة نفسها؛ لا يجوز أن تخالف القراءة الرقمية الرسم.
|
||||
|
||||
## 7. محطات فحص الفهم
|
||||
|
||||
تنفذ عبر `LabCheckpointCallback` بعد ظهور الدليل للطالب، وبالترتيب التالي:
|
||||
|
||||
1. **توقّع:** ما الحالة المتوقعة قبل تشغيل التغيير؟ الخيارات تمثل أخطاء شائعة مثبتة أو يراجعها المعلم.
|
||||
2. **استدلال:** أي دليل مرئي/عددي يثبت ما حدث؟ لا يُسأل الطالب قبل ظهور الدليل.
|
||||
3. **تفسير:** لماذا تغيّرت النتيجة عند تغيير العامل المحدد؟
|
||||
4. **نقل:** ماذا يحدث في حالة جديدة تستخدم المفهوم نفسه؟
|
||||
|
||||
لكل محطة يسجل المنفذ: `checkpoint_id`، المحور المنهجي، شرط الإطلاق، السؤال، الخيارات، الإجابة وتعليلها، مرجع الصفحة/القسم، والتلميح. لا تُرسل الإجابة الصحيحة مسبقاً إلى العميل عندما تدخل النتيجة في الإتقان.
|
||||
|
||||
## 8. التغذية الراجعة ومنع التخمين
|
||||
|
||||
- الإجابة الخاطئة لا تعيد المشهد عشوائياً؛ تضيء المتغير والدليل المرتبطين بالخطأ وتقدم تلميحاً واحداً.
|
||||
- بعد محاولتين، تفكك المهمة إلى خطوة أصغر ثم تعيد حالة نقل مختلفة.
|
||||
- يمنع زر «التالي» حتى يلمس الطالب المتغير المقصود ويرى الأثر، لكن يتوفر دائماً زر إعادة الضبط والخروج.
|
||||
- لا تستخدم مؤثر نجاح مبالغاً فيه؛ اهتزاز خفيف وصوت اختياري وحركة قصيرة تكفي.
|
||||
|
||||
## 9. النظام البصري وإمكانية الوصول
|
||||
|
||||
- الخلفية `#07111F`، السطح `#0B1728`/`#102035`، الحدود `Colors.white10`، والتركيز الأساسي `#00F5D4` أو `#0071E3`.
|
||||
- الخط من خط النظام SF Arabic/Geeza Pro؛ لا يعتمد المختبر على تنزيل خط خارجي.
|
||||
- أقل هدف لمس 44×44، وتباين النص الأساسي 4.5:1، وتسمية دلالية لكل تحكم وقراءة.
|
||||
- اللون ليس الدليل الوحيد: كل حالة لها شكل/رمز/نص، مع دعم RTL وترتيب قراءة صحيح لقارئ الشاشة.
|
||||
- يوفر وصفاً نصياً متجدداً للمشهد للطالب الذي لا يرى الرسم، ويعلن التغيرات المهمة دون إغراق قارئ الشاشة.
|
||||
|
||||
## 10. بنية Flutter المطلوبة
|
||||
|
||||
- ملف مستقل باسم مشتق من هوية الدرس، وWidget من نوع `StatefulWidget`.
|
||||
- يستخدم `SaqelLabScaffold` بعد تنقيحه ليحمل هوية الدرس وإصدار الحزمة، لا مساراً نصياً مختلقاً.
|
||||
- `CustomPainter` للرسم، وطبقة domain مستقلة للحساب، وcontroller للحالة، واختبارات widget للمقاسين 390×844 و1024×768.
|
||||
- التسجيل في `labs_registry.dart` يكون بمفتاح `curriculum_lesson_id` صريح وارد من الخادم فقط. ممنوع fallback حسب المبحث أو كلمات العنوان.
|
||||
- المختبر غير المتاح في حزمة منشورة لا يظهر في تجربة الطالب؛ يمكن معاينته فقط في بيئة التأليف المعلّمة بوضوح.
|
||||
|
||||
## 11. سيناريوهات التحقق الإلزامية
|
||||
|
||||
- فتح الدرس الصحيح يعرض هذا المختبر فقط بعد تحقق الحزمة المنشورة والصلاحية.
|
||||
- درس يحمل عنواناً مشابهاً وهوية مختلفة لا يفتح هذا المختبر.
|
||||
- الهاتف واللوحي لا يعانيان overflow، والكانفاس يبقى مرئياً أثناء التحكم.
|
||||
- إعادة الضبط تعيد كل المتغيرات والمؤقتات ومحطات الفهم إلى الحالة الابتدائية.
|
||||
- كل حد أدنى/أقصى يعطي رسماً وقراءة متطابقين ولا ينتج NaN/Infinity.
|
||||
- تقليل الحركة وقارئ الشاشة والتنقل بلوحة المفاتيح يعملون.
|
||||
- لا توجد صور خارجية، بيانات ديمو، أرقام نجاح، أو ادعاء إتقان محلي.
|
||||
|
||||
## 12. تعريف الاكتمال
|
||||
|
||||
- [ ] راجع مختص المادة النتاجات والمحاور والمصطلحات والأمثلة.
|
||||
- [ ] وثقت المعادلات/العلاقات مع الصفحات أو الأقسام.
|
||||
- [ ] اعتمد سيناريو اللعب وأخطاء الطلاب الشائعة.
|
||||
- [ ] نُفذت المحاكاة المتجهية والتحكم المتجاوب.
|
||||
- [ ] نُفذت محطات الفهم بأدلة وتعليلات وتلميحات.
|
||||
- [ ] نجحت اختبارات domain وwidget والوصول والحالات الحدية.
|
||||
- [ ] رُبط المختبر بحزمة خادم منشورة عبر هوية وإصدار صريحين.
|
||||
- [ ] راجع الطالب/المعلم التجربة ولم تُسجل كمكتملة قبل الدليل.
|
||||
@@ -0,0 +1,135 @@
|
||||
---
|
||||
spec_type: curriculum_virtual_lab
|
||||
spec_version: 1.0.0
|
||||
status: draft_requires_academic_review
|
||||
curriculum_version: jordan-grade10-2026-source-review
|
||||
curriculum_lesson_id: arabic_10_semester_2_unit_07_lesson_06
|
||||
grade_key: grade_10
|
||||
subject_key: arabic_10
|
||||
semester_key: semester_2
|
||||
unit_key: unit_07
|
||||
lesson_key: lesson_06
|
||||
source_markdown: grade_10/arabic_10/semester_2/unit_07/lesson_06.md
|
||||
source_extraction_review_status: needs_human_review
|
||||
---
|
||||
|
||||
# مواصفة المختبر التفاعلي — الدرس السادس: أبني لغتي (2): صيغة المبالغة والصفة المشبهة
|
||||
|
||||
> **حالة الملف:** مسودة هندسية مشتقة من ملف القبول المنهجي. لا تُعرض للطالب ولا تُسجّل كمختبر منشور قبل مراجعة المحتوى، وربطها بحزمة نشر خادمية معتمدة وإصدار أصل واضح.
|
||||
|
||||
## 1. بطاقة الارتباط المنهجي
|
||||
|
||||
- المبحث: اللغة العربية
|
||||
- هوية الدرس: `arabic_10_semester_2_unit_07_lesson_06`
|
||||
- المصدر الوحيد لهذه المسودة: `grade_10/arabic_10/semester_2/unit_07/lesson_06.md`
|
||||
- صفحات المصدر المسجلة: 51, 52, 53, 54, 55
|
||||
- حالة مراجعة الاستخراج: `needs_human_review`
|
||||
- يمنع الربط بعنوان الدرس أو `lesson_01` وحده؛ الربط التشغيلي يكون بهوية الدرس وإصدار الحزمة المنشورة.
|
||||
|
||||
## 2. ما الذي يجب أن يفهمه الطالب؟
|
||||
|
||||
### النتاجات المستخرجة
|
||||
|
||||
- يحددها المراجع الأكاديمي من المصدر قبل التنفيذ؛ لا تكفي صياغة عنوان الدرس.
|
||||
|
||||
### محاور الدرس التي يجب تمثيلها
|
||||
|
||||
- الدرس السادس: أبني لغتي (2): صيغة المبالغة والصفة المشبهة
|
||||
|
||||
إذا كانت النتاجات أعلاه عامة أو ناقصة، يستخرج المراجع الأكاديمي نتاجات قابلة للقياس من الصفحات المشار إليها قبل البرمجة. لا يخترع المطور قانوناً أو تعريفاً أو ترجمة أو مثالاً غير مثبت في المصدر.
|
||||
|
||||
## 3. فكرة اللعبة التعليمية
|
||||
|
||||
- **الاستعارة البصرية:** مسرح نصي تفاعلي يفكك البنية والمعنى والإيقاع بصرياً.
|
||||
- **حلقة اللعب:** رتّب عناصر النص أو اللغة واستدل على العلاقة.
|
||||
- **المهمة الأولى — اكتشف:** يبدأ الطالب بمشهد واضح وتعليمة واحدة، ويتنبأ بما سيحدث قبل لمس التحكم.
|
||||
- **المهمة الثانية — جرّب:** يغيّر متغيراً واحداً فقط، ويرى أثره فوراً في الرسم والقراءة والتفسير المختصر.
|
||||
- **المهمة الثالثة — ابنِ:** يرتب العناصر أو يضبط القيم للوصول إلى حالة هدف مأخوذة من مفهوم الدرس.
|
||||
- **المهمة الرابعة — فسّر:** يختار تفسيراً للدليل المرئي، لا تعريفاً محفوظاً.
|
||||
- **المهمة الخامسة — انقل الفهم:** يواجه حالة جديدة بالقانون أو العلاقة نفسها مع قيم/سياق مختلفين.
|
||||
|
||||
لا توجد نقاط أو كؤوس لمجرد النقر. المكافأة البصرية تُمنح عند إظهار دليل فهم، ولا تعني إتقاناً معتمداً؛ الإتقان يُحتسب على الخادم وفق سياسة منفصلة.
|
||||
|
||||
## 4. المشهد المتحرك
|
||||
|
||||
- يرسم بالكامل عبر Flutter `CustomPainter` دون صور PNG/SVG/WebView.
|
||||
- يحول كل محور في قسم «محاور الدرس» إلى طبقة مرئية قابلة للتشغيل والإيقاف.
|
||||
- يعرض السبب والنتيجة في اللحظة نفسها: المتغير المتحكم، أثره في المشهد، والقراءة الرقمية بوحدتها إن وجدت.
|
||||
- تبقى مساحة التجربة ظاهرة أثناء تعديل القيم. على العرض الواسع: كانفاس بمرونة 2 ولوحة تحكم 1 بعرض 320–360px. على الهاتف: كانفاس 300–340px ثم تحكم قابل للتمرير.
|
||||
- الحركة مستمرة عند الحاجة فقط، ويفضل 60fps مع دعم شاشات 120Hz من دون ربط صحة الحساب بعدد الإطارات.
|
||||
- عند تفعيل تقليل الحركة في النظام، تستبدل الحركة المستمرة بانتقالات قصيرة ولقطات حالة مفهومة.
|
||||
|
||||
## 5. نموذج الحالة والتحكم
|
||||
|
||||
ينشئ المطور بعد مراجعة المصدر جدول متغيرات صريحاً:
|
||||
|
||||
| المتغير | معناه في الدرس | النوع/الوحدة | المجال المسموح | القيمة الابتدائية | أثره المرئي |
|
||||
|---|---|---|---|---|---|
|
||||
| `focusParameter` | العامل الرئيس المثبت في المصدر | يحدد من الدرس | يحدد من أمثلة المصدر | حالة محايدة | يغير طبقة واحدة بوضوح |
|
||||
| `comparisonParameter` | عامل المقارنة أو الحالة الثانية | يحدد من الدرس | يحدد من المصدر | مغلق | يظهر فرقاً قابلاً للتفسير |
|
||||
| `timeOrStep` | الزمن أو ترتيب الخطوات عند انطباقه | ثانية/خطوة | بحسب الظاهرة | 0 | يحرك العملية دون تغيير النتيجة حسابياً |
|
||||
|
||||
لوحة التحكم لا تتجاوز ثلاثة عناصر أساسية في المهمة الواحدة. الخيارات المتقدمة تظهر تدريجياً بعد نجاح الطالب في اكتشاف العلاقة الأولى.
|
||||
|
||||
## 6. قواعد المحاكاة والدقة
|
||||
|
||||
- كل معادلة أو ترتيب أو علاقة سببية تُسجل هنا مع مرجع الصفحة/القسم قبل كتابتها في Dart.
|
||||
- تفصل طبقة الحسابات عن `CustomPainter`، وتغطى باختبارات وحدات للقيم الحدية والحالات غير الصالحة.
|
||||
- لا تستخدم عشوائية تؤثر في الإجابة إلا ببذرة محفوظة وقيم ضمن نطاق المصدر.
|
||||
- لا تعرض قيماً علمية أو تاريخية أو لغوية تقريبية بوصفها دقيقة. عند غياب الدليل تعرض «يحتاج مراجعة» في بيئة التأليف فقط.
|
||||
- النص والكانفاس ولوحة التحكم تتشارك الحالة نفسها؛ لا يجوز أن تخالف القراءة الرقمية الرسم.
|
||||
|
||||
## 7. محطات فحص الفهم
|
||||
|
||||
تنفذ عبر `LabCheckpointCallback` بعد ظهور الدليل للطالب، وبالترتيب التالي:
|
||||
|
||||
1. **توقّع:** ما الحالة المتوقعة قبل تشغيل التغيير؟ الخيارات تمثل أخطاء شائعة مثبتة أو يراجعها المعلم.
|
||||
2. **استدلال:** أي دليل مرئي/عددي يثبت ما حدث؟ لا يُسأل الطالب قبل ظهور الدليل.
|
||||
3. **تفسير:** لماذا تغيّرت النتيجة عند تغيير العامل المحدد؟
|
||||
4. **نقل:** ماذا يحدث في حالة جديدة تستخدم المفهوم نفسه؟
|
||||
|
||||
لكل محطة يسجل المنفذ: `checkpoint_id`، المحور المنهجي، شرط الإطلاق، السؤال، الخيارات، الإجابة وتعليلها، مرجع الصفحة/القسم، والتلميح. لا تُرسل الإجابة الصحيحة مسبقاً إلى العميل عندما تدخل النتيجة في الإتقان.
|
||||
|
||||
## 8. التغذية الراجعة ومنع التخمين
|
||||
|
||||
- الإجابة الخاطئة لا تعيد المشهد عشوائياً؛ تضيء المتغير والدليل المرتبطين بالخطأ وتقدم تلميحاً واحداً.
|
||||
- بعد محاولتين، تفكك المهمة إلى خطوة أصغر ثم تعيد حالة نقل مختلفة.
|
||||
- يمنع زر «التالي» حتى يلمس الطالب المتغير المقصود ويرى الأثر، لكن يتوفر دائماً زر إعادة الضبط والخروج.
|
||||
- لا تستخدم مؤثر نجاح مبالغاً فيه؛ اهتزاز خفيف وصوت اختياري وحركة قصيرة تكفي.
|
||||
|
||||
## 9. النظام البصري وإمكانية الوصول
|
||||
|
||||
- الخلفية `#07111F`، السطح `#0B1728`/`#102035`، الحدود `Colors.white10`، والتركيز الأساسي `#00F5D4` أو `#0071E3`.
|
||||
- الخط من خط النظام SF Arabic/Geeza Pro؛ لا يعتمد المختبر على تنزيل خط خارجي.
|
||||
- أقل هدف لمس 44×44، وتباين النص الأساسي 4.5:1، وتسمية دلالية لكل تحكم وقراءة.
|
||||
- اللون ليس الدليل الوحيد: كل حالة لها شكل/رمز/نص، مع دعم RTL وترتيب قراءة صحيح لقارئ الشاشة.
|
||||
- يوفر وصفاً نصياً متجدداً للمشهد للطالب الذي لا يرى الرسم، ويعلن التغيرات المهمة دون إغراق قارئ الشاشة.
|
||||
|
||||
## 10. بنية Flutter المطلوبة
|
||||
|
||||
- ملف مستقل باسم مشتق من هوية الدرس، وWidget من نوع `StatefulWidget`.
|
||||
- يستخدم `SaqelLabScaffold` بعد تنقيحه ليحمل هوية الدرس وإصدار الحزمة، لا مساراً نصياً مختلقاً.
|
||||
- `CustomPainter` للرسم، وطبقة domain مستقلة للحساب، وcontroller للحالة، واختبارات widget للمقاسين 390×844 و1024×768.
|
||||
- التسجيل في `labs_registry.dart` يكون بمفتاح `curriculum_lesson_id` صريح وارد من الخادم فقط. ممنوع fallback حسب المبحث أو كلمات العنوان.
|
||||
- المختبر غير المتاح في حزمة منشورة لا يظهر في تجربة الطالب؛ يمكن معاينته فقط في بيئة التأليف المعلّمة بوضوح.
|
||||
|
||||
## 11. سيناريوهات التحقق الإلزامية
|
||||
|
||||
- فتح الدرس الصحيح يعرض هذا المختبر فقط بعد تحقق الحزمة المنشورة والصلاحية.
|
||||
- درس يحمل عنواناً مشابهاً وهوية مختلفة لا يفتح هذا المختبر.
|
||||
- الهاتف واللوحي لا يعانيان overflow، والكانفاس يبقى مرئياً أثناء التحكم.
|
||||
- إعادة الضبط تعيد كل المتغيرات والمؤقتات ومحطات الفهم إلى الحالة الابتدائية.
|
||||
- كل حد أدنى/أقصى يعطي رسماً وقراءة متطابقين ولا ينتج NaN/Infinity.
|
||||
- تقليل الحركة وقارئ الشاشة والتنقل بلوحة المفاتيح يعملون.
|
||||
- لا توجد صور خارجية، بيانات ديمو، أرقام نجاح، أو ادعاء إتقان محلي.
|
||||
|
||||
## 12. تعريف الاكتمال
|
||||
|
||||
- [ ] راجع مختص المادة النتاجات والمحاور والمصطلحات والأمثلة.
|
||||
- [ ] وثقت المعادلات/العلاقات مع الصفحات أو الأقسام.
|
||||
- [ ] اعتمد سيناريو اللعب وأخطاء الطلاب الشائعة.
|
||||
- [ ] نُفذت المحاكاة المتجهية والتحكم المتجاوب.
|
||||
- [ ] نُفذت محطات الفهم بأدلة وتعليلات وتلميحات.
|
||||
- [ ] نجحت اختبارات domain وwidget والوصول والحالات الحدية.
|
||||
- [ ] رُبط المختبر بحزمة خادم منشورة عبر هوية وإصدار صريحين.
|
||||
- [ ] راجع الطالب/المعلم التجربة ولم تُسجل كمكتملة قبل الدليل.
|
||||
@@ -0,0 +1,135 @@
|
||||
---
|
||||
spec_type: curriculum_virtual_lab
|
||||
spec_version: 1.0.0
|
||||
status: draft_requires_academic_review
|
||||
curriculum_version: jordan-grade10-2026-source-review
|
||||
curriculum_lesson_id: arabic_10_semester_2_unit_08_lesson_01
|
||||
grade_key: grade_10
|
||||
subject_key: arabic_10
|
||||
semester_key: semester_2
|
||||
unit_key: unit_08
|
||||
lesson_key: lesson_01
|
||||
source_markdown: grade_10/arabic_10/semester_2/unit_08/lesson_01.md
|
||||
source_extraction_review_status: needs_human_review
|
||||
---
|
||||
|
||||
# مواصفة المختبر التفاعلي — الدرس الأول: أستمعُ بانتباهٍ وتركيزٍ
|
||||
|
||||
> **حالة الملف:** مسودة هندسية مشتقة من ملف القبول المنهجي. لا تُعرض للطالب ولا تُسجّل كمختبر منشور قبل مراجعة المحتوى، وربطها بحزمة نشر خادمية معتمدة وإصدار أصل واضح.
|
||||
|
||||
## 1. بطاقة الارتباط المنهجي
|
||||
|
||||
- المبحث: اللغة العربية
|
||||
- هوية الدرس: `arabic_10_semester_2_unit_08_lesson_01`
|
||||
- المصدر الوحيد لهذه المسودة: `grade_10/arabic_10/semester_2/unit_08/lesson_01.md`
|
||||
- صفحات المصدر المسجلة: 56, 57, 58
|
||||
- حالة مراجعة الاستخراج: `needs_human_review`
|
||||
- يمنع الربط بعنوان الدرس أو `lesson_01` وحده؛ الربط التشغيلي يكون بهوية الدرس وإصدار الحزمة المنشورة.
|
||||
|
||||
## 2. ما الذي يجب أن يفهمه الطالب؟
|
||||
|
||||
### النتاجات المستخرجة
|
||||
|
||||
- يحددها المراجع الأكاديمي من المصدر قبل التنفيذ؛ لا تكفي صياغة عنوان الدرس.
|
||||
|
||||
### محاور الدرس التي يجب تمثيلها
|
||||
|
||||
- الدرس الأول: أستمعُ بانتباهٍ وتركيزٍ
|
||||
|
||||
إذا كانت النتاجات أعلاه عامة أو ناقصة، يستخرج المراجع الأكاديمي نتاجات قابلة للقياس من الصفحات المشار إليها قبل البرمجة. لا يخترع المطور قانوناً أو تعريفاً أو ترجمة أو مثالاً غير مثبت في المصدر.
|
||||
|
||||
## 3. فكرة اللعبة التعليمية
|
||||
|
||||
- **الاستعارة البصرية:** مسرح نصي تفاعلي يفكك البنية والمعنى والإيقاع بصرياً.
|
||||
- **حلقة اللعب:** رتّب عناصر النص أو اللغة واستدل على العلاقة.
|
||||
- **المهمة الأولى — اكتشف:** يبدأ الطالب بمشهد واضح وتعليمة واحدة، ويتنبأ بما سيحدث قبل لمس التحكم.
|
||||
- **المهمة الثانية — جرّب:** يغيّر متغيراً واحداً فقط، ويرى أثره فوراً في الرسم والقراءة والتفسير المختصر.
|
||||
- **المهمة الثالثة — ابنِ:** يرتب العناصر أو يضبط القيم للوصول إلى حالة هدف مأخوذة من مفهوم الدرس.
|
||||
- **المهمة الرابعة — فسّر:** يختار تفسيراً للدليل المرئي، لا تعريفاً محفوظاً.
|
||||
- **المهمة الخامسة — انقل الفهم:** يواجه حالة جديدة بالقانون أو العلاقة نفسها مع قيم/سياق مختلفين.
|
||||
|
||||
لا توجد نقاط أو كؤوس لمجرد النقر. المكافأة البصرية تُمنح عند إظهار دليل فهم، ولا تعني إتقاناً معتمداً؛ الإتقان يُحتسب على الخادم وفق سياسة منفصلة.
|
||||
|
||||
## 4. المشهد المتحرك
|
||||
|
||||
- يرسم بالكامل عبر Flutter `CustomPainter` دون صور PNG/SVG/WebView.
|
||||
- يحول كل محور في قسم «محاور الدرس» إلى طبقة مرئية قابلة للتشغيل والإيقاف.
|
||||
- يعرض السبب والنتيجة في اللحظة نفسها: المتغير المتحكم، أثره في المشهد، والقراءة الرقمية بوحدتها إن وجدت.
|
||||
- تبقى مساحة التجربة ظاهرة أثناء تعديل القيم. على العرض الواسع: كانفاس بمرونة 2 ولوحة تحكم 1 بعرض 320–360px. على الهاتف: كانفاس 300–340px ثم تحكم قابل للتمرير.
|
||||
- الحركة مستمرة عند الحاجة فقط، ويفضل 60fps مع دعم شاشات 120Hz من دون ربط صحة الحساب بعدد الإطارات.
|
||||
- عند تفعيل تقليل الحركة في النظام، تستبدل الحركة المستمرة بانتقالات قصيرة ولقطات حالة مفهومة.
|
||||
|
||||
## 5. نموذج الحالة والتحكم
|
||||
|
||||
ينشئ المطور بعد مراجعة المصدر جدول متغيرات صريحاً:
|
||||
|
||||
| المتغير | معناه في الدرس | النوع/الوحدة | المجال المسموح | القيمة الابتدائية | أثره المرئي |
|
||||
|---|---|---|---|---|---|
|
||||
| `focusParameter` | العامل الرئيس المثبت في المصدر | يحدد من الدرس | يحدد من أمثلة المصدر | حالة محايدة | يغير طبقة واحدة بوضوح |
|
||||
| `comparisonParameter` | عامل المقارنة أو الحالة الثانية | يحدد من الدرس | يحدد من المصدر | مغلق | يظهر فرقاً قابلاً للتفسير |
|
||||
| `timeOrStep` | الزمن أو ترتيب الخطوات عند انطباقه | ثانية/خطوة | بحسب الظاهرة | 0 | يحرك العملية دون تغيير النتيجة حسابياً |
|
||||
|
||||
لوحة التحكم لا تتجاوز ثلاثة عناصر أساسية في المهمة الواحدة. الخيارات المتقدمة تظهر تدريجياً بعد نجاح الطالب في اكتشاف العلاقة الأولى.
|
||||
|
||||
## 6. قواعد المحاكاة والدقة
|
||||
|
||||
- كل معادلة أو ترتيب أو علاقة سببية تُسجل هنا مع مرجع الصفحة/القسم قبل كتابتها في Dart.
|
||||
- تفصل طبقة الحسابات عن `CustomPainter`، وتغطى باختبارات وحدات للقيم الحدية والحالات غير الصالحة.
|
||||
- لا تستخدم عشوائية تؤثر في الإجابة إلا ببذرة محفوظة وقيم ضمن نطاق المصدر.
|
||||
- لا تعرض قيماً علمية أو تاريخية أو لغوية تقريبية بوصفها دقيقة. عند غياب الدليل تعرض «يحتاج مراجعة» في بيئة التأليف فقط.
|
||||
- النص والكانفاس ولوحة التحكم تتشارك الحالة نفسها؛ لا يجوز أن تخالف القراءة الرقمية الرسم.
|
||||
|
||||
## 7. محطات فحص الفهم
|
||||
|
||||
تنفذ عبر `LabCheckpointCallback` بعد ظهور الدليل للطالب، وبالترتيب التالي:
|
||||
|
||||
1. **توقّع:** ما الحالة المتوقعة قبل تشغيل التغيير؟ الخيارات تمثل أخطاء شائعة مثبتة أو يراجعها المعلم.
|
||||
2. **استدلال:** أي دليل مرئي/عددي يثبت ما حدث؟ لا يُسأل الطالب قبل ظهور الدليل.
|
||||
3. **تفسير:** لماذا تغيّرت النتيجة عند تغيير العامل المحدد؟
|
||||
4. **نقل:** ماذا يحدث في حالة جديدة تستخدم المفهوم نفسه؟
|
||||
|
||||
لكل محطة يسجل المنفذ: `checkpoint_id`، المحور المنهجي، شرط الإطلاق، السؤال، الخيارات، الإجابة وتعليلها، مرجع الصفحة/القسم، والتلميح. لا تُرسل الإجابة الصحيحة مسبقاً إلى العميل عندما تدخل النتيجة في الإتقان.
|
||||
|
||||
## 8. التغذية الراجعة ومنع التخمين
|
||||
|
||||
- الإجابة الخاطئة لا تعيد المشهد عشوائياً؛ تضيء المتغير والدليل المرتبطين بالخطأ وتقدم تلميحاً واحداً.
|
||||
- بعد محاولتين، تفكك المهمة إلى خطوة أصغر ثم تعيد حالة نقل مختلفة.
|
||||
- يمنع زر «التالي» حتى يلمس الطالب المتغير المقصود ويرى الأثر، لكن يتوفر دائماً زر إعادة الضبط والخروج.
|
||||
- لا تستخدم مؤثر نجاح مبالغاً فيه؛ اهتزاز خفيف وصوت اختياري وحركة قصيرة تكفي.
|
||||
|
||||
## 9. النظام البصري وإمكانية الوصول
|
||||
|
||||
- الخلفية `#07111F`، السطح `#0B1728`/`#102035`، الحدود `Colors.white10`، والتركيز الأساسي `#00F5D4` أو `#0071E3`.
|
||||
- الخط من خط النظام SF Arabic/Geeza Pro؛ لا يعتمد المختبر على تنزيل خط خارجي.
|
||||
- أقل هدف لمس 44×44، وتباين النص الأساسي 4.5:1، وتسمية دلالية لكل تحكم وقراءة.
|
||||
- اللون ليس الدليل الوحيد: كل حالة لها شكل/رمز/نص، مع دعم RTL وترتيب قراءة صحيح لقارئ الشاشة.
|
||||
- يوفر وصفاً نصياً متجدداً للمشهد للطالب الذي لا يرى الرسم، ويعلن التغيرات المهمة دون إغراق قارئ الشاشة.
|
||||
|
||||
## 10. بنية Flutter المطلوبة
|
||||
|
||||
- ملف مستقل باسم مشتق من هوية الدرس، وWidget من نوع `StatefulWidget`.
|
||||
- يستخدم `SaqelLabScaffold` بعد تنقيحه ليحمل هوية الدرس وإصدار الحزمة، لا مساراً نصياً مختلقاً.
|
||||
- `CustomPainter` للرسم، وطبقة domain مستقلة للحساب، وcontroller للحالة، واختبارات widget للمقاسين 390×844 و1024×768.
|
||||
- التسجيل في `labs_registry.dart` يكون بمفتاح `curriculum_lesson_id` صريح وارد من الخادم فقط. ممنوع fallback حسب المبحث أو كلمات العنوان.
|
||||
- المختبر غير المتاح في حزمة منشورة لا يظهر في تجربة الطالب؛ يمكن معاينته فقط في بيئة التأليف المعلّمة بوضوح.
|
||||
|
||||
## 11. سيناريوهات التحقق الإلزامية
|
||||
|
||||
- فتح الدرس الصحيح يعرض هذا المختبر فقط بعد تحقق الحزمة المنشورة والصلاحية.
|
||||
- درس يحمل عنواناً مشابهاً وهوية مختلفة لا يفتح هذا المختبر.
|
||||
- الهاتف واللوحي لا يعانيان overflow، والكانفاس يبقى مرئياً أثناء التحكم.
|
||||
- إعادة الضبط تعيد كل المتغيرات والمؤقتات ومحطات الفهم إلى الحالة الابتدائية.
|
||||
- كل حد أدنى/أقصى يعطي رسماً وقراءة متطابقين ولا ينتج NaN/Infinity.
|
||||
- تقليل الحركة وقارئ الشاشة والتنقل بلوحة المفاتيح يعملون.
|
||||
- لا توجد صور خارجية، بيانات ديمو، أرقام نجاح، أو ادعاء إتقان محلي.
|
||||
|
||||
## 12. تعريف الاكتمال
|
||||
|
||||
- [ ] راجع مختص المادة النتاجات والمحاور والمصطلحات والأمثلة.
|
||||
- [ ] وثقت المعادلات/العلاقات مع الصفحات أو الأقسام.
|
||||
- [ ] اعتمد سيناريو اللعب وأخطاء الطلاب الشائعة.
|
||||
- [ ] نُفذت المحاكاة المتجهية والتحكم المتجاوب.
|
||||
- [ ] نُفذت محطات الفهم بأدلة وتعليلات وتلميحات.
|
||||
- [ ] نجحت اختبارات domain وwidget والوصول والحالات الحدية.
|
||||
- [ ] رُبط المختبر بحزمة خادم منشورة عبر هوية وإصدار صريحين.
|
||||
- [ ] راجع الطالب/المعلم التجربة ولم تُسجل كمكتملة قبل الدليل.
|
||||
@@ -0,0 +1,135 @@
|
||||
---
|
||||
spec_type: curriculum_virtual_lab
|
||||
spec_version: 1.0.0
|
||||
status: draft_requires_academic_review
|
||||
curriculum_version: jordan-grade10-2026-source-review
|
||||
curriculum_lesson_id: arabic_10_semester_2_unit_08_lesson_02
|
||||
grade_key: grade_10
|
||||
subject_key: arabic_10
|
||||
semester_key: semester_2
|
||||
unit_key: unit_08
|
||||
lesson_key: lesson_02
|
||||
source_markdown: grade_10/arabic_10/semester_2/unit_08/lesson_02.md
|
||||
source_extraction_review_status: needs_human_review
|
||||
---
|
||||
|
||||
# مواصفة المختبر التفاعلي — الدرس الثاني: أتحدثُ بطالقةٍ (إدارة الندوة)
|
||||
|
||||
> **حالة الملف:** مسودة هندسية مشتقة من ملف القبول المنهجي. لا تُعرض للطالب ولا تُسجّل كمختبر منشور قبل مراجعة المحتوى، وربطها بحزمة نشر خادمية معتمدة وإصدار أصل واضح.
|
||||
|
||||
## 1. بطاقة الارتباط المنهجي
|
||||
|
||||
- المبحث: اللغة العربية
|
||||
- هوية الدرس: `arabic_10_semester_2_unit_08_lesson_02`
|
||||
- المصدر الوحيد لهذه المسودة: `grade_10/arabic_10/semester_2/unit_08/lesson_02.md`
|
||||
- صفحات المصدر المسجلة: 59, 60, 61
|
||||
- حالة مراجعة الاستخراج: `needs_human_review`
|
||||
- يمنع الربط بعنوان الدرس أو `lesson_01` وحده؛ الربط التشغيلي يكون بهوية الدرس وإصدار الحزمة المنشورة.
|
||||
|
||||
## 2. ما الذي يجب أن يفهمه الطالب؟
|
||||
|
||||
### النتاجات المستخرجة
|
||||
|
||||
- يحددها المراجع الأكاديمي من المصدر قبل التنفيذ؛ لا تكفي صياغة عنوان الدرس.
|
||||
|
||||
### محاور الدرس التي يجب تمثيلها
|
||||
|
||||
- الدرس الثاني: أتحدثُ بطالقةٍ (إدارة الندوة)
|
||||
|
||||
إذا كانت النتاجات أعلاه عامة أو ناقصة، يستخرج المراجع الأكاديمي نتاجات قابلة للقياس من الصفحات المشار إليها قبل البرمجة. لا يخترع المطور قانوناً أو تعريفاً أو ترجمة أو مثالاً غير مثبت في المصدر.
|
||||
|
||||
## 3. فكرة اللعبة التعليمية
|
||||
|
||||
- **الاستعارة البصرية:** مسرح نصي تفاعلي يفكك البنية والمعنى والإيقاع بصرياً.
|
||||
- **حلقة اللعب:** رتّب عناصر النص أو اللغة واستدل على العلاقة.
|
||||
- **المهمة الأولى — اكتشف:** يبدأ الطالب بمشهد واضح وتعليمة واحدة، ويتنبأ بما سيحدث قبل لمس التحكم.
|
||||
- **المهمة الثانية — جرّب:** يغيّر متغيراً واحداً فقط، ويرى أثره فوراً في الرسم والقراءة والتفسير المختصر.
|
||||
- **المهمة الثالثة — ابنِ:** يرتب العناصر أو يضبط القيم للوصول إلى حالة هدف مأخوذة من مفهوم الدرس.
|
||||
- **المهمة الرابعة — فسّر:** يختار تفسيراً للدليل المرئي، لا تعريفاً محفوظاً.
|
||||
- **المهمة الخامسة — انقل الفهم:** يواجه حالة جديدة بالقانون أو العلاقة نفسها مع قيم/سياق مختلفين.
|
||||
|
||||
لا توجد نقاط أو كؤوس لمجرد النقر. المكافأة البصرية تُمنح عند إظهار دليل فهم، ولا تعني إتقاناً معتمداً؛ الإتقان يُحتسب على الخادم وفق سياسة منفصلة.
|
||||
|
||||
## 4. المشهد المتحرك
|
||||
|
||||
- يرسم بالكامل عبر Flutter `CustomPainter` دون صور PNG/SVG/WebView.
|
||||
- يحول كل محور في قسم «محاور الدرس» إلى طبقة مرئية قابلة للتشغيل والإيقاف.
|
||||
- يعرض السبب والنتيجة في اللحظة نفسها: المتغير المتحكم، أثره في المشهد، والقراءة الرقمية بوحدتها إن وجدت.
|
||||
- تبقى مساحة التجربة ظاهرة أثناء تعديل القيم. على العرض الواسع: كانفاس بمرونة 2 ولوحة تحكم 1 بعرض 320–360px. على الهاتف: كانفاس 300–340px ثم تحكم قابل للتمرير.
|
||||
- الحركة مستمرة عند الحاجة فقط، ويفضل 60fps مع دعم شاشات 120Hz من دون ربط صحة الحساب بعدد الإطارات.
|
||||
- عند تفعيل تقليل الحركة في النظام، تستبدل الحركة المستمرة بانتقالات قصيرة ولقطات حالة مفهومة.
|
||||
|
||||
## 5. نموذج الحالة والتحكم
|
||||
|
||||
ينشئ المطور بعد مراجعة المصدر جدول متغيرات صريحاً:
|
||||
|
||||
| المتغير | معناه في الدرس | النوع/الوحدة | المجال المسموح | القيمة الابتدائية | أثره المرئي |
|
||||
|---|---|---|---|---|---|
|
||||
| `focusParameter` | العامل الرئيس المثبت في المصدر | يحدد من الدرس | يحدد من أمثلة المصدر | حالة محايدة | يغير طبقة واحدة بوضوح |
|
||||
| `comparisonParameter` | عامل المقارنة أو الحالة الثانية | يحدد من الدرس | يحدد من المصدر | مغلق | يظهر فرقاً قابلاً للتفسير |
|
||||
| `timeOrStep` | الزمن أو ترتيب الخطوات عند انطباقه | ثانية/خطوة | بحسب الظاهرة | 0 | يحرك العملية دون تغيير النتيجة حسابياً |
|
||||
|
||||
لوحة التحكم لا تتجاوز ثلاثة عناصر أساسية في المهمة الواحدة. الخيارات المتقدمة تظهر تدريجياً بعد نجاح الطالب في اكتشاف العلاقة الأولى.
|
||||
|
||||
## 6. قواعد المحاكاة والدقة
|
||||
|
||||
- كل معادلة أو ترتيب أو علاقة سببية تُسجل هنا مع مرجع الصفحة/القسم قبل كتابتها في Dart.
|
||||
- تفصل طبقة الحسابات عن `CustomPainter`، وتغطى باختبارات وحدات للقيم الحدية والحالات غير الصالحة.
|
||||
- لا تستخدم عشوائية تؤثر في الإجابة إلا ببذرة محفوظة وقيم ضمن نطاق المصدر.
|
||||
- لا تعرض قيماً علمية أو تاريخية أو لغوية تقريبية بوصفها دقيقة. عند غياب الدليل تعرض «يحتاج مراجعة» في بيئة التأليف فقط.
|
||||
- النص والكانفاس ولوحة التحكم تتشارك الحالة نفسها؛ لا يجوز أن تخالف القراءة الرقمية الرسم.
|
||||
|
||||
## 7. محطات فحص الفهم
|
||||
|
||||
تنفذ عبر `LabCheckpointCallback` بعد ظهور الدليل للطالب، وبالترتيب التالي:
|
||||
|
||||
1. **توقّع:** ما الحالة المتوقعة قبل تشغيل التغيير؟ الخيارات تمثل أخطاء شائعة مثبتة أو يراجعها المعلم.
|
||||
2. **استدلال:** أي دليل مرئي/عددي يثبت ما حدث؟ لا يُسأل الطالب قبل ظهور الدليل.
|
||||
3. **تفسير:** لماذا تغيّرت النتيجة عند تغيير العامل المحدد؟
|
||||
4. **نقل:** ماذا يحدث في حالة جديدة تستخدم المفهوم نفسه؟
|
||||
|
||||
لكل محطة يسجل المنفذ: `checkpoint_id`، المحور المنهجي، شرط الإطلاق، السؤال، الخيارات، الإجابة وتعليلها، مرجع الصفحة/القسم، والتلميح. لا تُرسل الإجابة الصحيحة مسبقاً إلى العميل عندما تدخل النتيجة في الإتقان.
|
||||
|
||||
## 8. التغذية الراجعة ومنع التخمين
|
||||
|
||||
- الإجابة الخاطئة لا تعيد المشهد عشوائياً؛ تضيء المتغير والدليل المرتبطين بالخطأ وتقدم تلميحاً واحداً.
|
||||
- بعد محاولتين، تفكك المهمة إلى خطوة أصغر ثم تعيد حالة نقل مختلفة.
|
||||
- يمنع زر «التالي» حتى يلمس الطالب المتغير المقصود ويرى الأثر، لكن يتوفر دائماً زر إعادة الضبط والخروج.
|
||||
- لا تستخدم مؤثر نجاح مبالغاً فيه؛ اهتزاز خفيف وصوت اختياري وحركة قصيرة تكفي.
|
||||
|
||||
## 9. النظام البصري وإمكانية الوصول
|
||||
|
||||
- الخلفية `#07111F`، السطح `#0B1728`/`#102035`، الحدود `Colors.white10`، والتركيز الأساسي `#00F5D4` أو `#0071E3`.
|
||||
- الخط من خط النظام SF Arabic/Geeza Pro؛ لا يعتمد المختبر على تنزيل خط خارجي.
|
||||
- أقل هدف لمس 44×44، وتباين النص الأساسي 4.5:1، وتسمية دلالية لكل تحكم وقراءة.
|
||||
- اللون ليس الدليل الوحيد: كل حالة لها شكل/رمز/نص، مع دعم RTL وترتيب قراءة صحيح لقارئ الشاشة.
|
||||
- يوفر وصفاً نصياً متجدداً للمشهد للطالب الذي لا يرى الرسم، ويعلن التغيرات المهمة دون إغراق قارئ الشاشة.
|
||||
|
||||
## 10. بنية Flutter المطلوبة
|
||||
|
||||
- ملف مستقل باسم مشتق من هوية الدرس، وWidget من نوع `StatefulWidget`.
|
||||
- يستخدم `SaqelLabScaffold` بعد تنقيحه ليحمل هوية الدرس وإصدار الحزمة، لا مساراً نصياً مختلقاً.
|
||||
- `CustomPainter` للرسم، وطبقة domain مستقلة للحساب، وcontroller للحالة، واختبارات widget للمقاسين 390×844 و1024×768.
|
||||
- التسجيل في `labs_registry.dart` يكون بمفتاح `curriculum_lesson_id` صريح وارد من الخادم فقط. ممنوع fallback حسب المبحث أو كلمات العنوان.
|
||||
- المختبر غير المتاح في حزمة منشورة لا يظهر في تجربة الطالب؛ يمكن معاينته فقط في بيئة التأليف المعلّمة بوضوح.
|
||||
|
||||
## 11. سيناريوهات التحقق الإلزامية
|
||||
|
||||
- فتح الدرس الصحيح يعرض هذا المختبر فقط بعد تحقق الحزمة المنشورة والصلاحية.
|
||||
- درس يحمل عنواناً مشابهاً وهوية مختلفة لا يفتح هذا المختبر.
|
||||
- الهاتف واللوحي لا يعانيان overflow، والكانفاس يبقى مرئياً أثناء التحكم.
|
||||
- إعادة الضبط تعيد كل المتغيرات والمؤقتات ومحطات الفهم إلى الحالة الابتدائية.
|
||||
- كل حد أدنى/أقصى يعطي رسماً وقراءة متطابقين ولا ينتج NaN/Infinity.
|
||||
- تقليل الحركة وقارئ الشاشة والتنقل بلوحة المفاتيح يعملون.
|
||||
- لا توجد صور خارجية، بيانات ديمو، أرقام نجاح، أو ادعاء إتقان محلي.
|
||||
|
||||
## 12. تعريف الاكتمال
|
||||
|
||||
- [ ] راجع مختص المادة النتاجات والمحاور والمصطلحات والأمثلة.
|
||||
- [ ] وثقت المعادلات/العلاقات مع الصفحات أو الأقسام.
|
||||
- [ ] اعتمد سيناريو اللعب وأخطاء الطلاب الشائعة.
|
||||
- [ ] نُفذت المحاكاة المتجهية والتحكم المتجاوب.
|
||||
- [ ] نُفذت محطات الفهم بأدلة وتعليلات وتلميحات.
|
||||
- [ ] نجحت اختبارات domain وwidget والوصول والحالات الحدية.
|
||||
- [ ] رُبط المختبر بحزمة خادم منشورة عبر هوية وإصدار صريحين.
|
||||
- [ ] راجع الطالب/المعلم التجربة ولم تُسجل كمكتملة قبل الدليل.
|
||||
@@ -0,0 +1,135 @@
|
||||
---
|
||||
spec_type: curriculum_virtual_lab
|
||||
spec_version: 1.0.0
|
||||
status: draft_requires_academic_review
|
||||
curriculum_version: jordan-grade10-2026-source-review
|
||||
curriculum_lesson_id: arabic_10_semester_2_unit_08_lesson_03
|
||||
grade_key: grade_10
|
||||
subject_key: arabic_10
|
||||
semester_key: semester_2
|
||||
unit_key: unit_08
|
||||
lesson_key: lesson_03
|
||||
source_markdown: grade_10/arabic_10/semester_2/unit_08/lesson_03.md
|
||||
source_extraction_review_status: needs_human_review
|
||||
---
|
||||
|
||||
# مواصفة المختبر التفاعلي — الدرس الثالث: أقرأُ بطالقةٍ وفهمٍ (مقطوعات من الغزل العذري)
|
||||
|
||||
> **حالة الملف:** مسودة هندسية مشتقة من ملف القبول المنهجي. لا تُعرض للطالب ولا تُسجّل كمختبر منشور قبل مراجعة المحتوى، وربطها بحزمة نشر خادمية معتمدة وإصدار أصل واضح.
|
||||
|
||||
## 1. بطاقة الارتباط المنهجي
|
||||
|
||||
- المبحث: اللغة العربية
|
||||
- هوية الدرس: `arabic_10_semester_2_unit_08_lesson_03`
|
||||
- المصدر الوحيد لهذه المسودة: `grade_10/arabic_10/semester_2/unit_08/lesson_03.md`
|
||||
- صفحات المصدر المسجلة: 62, 63, 64, 65, 66, 67, 68, 69
|
||||
- حالة مراجعة الاستخراج: `needs_human_review`
|
||||
- يمنع الربط بعنوان الدرس أو `lesson_01` وحده؛ الربط التشغيلي يكون بهوية الدرس وإصدار الحزمة المنشورة.
|
||||
|
||||
## 2. ما الذي يجب أن يفهمه الطالب؟
|
||||
|
||||
### النتاجات المستخرجة
|
||||
|
||||
- يحددها المراجع الأكاديمي من المصدر قبل التنفيذ؛ لا تكفي صياغة عنوان الدرس.
|
||||
|
||||
### محاور الدرس التي يجب تمثيلها
|
||||
|
||||
- الدرس الثالث: أقرأُ بطالقةٍ وفهمٍ (مقطوعات من الغزل العذري)
|
||||
|
||||
إذا كانت النتاجات أعلاه عامة أو ناقصة، يستخرج المراجع الأكاديمي نتاجات قابلة للقياس من الصفحات المشار إليها قبل البرمجة. لا يخترع المطور قانوناً أو تعريفاً أو ترجمة أو مثالاً غير مثبت في المصدر.
|
||||
|
||||
## 3. فكرة اللعبة التعليمية
|
||||
|
||||
- **الاستعارة البصرية:** مسرح نصي تفاعلي يفكك البنية والمعنى والإيقاع بصرياً.
|
||||
- **حلقة اللعب:** رتّب عناصر النص أو اللغة واستدل على العلاقة.
|
||||
- **المهمة الأولى — اكتشف:** يبدأ الطالب بمشهد واضح وتعليمة واحدة، ويتنبأ بما سيحدث قبل لمس التحكم.
|
||||
- **المهمة الثانية — جرّب:** يغيّر متغيراً واحداً فقط، ويرى أثره فوراً في الرسم والقراءة والتفسير المختصر.
|
||||
- **المهمة الثالثة — ابنِ:** يرتب العناصر أو يضبط القيم للوصول إلى حالة هدف مأخوذة من مفهوم الدرس.
|
||||
- **المهمة الرابعة — فسّر:** يختار تفسيراً للدليل المرئي، لا تعريفاً محفوظاً.
|
||||
- **المهمة الخامسة — انقل الفهم:** يواجه حالة جديدة بالقانون أو العلاقة نفسها مع قيم/سياق مختلفين.
|
||||
|
||||
لا توجد نقاط أو كؤوس لمجرد النقر. المكافأة البصرية تُمنح عند إظهار دليل فهم، ولا تعني إتقاناً معتمداً؛ الإتقان يُحتسب على الخادم وفق سياسة منفصلة.
|
||||
|
||||
## 4. المشهد المتحرك
|
||||
|
||||
- يرسم بالكامل عبر Flutter `CustomPainter` دون صور PNG/SVG/WebView.
|
||||
- يحول كل محور في قسم «محاور الدرس» إلى طبقة مرئية قابلة للتشغيل والإيقاف.
|
||||
- يعرض السبب والنتيجة في اللحظة نفسها: المتغير المتحكم، أثره في المشهد، والقراءة الرقمية بوحدتها إن وجدت.
|
||||
- تبقى مساحة التجربة ظاهرة أثناء تعديل القيم. على العرض الواسع: كانفاس بمرونة 2 ولوحة تحكم 1 بعرض 320–360px. على الهاتف: كانفاس 300–340px ثم تحكم قابل للتمرير.
|
||||
- الحركة مستمرة عند الحاجة فقط، ويفضل 60fps مع دعم شاشات 120Hz من دون ربط صحة الحساب بعدد الإطارات.
|
||||
- عند تفعيل تقليل الحركة في النظام، تستبدل الحركة المستمرة بانتقالات قصيرة ولقطات حالة مفهومة.
|
||||
|
||||
## 5. نموذج الحالة والتحكم
|
||||
|
||||
ينشئ المطور بعد مراجعة المصدر جدول متغيرات صريحاً:
|
||||
|
||||
| المتغير | معناه في الدرس | النوع/الوحدة | المجال المسموح | القيمة الابتدائية | أثره المرئي |
|
||||
|---|---|---|---|---|---|
|
||||
| `focusParameter` | العامل الرئيس المثبت في المصدر | يحدد من الدرس | يحدد من أمثلة المصدر | حالة محايدة | يغير طبقة واحدة بوضوح |
|
||||
| `comparisonParameter` | عامل المقارنة أو الحالة الثانية | يحدد من الدرس | يحدد من المصدر | مغلق | يظهر فرقاً قابلاً للتفسير |
|
||||
| `timeOrStep` | الزمن أو ترتيب الخطوات عند انطباقه | ثانية/خطوة | بحسب الظاهرة | 0 | يحرك العملية دون تغيير النتيجة حسابياً |
|
||||
|
||||
لوحة التحكم لا تتجاوز ثلاثة عناصر أساسية في المهمة الواحدة. الخيارات المتقدمة تظهر تدريجياً بعد نجاح الطالب في اكتشاف العلاقة الأولى.
|
||||
|
||||
## 6. قواعد المحاكاة والدقة
|
||||
|
||||
- كل معادلة أو ترتيب أو علاقة سببية تُسجل هنا مع مرجع الصفحة/القسم قبل كتابتها في Dart.
|
||||
- تفصل طبقة الحسابات عن `CustomPainter`، وتغطى باختبارات وحدات للقيم الحدية والحالات غير الصالحة.
|
||||
- لا تستخدم عشوائية تؤثر في الإجابة إلا ببذرة محفوظة وقيم ضمن نطاق المصدر.
|
||||
- لا تعرض قيماً علمية أو تاريخية أو لغوية تقريبية بوصفها دقيقة. عند غياب الدليل تعرض «يحتاج مراجعة» في بيئة التأليف فقط.
|
||||
- النص والكانفاس ولوحة التحكم تتشارك الحالة نفسها؛ لا يجوز أن تخالف القراءة الرقمية الرسم.
|
||||
|
||||
## 7. محطات فحص الفهم
|
||||
|
||||
تنفذ عبر `LabCheckpointCallback` بعد ظهور الدليل للطالب، وبالترتيب التالي:
|
||||
|
||||
1. **توقّع:** ما الحالة المتوقعة قبل تشغيل التغيير؟ الخيارات تمثل أخطاء شائعة مثبتة أو يراجعها المعلم.
|
||||
2. **استدلال:** أي دليل مرئي/عددي يثبت ما حدث؟ لا يُسأل الطالب قبل ظهور الدليل.
|
||||
3. **تفسير:** لماذا تغيّرت النتيجة عند تغيير العامل المحدد؟
|
||||
4. **نقل:** ماذا يحدث في حالة جديدة تستخدم المفهوم نفسه؟
|
||||
|
||||
لكل محطة يسجل المنفذ: `checkpoint_id`، المحور المنهجي، شرط الإطلاق، السؤال، الخيارات، الإجابة وتعليلها، مرجع الصفحة/القسم، والتلميح. لا تُرسل الإجابة الصحيحة مسبقاً إلى العميل عندما تدخل النتيجة في الإتقان.
|
||||
|
||||
## 8. التغذية الراجعة ومنع التخمين
|
||||
|
||||
- الإجابة الخاطئة لا تعيد المشهد عشوائياً؛ تضيء المتغير والدليل المرتبطين بالخطأ وتقدم تلميحاً واحداً.
|
||||
- بعد محاولتين، تفكك المهمة إلى خطوة أصغر ثم تعيد حالة نقل مختلفة.
|
||||
- يمنع زر «التالي» حتى يلمس الطالب المتغير المقصود ويرى الأثر، لكن يتوفر دائماً زر إعادة الضبط والخروج.
|
||||
- لا تستخدم مؤثر نجاح مبالغاً فيه؛ اهتزاز خفيف وصوت اختياري وحركة قصيرة تكفي.
|
||||
|
||||
## 9. النظام البصري وإمكانية الوصول
|
||||
|
||||
- الخلفية `#07111F`، السطح `#0B1728`/`#102035`، الحدود `Colors.white10`، والتركيز الأساسي `#00F5D4` أو `#0071E3`.
|
||||
- الخط من خط النظام SF Arabic/Geeza Pro؛ لا يعتمد المختبر على تنزيل خط خارجي.
|
||||
- أقل هدف لمس 44×44، وتباين النص الأساسي 4.5:1، وتسمية دلالية لكل تحكم وقراءة.
|
||||
- اللون ليس الدليل الوحيد: كل حالة لها شكل/رمز/نص، مع دعم RTL وترتيب قراءة صحيح لقارئ الشاشة.
|
||||
- يوفر وصفاً نصياً متجدداً للمشهد للطالب الذي لا يرى الرسم، ويعلن التغيرات المهمة دون إغراق قارئ الشاشة.
|
||||
|
||||
## 10. بنية Flutter المطلوبة
|
||||
|
||||
- ملف مستقل باسم مشتق من هوية الدرس، وWidget من نوع `StatefulWidget`.
|
||||
- يستخدم `SaqelLabScaffold` بعد تنقيحه ليحمل هوية الدرس وإصدار الحزمة، لا مساراً نصياً مختلقاً.
|
||||
- `CustomPainter` للرسم، وطبقة domain مستقلة للحساب، وcontroller للحالة، واختبارات widget للمقاسين 390×844 و1024×768.
|
||||
- التسجيل في `labs_registry.dart` يكون بمفتاح `curriculum_lesson_id` صريح وارد من الخادم فقط. ممنوع fallback حسب المبحث أو كلمات العنوان.
|
||||
- المختبر غير المتاح في حزمة منشورة لا يظهر في تجربة الطالب؛ يمكن معاينته فقط في بيئة التأليف المعلّمة بوضوح.
|
||||
|
||||
## 11. سيناريوهات التحقق الإلزامية
|
||||
|
||||
- فتح الدرس الصحيح يعرض هذا المختبر فقط بعد تحقق الحزمة المنشورة والصلاحية.
|
||||
- درس يحمل عنواناً مشابهاً وهوية مختلفة لا يفتح هذا المختبر.
|
||||
- الهاتف واللوحي لا يعانيان overflow، والكانفاس يبقى مرئياً أثناء التحكم.
|
||||
- إعادة الضبط تعيد كل المتغيرات والمؤقتات ومحطات الفهم إلى الحالة الابتدائية.
|
||||
- كل حد أدنى/أقصى يعطي رسماً وقراءة متطابقين ولا ينتج NaN/Infinity.
|
||||
- تقليل الحركة وقارئ الشاشة والتنقل بلوحة المفاتيح يعملون.
|
||||
- لا توجد صور خارجية، بيانات ديمو، أرقام نجاح، أو ادعاء إتقان محلي.
|
||||
|
||||
## 12. تعريف الاكتمال
|
||||
|
||||
- [ ] راجع مختص المادة النتاجات والمحاور والمصطلحات والأمثلة.
|
||||
- [ ] وثقت المعادلات/العلاقات مع الصفحات أو الأقسام.
|
||||
- [ ] اعتمد سيناريو اللعب وأخطاء الطلاب الشائعة.
|
||||
- [ ] نُفذت المحاكاة المتجهية والتحكم المتجاوب.
|
||||
- [ ] نُفذت محطات الفهم بأدلة وتعليلات وتلميحات.
|
||||
- [ ] نجحت اختبارات domain وwidget والوصول والحالات الحدية.
|
||||
- [ ] رُبط المختبر بحزمة خادم منشورة عبر هوية وإصدار صريحين.
|
||||
- [ ] راجع الطالب/المعلم التجربة ولم تُسجل كمكتملة قبل الدليل.
|
||||
@@ -0,0 +1,135 @@
|
||||
---
|
||||
spec_type: curriculum_virtual_lab
|
||||
spec_version: 1.0.0
|
||||
status: draft_requires_academic_review
|
||||
curriculum_version: jordan-grade10-2026-source-review
|
||||
curriculum_lesson_id: arabic_10_semester_2_unit_08_lesson_04
|
||||
grade_key: grade_10
|
||||
subject_key: arabic_10
|
||||
semester_key: semester_2
|
||||
unit_key: unit_08
|
||||
lesson_key: lesson_04
|
||||
source_markdown: grade_10/arabic_10/semester_2/unit_08/lesson_04.md
|
||||
source_extraction_review_status: needs_human_review
|
||||
---
|
||||
|
||||
# مواصفة المختبر التفاعلي — الدرس الرابع: أكتبُ محتوى (إعداد مخطط مبادرة تطوعية)
|
||||
|
||||
> **حالة الملف:** مسودة هندسية مشتقة من ملف القبول المنهجي. لا تُعرض للطالب ولا تُسجّل كمختبر منشور قبل مراجعة المحتوى، وربطها بحزمة نشر خادمية معتمدة وإصدار أصل واضح.
|
||||
|
||||
## 1. بطاقة الارتباط المنهجي
|
||||
|
||||
- المبحث: اللغة العربية
|
||||
- هوية الدرس: `arabic_10_semester_2_unit_08_lesson_04`
|
||||
- المصدر الوحيد لهذه المسودة: `grade_10/arabic_10/semester_2/unit_08/lesson_04.md`
|
||||
- صفحات المصدر المسجلة: 70, 71, 72, 73
|
||||
- حالة مراجعة الاستخراج: `needs_human_review`
|
||||
- يمنع الربط بعنوان الدرس أو `lesson_01` وحده؛ الربط التشغيلي يكون بهوية الدرس وإصدار الحزمة المنشورة.
|
||||
|
||||
## 2. ما الذي يجب أن يفهمه الطالب؟
|
||||
|
||||
### النتاجات المستخرجة
|
||||
|
||||
- يحددها المراجع الأكاديمي من المصدر قبل التنفيذ؛ لا تكفي صياغة عنوان الدرس.
|
||||
|
||||
### محاور الدرس التي يجب تمثيلها
|
||||
|
||||
- الدرس الرابع: أكتبُ محتوى (إعداد مخطط مبادرة تطوعية)
|
||||
|
||||
إذا كانت النتاجات أعلاه عامة أو ناقصة، يستخرج المراجع الأكاديمي نتاجات قابلة للقياس من الصفحات المشار إليها قبل البرمجة. لا يخترع المطور قانوناً أو تعريفاً أو ترجمة أو مثالاً غير مثبت في المصدر.
|
||||
|
||||
## 3. فكرة اللعبة التعليمية
|
||||
|
||||
- **الاستعارة البصرية:** مسرح نصي تفاعلي يفكك البنية والمعنى والإيقاع بصرياً.
|
||||
- **حلقة اللعب:** رتّب عناصر النص أو اللغة واستدل على العلاقة.
|
||||
- **المهمة الأولى — اكتشف:** يبدأ الطالب بمشهد واضح وتعليمة واحدة، ويتنبأ بما سيحدث قبل لمس التحكم.
|
||||
- **المهمة الثانية — جرّب:** يغيّر متغيراً واحداً فقط، ويرى أثره فوراً في الرسم والقراءة والتفسير المختصر.
|
||||
- **المهمة الثالثة — ابنِ:** يرتب العناصر أو يضبط القيم للوصول إلى حالة هدف مأخوذة من مفهوم الدرس.
|
||||
- **المهمة الرابعة — فسّر:** يختار تفسيراً للدليل المرئي، لا تعريفاً محفوظاً.
|
||||
- **المهمة الخامسة — انقل الفهم:** يواجه حالة جديدة بالقانون أو العلاقة نفسها مع قيم/سياق مختلفين.
|
||||
|
||||
لا توجد نقاط أو كؤوس لمجرد النقر. المكافأة البصرية تُمنح عند إظهار دليل فهم، ولا تعني إتقاناً معتمداً؛ الإتقان يُحتسب على الخادم وفق سياسة منفصلة.
|
||||
|
||||
## 4. المشهد المتحرك
|
||||
|
||||
- يرسم بالكامل عبر Flutter `CustomPainter` دون صور PNG/SVG/WebView.
|
||||
- يحول كل محور في قسم «محاور الدرس» إلى طبقة مرئية قابلة للتشغيل والإيقاف.
|
||||
- يعرض السبب والنتيجة في اللحظة نفسها: المتغير المتحكم، أثره في المشهد، والقراءة الرقمية بوحدتها إن وجدت.
|
||||
- تبقى مساحة التجربة ظاهرة أثناء تعديل القيم. على العرض الواسع: كانفاس بمرونة 2 ولوحة تحكم 1 بعرض 320–360px. على الهاتف: كانفاس 300–340px ثم تحكم قابل للتمرير.
|
||||
- الحركة مستمرة عند الحاجة فقط، ويفضل 60fps مع دعم شاشات 120Hz من دون ربط صحة الحساب بعدد الإطارات.
|
||||
- عند تفعيل تقليل الحركة في النظام، تستبدل الحركة المستمرة بانتقالات قصيرة ولقطات حالة مفهومة.
|
||||
|
||||
## 5. نموذج الحالة والتحكم
|
||||
|
||||
ينشئ المطور بعد مراجعة المصدر جدول متغيرات صريحاً:
|
||||
|
||||
| المتغير | معناه في الدرس | النوع/الوحدة | المجال المسموح | القيمة الابتدائية | أثره المرئي |
|
||||
|---|---|---|---|---|---|
|
||||
| `focusParameter` | العامل الرئيس المثبت في المصدر | يحدد من الدرس | يحدد من أمثلة المصدر | حالة محايدة | يغير طبقة واحدة بوضوح |
|
||||
| `comparisonParameter` | عامل المقارنة أو الحالة الثانية | يحدد من الدرس | يحدد من المصدر | مغلق | يظهر فرقاً قابلاً للتفسير |
|
||||
| `timeOrStep` | الزمن أو ترتيب الخطوات عند انطباقه | ثانية/خطوة | بحسب الظاهرة | 0 | يحرك العملية دون تغيير النتيجة حسابياً |
|
||||
|
||||
لوحة التحكم لا تتجاوز ثلاثة عناصر أساسية في المهمة الواحدة. الخيارات المتقدمة تظهر تدريجياً بعد نجاح الطالب في اكتشاف العلاقة الأولى.
|
||||
|
||||
## 6. قواعد المحاكاة والدقة
|
||||
|
||||
- كل معادلة أو ترتيب أو علاقة سببية تُسجل هنا مع مرجع الصفحة/القسم قبل كتابتها في Dart.
|
||||
- تفصل طبقة الحسابات عن `CustomPainter`، وتغطى باختبارات وحدات للقيم الحدية والحالات غير الصالحة.
|
||||
- لا تستخدم عشوائية تؤثر في الإجابة إلا ببذرة محفوظة وقيم ضمن نطاق المصدر.
|
||||
- لا تعرض قيماً علمية أو تاريخية أو لغوية تقريبية بوصفها دقيقة. عند غياب الدليل تعرض «يحتاج مراجعة» في بيئة التأليف فقط.
|
||||
- النص والكانفاس ولوحة التحكم تتشارك الحالة نفسها؛ لا يجوز أن تخالف القراءة الرقمية الرسم.
|
||||
|
||||
## 7. محطات فحص الفهم
|
||||
|
||||
تنفذ عبر `LabCheckpointCallback` بعد ظهور الدليل للطالب، وبالترتيب التالي:
|
||||
|
||||
1. **توقّع:** ما الحالة المتوقعة قبل تشغيل التغيير؟ الخيارات تمثل أخطاء شائعة مثبتة أو يراجعها المعلم.
|
||||
2. **استدلال:** أي دليل مرئي/عددي يثبت ما حدث؟ لا يُسأل الطالب قبل ظهور الدليل.
|
||||
3. **تفسير:** لماذا تغيّرت النتيجة عند تغيير العامل المحدد؟
|
||||
4. **نقل:** ماذا يحدث في حالة جديدة تستخدم المفهوم نفسه؟
|
||||
|
||||
لكل محطة يسجل المنفذ: `checkpoint_id`، المحور المنهجي، شرط الإطلاق، السؤال، الخيارات، الإجابة وتعليلها، مرجع الصفحة/القسم، والتلميح. لا تُرسل الإجابة الصحيحة مسبقاً إلى العميل عندما تدخل النتيجة في الإتقان.
|
||||
|
||||
## 8. التغذية الراجعة ومنع التخمين
|
||||
|
||||
- الإجابة الخاطئة لا تعيد المشهد عشوائياً؛ تضيء المتغير والدليل المرتبطين بالخطأ وتقدم تلميحاً واحداً.
|
||||
- بعد محاولتين، تفكك المهمة إلى خطوة أصغر ثم تعيد حالة نقل مختلفة.
|
||||
- يمنع زر «التالي» حتى يلمس الطالب المتغير المقصود ويرى الأثر، لكن يتوفر دائماً زر إعادة الضبط والخروج.
|
||||
- لا تستخدم مؤثر نجاح مبالغاً فيه؛ اهتزاز خفيف وصوت اختياري وحركة قصيرة تكفي.
|
||||
|
||||
## 9. النظام البصري وإمكانية الوصول
|
||||
|
||||
- الخلفية `#07111F`، السطح `#0B1728`/`#102035`، الحدود `Colors.white10`، والتركيز الأساسي `#00F5D4` أو `#0071E3`.
|
||||
- الخط من خط النظام SF Arabic/Geeza Pro؛ لا يعتمد المختبر على تنزيل خط خارجي.
|
||||
- أقل هدف لمس 44×44، وتباين النص الأساسي 4.5:1، وتسمية دلالية لكل تحكم وقراءة.
|
||||
- اللون ليس الدليل الوحيد: كل حالة لها شكل/رمز/نص، مع دعم RTL وترتيب قراءة صحيح لقارئ الشاشة.
|
||||
- يوفر وصفاً نصياً متجدداً للمشهد للطالب الذي لا يرى الرسم، ويعلن التغيرات المهمة دون إغراق قارئ الشاشة.
|
||||
|
||||
## 10. بنية Flutter المطلوبة
|
||||
|
||||
- ملف مستقل باسم مشتق من هوية الدرس، وWidget من نوع `StatefulWidget`.
|
||||
- يستخدم `SaqelLabScaffold` بعد تنقيحه ليحمل هوية الدرس وإصدار الحزمة، لا مساراً نصياً مختلقاً.
|
||||
- `CustomPainter` للرسم، وطبقة domain مستقلة للحساب، وcontroller للحالة، واختبارات widget للمقاسين 390×844 و1024×768.
|
||||
- التسجيل في `labs_registry.dart` يكون بمفتاح `curriculum_lesson_id` صريح وارد من الخادم فقط. ممنوع fallback حسب المبحث أو كلمات العنوان.
|
||||
- المختبر غير المتاح في حزمة منشورة لا يظهر في تجربة الطالب؛ يمكن معاينته فقط في بيئة التأليف المعلّمة بوضوح.
|
||||
|
||||
## 11. سيناريوهات التحقق الإلزامية
|
||||
|
||||
- فتح الدرس الصحيح يعرض هذا المختبر فقط بعد تحقق الحزمة المنشورة والصلاحية.
|
||||
- درس يحمل عنواناً مشابهاً وهوية مختلفة لا يفتح هذا المختبر.
|
||||
- الهاتف واللوحي لا يعانيان overflow، والكانفاس يبقى مرئياً أثناء التحكم.
|
||||
- إعادة الضبط تعيد كل المتغيرات والمؤقتات ومحطات الفهم إلى الحالة الابتدائية.
|
||||
- كل حد أدنى/أقصى يعطي رسماً وقراءة متطابقين ولا ينتج NaN/Infinity.
|
||||
- تقليل الحركة وقارئ الشاشة والتنقل بلوحة المفاتيح يعملون.
|
||||
- لا توجد صور خارجية، بيانات ديمو، أرقام نجاح، أو ادعاء إتقان محلي.
|
||||
|
||||
## 12. تعريف الاكتمال
|
||||
|
||||
- [ ] راجع مختص المادة النتاجات والمحاور والمصطلحات والأمثلة.
|
||||
- [ ] وثقت المعادلات/العلاقات مع الصفحات أو الأقسام.
|
||||
- [ ] اعتمد سيناريو اللعب وأخطاء الطلاب الشائعة.
|
||||
- [ ] نُفذت المحاكاة المتجهية والتحكم المتجاوب.
|
||||
- [ ] نُفذت محطات الفهم بأدلة وتعليلات وتلميحات.
|
||||
- [ ] نجحت اختبارات domain وwidget والوصول والحالات الحدية.
|
||||
- [ ] رُبط المختبر بحزمة خادم منشورة عبر هوية وإصدار صريحين.
|
||||
- [ ] راجع الطالب/المعلم التجربة ولم تُسجل كمكتملة قبل الدليل.
|
||||
@@ -0,0 +1,135 @@
|
||||
---
|
||||
spec_type: curriculum_virtual_lab
|
||||
spec_version: 1.0.0
|
||||
status: draft_requires_academic_review
|
||||
curriculum_version: jordan-grade10-2026-source-review
|
||||
curriculum_lesson_id: arabic_10_semester_2_unit_08_lesson_05
|
||||
grade_key: grade_10
|
||||
subject_key: arabic_10
|
||||
semester_key: semester_2
|
||||
unit_key: unit_08
|
||||
lesson_key: lesson_05
|
||||
source_markdown: grade_10/arabic_10/semester_2/unit_08/lesson_05.md
|
||||
source_extraction_review_status: needs_human_review
|
||||
---
|
||||
|
||||
# مواصفة المختبر التفاعلي — الدرس الخامس: أبني لغتي (1): تثنية الاسم المقصور والمنقوص والممدود وجمعه
|
||||
|
||||
> **حالة الملف:** مسودة هندسية مشتقة من ملف القبول المنهجي. لا تُعرض للطالب ولا تُسجّل كمختبر منشور قبل مراجعة المحتوى، وربطها بحزمة نشر خادمية معتمدة وإصدار أصل واضح.
|
||||
|
||||
## 1. بطاقة الارتباط المنهجي
|
||||
|
||||
- المبحث: اللغة العربية
|
||||
- هوية الدرس: `arabic_10_semester_2_unit_08_lesson_05`
|
||||
- المصدر الوحيد لهذه المسودة: `grade_10/arabic_10/semester_2/unit_08/lesson_05.md`
|
||||
- صفحات المصدر المسجلة: 74, 75, 76, 77
|
||||
- حالة مراجعة الاستخراج: `needs_human_review`
|
||||
- يمنع الربط بعنوان الدرس أو `lesson_01` وحده؛ الربط التشغيلي يكون بهوية الدرس وإصدار الحزمة المنشورة.
|
||||
|
||||
## 2. ما الذي يجب أن يفهمه الطالب؟
|
||||
|
||||
### النتاجات المستخرجة
|
||||
|
||||
- يحددها المراجع الأكاديمي من المصدر قبل التنفيذ؛ لا تكفي صياغة عنوان الدرس.
|
||||
|
||||
### محاور الدرس التي يجب تمثيلها
|
||||
|
||||
- الدرس الخامس: أبني لغتي (1): تثنية الاسم المقصور والمنقوص والممدود وجمعه
|
||||
|
||||
إذا كانت النتاجات أعلاه عامة أو ناقصة، يستخرج المراجع الأكاديمي نتاجات قابلة للقياس من الصفحات المشار إليها قبل البرمجة. لا يخترع المطور قانوناً أو تعريفاً أو ترجمة أو مثالاً غير مثبت في المصدر.
|
||||
|
||||
## 3. فكرة اللعبة التعليمية
|
||||
|
||||
- **الاستعارة البصرية:** مسرح نصي تفاعلي يفكك البنية والمعنى والإيقاع بصرياً.
|
||||
- **حلقة اللعب:** رتّب عناصر النص أو اللغة واستدل على العلاقة.
|
||||
- **المهمة الأولى — اكتشف:** يبدأ الطالب بمشهد واضح وتعليمة واحدة، ويتنبأ بما سيحدث قبل لمس التحكم.
|
||||
- **المهمة الثانية — جرّب:** يغيّر متغيراً واحداً فقط، ويرى أثره فوراً في الرسم والقراءة والتفسير المختصر.
|
||||
- **المهمة الثالثة — ابنِ:** يرتب العناصر أو يضبط القيم للوصول إلى حالة هدف مأخوذة من مفهوم الدرس.
|
||||
- **المهمة الرابعة — فسّر:** يختار تفسيراً للدليل المرئي، لا تعريفاً محفوظاً.
|
||||
- **المهمة الخامسة — انقل الفهم:** يواجه حالة جديدة بالقانون أو العلاقة نفسها مع قيم/سياق مختلفين.
|
||||
|
||||
لا توجد نقاط أو كؤوس لمجرد النقر. المكافأة البصرية تُمنح عند إظهار دليل فهم، ولا تعني إتقاناً معتمداً؛ الإتقان يُحتسب على الخادم وفق سياسة منفصلة.
|
||||
|
||||
## 4. المشهد المتحرك
|
||||
|
||||
- يرسم بالكامل عبر Flutter `CustomPainter` دون صور PNG/SVG/WebView.
|
||||
- يحول كل محور في قسم «محاور الدرس» إلى طبقة مرئية قابلة للتشغيل والإيقاف.
|
||||
- يعرض السبب والنتيجة في اللحظة نفسها: المتغير المتحكم، أثره في المشهد، والقراءة الرقمية بوحدتها إن وجدت.
|
||||
- تبقى مساحة التجربة ظاهرة أثناء تعديل القيم. على العرض الواسع: كانفاس بمرونة 2 ولوحة تحكم 1 بعرض 320–360px. على الهاتف: كانفاس 300–340px ثم تحكم قابل للتمرير.
|
||||
- الحركة مستمرة عند الحاجة فقط، ويفضل 60fps مع دعم شاشات 120Hz من دون ربط صحة الحساب بعدد الإطارات.
|
||||
- عند تفعيل تقليل الحركة في النظام، تستبدل الحركة المستمرة بانتقالات قصيرة ولقطات حالة مفهومة.
|
||||
|
||||
## 5. نموذج الحالة والتحكم
|
||||
|
||||
ينشئ المطور بعد مراجعة المصدر جدول متغيرات صريحاً:
|
||||
|
||||
| المتغير | معناه في الدرس | النوع/الوحدة | المجال المسموح | القيمة الابتدائية | أثره المرئي |
|
||||
|---|---|---|---|---|---|
|
||||
| `focusParameter` | العامل الرئيس المثبت في المصدر | يحدد من الدرس | يحدد من أمثلة المصدر | حالة محايدة | يغير طبقة واحدة بوضوح |
|
||||
| `comparisonParameter` | عامل المقارنة أو الحالة الثانية | يحدد من الدرس | يحدد من المصدر | مغلق | يظهر فرقاً قابلاً للتفسير |
|
||||
| `timeOrStep` | الزمن أو ترتيب الخطوات عند انطباقه | ثانية/خطوة | بحسب الظاهرة | 0 | يحرك العملية دون تغيير النتيجة حسابياً |
|
||||
|
||||
لوحة التحكم لا تتجاوز ثلاثة عناصر أساسية في المهمة الواحدة. الخيارات المتقدمة تظهر تدريجياً بعد نجاح الطالب في اكتشاف العلاقة الأولى.
|
||||
|
||||
## 6. قواعد المحاكاة والدقة
|
||||
|
||||
- كل معادلة أو ترتيب أو علاقة سببية تُسجل هنا مع مرجع الصفحة/القسم قبل كتابتها في Dart.
|
||||
- تفصل طبقة الحسابات عن `CustomPainter`، وتغطى باختبارات وحدات للقيم الحدية والحالات غير الصالحة.
|
||||
- لا تستخدم عشوائية تؤثر في الإجابة إلا ببذرة محفوظة وقيم ضمن نطاق المصدر.
|
||||
- لا تعرض قيماً علمية أو تاريخية أو لغوية تقريبية بوصفها دقيقة. عند غياب الدليل تعرض «يحتاج مراجعة» في بيئة التأليف فقط.
|
||||
- النص والكانفاس ولوحة التحكم تتشارك الحالة نفسها؛ لا يجوز أن تخالف القراءة الرقمية الرسم.
|
||||
|
||||
## 7. محطات فحص الفهم
|
||||
|
||||
تنفذ عبر `LabCheckpointCallback` بعد ظهور الدليل للطالب، وبالترتيب التالي:
|
||||
|
||||
1. **توقّع:** ما الحالة المتوقعة قبل تشغيل التغيير؟ الخيارات تمثل أخطاء شائعة مثبتة أو يراجعها المعلم.
|
||||
2. **استدلال:** أي دليل مرئي/عددي يثبت ما حدث؟ لا يُسأل الطالب قبل ظهور الدليل.
|
||||
3. **تفسير:** لماذا تغيّرت النتيجة عند تغيير العامل المحدد؟
|
||||
4. **نقل:** ماذا يحدث في حالة جديدة تستخدم المفهوم نفسه؟
|
||||
|
||||
لكل محطة يسجل المنفذ: `checkpoint_id`، المحور المنهجي، شرط الإطلاق، السؤال، الخيارات، الإجابة وتعليلها، مرجع الصفحة/القسم، والتلميح. لا تُرسل الإجابة الصحيحة مسبقاً إلى العميل عندما تدخل النتيجة في الإتقان.
|
||||
|
||||
## 8. التغذية الراجعة ومنع التخمين
|
||||
|
||||
- الإجابة الخاطئة لا تعيد المشهد عشوائياً؛ تضيء المتغير والدليل المرتبطين بالخطأ وتقدم تلميحاً واحداً.
|
||||
- بعد محاولتين، تفكك المهمة إلى خطوة أصغر ثم تعيد حالة نقل مختلفة.
|
||||
- يمنع زر «التالي» حتى يلمس الطالب المتغير المقصود ويرى الأثر، لكن يتوفر دائماً زر إعادة الضبط والخروج.
|
||||
- لا تستخدم مؤثر نجاح مبالغاً فيه؛ اهتزاز خفيف وصوت اختياري وحركة قصيرة تكفي.
|
||||
|
||||
## 9. النظام البصري وإمكانية الوصول
|
||||
|
||||
- الخلفية `#07111F`، السطح `#0B1728`/`#102035`، الحدود `Colors.white10`، والتركيز الأساسي `#00F5D4` أو `#0071E3`.
|
||||
- الخط من خط النظام SF Arabic/Geeza Pro؛ لا يعتمد المختبر على تنزيل خط خارجي.
|
||||
- أقل هدف لمس 44×44، وتباين النص الأساسي 4.5:1، وتسمية دلالية لكل تحكم وقراءة.
|
||||
- اللون ليس الدليل الوحيد: كل حالة لها شكل/رمز/نص، مع دعم RTL وترتيب قراءة صحيح لقارئ الشاشة.
|
||||
- يوفر وصفاً نصياً متجدداً للمشهد للطالب الذي لا يرى الرسم، ويعلن التغيرات المهمة دون إغراق قارئ الشاشة.
|
||||
|
||||
## 10. بنية Flutter المطلوبة
|
||||
|
||||
- ملف مستقل باسم مشتق من هوية الدرس، وWidget من نوع `StatefulWidget`.
|
||||
- يستخدم `SaqelLabScaffold` بعد تنقيحه ليحمل هوية الدرس وإصدار الحزمة، لا مساراً نصياً مختلقاً.
|
||||
- `CustomPainter` للرسم، وطبقة domain مستقلة للحساب، وcontroller للحالة، واختبارات widget للمقاسين 390×844 و1024×768.
|
||||
- التسجيل في `labs_registry.dart` يكون بمفتاح `curriculum_lesson_id` صريح وارد من الخادم فقط. ممنوع fallback حسب المبحث أو كلمات العنوان.
|
||||
- المختبر غير المتاح في حزمة منشورة لا يظهر في تجربة الطالب؛ يمكن معاينته فقط في بيئة التأليف المعلّمة بوضوح.
|
||||
|
||||
## 11. سيناريوهات التحقق الإلزامية
|
||||
|
||||
- فتح الدرس الصحيح يعرض هذا المختبر فقط بعد تحقق الحزمة المنشورة والصلاحية.
|
||||
- درس يحمل عنواناً مشابهاً وهوية مختلفة لا يفتح هذا المختبر.
|
||||
- الهاتف واللوحي لا يعانيان overflow، والكانفاس يبقى مرئياً أثناء التحكم.
|
||||
- إعادة الضبط تعيد كل المتغيرات والمؤقتات ومحطات الفهم إلى الحالة الابتدائية.
|
||||
- كل حد أدنى/أقصى يعطي رسماً وقراءة متطابقين ولا ينتج NaN/Infinity.
|
||||
- تقليل الحركة وقارئ الشاشة والتنقل بلوحة المفاتيح يعملون.
|
||||
- لا توجد صور خارجية، بيانات ديمو، أرقام نجاح، أو ادعاء إتقان محلي.
|
||||
|
||||
## 12. تعريف الاكتمال
|
||||
|
||||
- [ ] راجع مختص المادة النتاجات والمحاور والمصطلحات والأمثلة.
|
||||
- [ ] وثقت المعادلات/العلاقات مع الصفحات أو الأقسام.
|
||||
- [ ] اعتمد سيناريو اللعب وأخطاء الطلاب الشائعة.
|
||||
- [ ] نُفذت المحاكاة المتجهية والتحكم المتجاوب.
|
||||
- [ ] نُفذت محطات الفهم بأدلة وتعليلات وتلميحات.
|
||||
- [ ] نجحت اختبارات domain وwidget والوصول والحالات الحدية.
|
||||
- [ ] رُبط المختبر بحزمة خادم منشورة عبر هوية وإصدار صريحين.
|
||||
- [ ] راجع الطالب/المعلم التجربة ولم تُسجل كمكتملة قبل الدليل.
|
||||
@@ -0,0 +1,135 @@
|
||||
---
|
||||
spec_type: curriculum_virtual_lab
|
||||
spec_version: 1.0.0
|
||||
status: draft_requires_academic_review
|
||||
curriculum_version: jordan-grade10-2026-source-review
|
||||
curriculum_lesson_id: arabic_10_semester_2_unit_08_lesson_06
|
||||
grade_key: grade_10
|
||||
subject_key: arabic_10
|
||||
semester_key: semester_2
|
||||
unit_key: unit_08
|
||||
lesson_key: lesson_06
|
||||
source_markdown: grade_10/arabic_10/semester_2/unit_08/lesson_06.md
|
||||
source_extraction_review_status: needs_human_review
|
||||
---
|
||||
|
||||
# مواصفة المختبر التفاعلي — الدرس السادس: أبني لغتي (2): موسيقا لغتي وإيقاعها (بحر الهزج)
|
||||
|
||||
> **حالة الملف:** مسودة هندسية مشتقة من ملف القبول المنهجي. لا تُعرض للطالب ولا تُسجّل كمختبر منشور قبل مراجعة المحتوى، وربطها بحزمة نشر خادمية معتمدة وإصدار أصل واضح.
|
||||
|
||||
## 1. بطاقة الارتباط المنهجي
|
||||
|
||||
- المبحث: اللغة العربية
|
||||
- هوية الدرس: `arabic_10_semester_2_unit_08_lesson_06`
|
||||
- المصدر الوحيد لهذه المسودة: `grade_10/arabic_10/semester_2/unit_08/lesson_06.md`
|
||||
- صفحات المصدر المسجلة: 78, 79, 80, 81, 82, 83
|
||||
- حالة مراجعة الاستخراج: `needs_human_review`
|
||||
- يمنع الربط بعنوان الدرس أو `lesson_01` وحده؛ الربط التشغيلي يكون بهوية الدرس وإصدار الحزمة المنشورة.
|
||||
|
||||
## 2. ما الذي يجب أن يفهمه الطالب؟
|
||||
|
||||
### النتاجات المستخرجة
|
||||
|
||||
- يحددها المراجع الأكاديمي من المصدر قبل التنفيذ؛ لا تكفي صياغة عنوان الدرس.
|
||||
|
||||
### محاور الدرس التي يجب تمثيلها
|
||||
|
||||
- الدرس السادس: أبني لغتي (2): موسيقا لغتي وإيقاعها (بحر الهزج)
|
||||
|
||||
إذا كانت النتاجات أعلاه عامة أو ناقصة، يستخرج المراجع الأكاديمي نتاجات قابلة للقياس من الصفحات المشار إليها قبل البرمجة. لا يخترع المطور قانوناً أو تعريفاً أو ترجمة أو مثالاً غير مثبت في المصدر.
|
||||
|
||||
## 3. فكرة اللعبة التعليمية
|
||||
|
||||
- **الاستعارة البصرية:** مسرح نصي تفاعلي يفكك البنية والمعنى والإيقاع بصرياً.
|
||||
- **حلقة اللعب:** رتّب عناصر النص أو اللغة واستدل على العلاقة.
|
||||
- **المهمة الأولى — اكتشف:** يبدأ الطالب بمشهد واضح وتعليمة واحدة، ويتنبأ بما سيحدث قبل لمس التحكم.
|
||||
- **المهمة الثانية — جرّب:** يغيّر متغيراً واحداً فقط، ويرى أثره فوراً في الرسم والقراءة والتفسير المختصر.
|
||||
- **المهمة الثالثة — ابنِ:** يرتب العناصر أو يضبط القيم للوصول إلى حالة هدف مأخوذة من مفهوم الدرس.
|
||||
- **المهمة الرابعة — فسّر:** يختار تفسيراً للدليل المرئي، لا تعريفاً محفوظاً.
|
||||
- **المهمة الخامسة — انقل الفهم:** يواجه حالة جديدة بالقانون أو العلاقة نفسها مع قيم/سياق مختلفين.
|
||||
|
||||
لا توجد نقاط أو كؤوس لمجرد النقر. المكافأة البصرية تُمنح عند إظهار دليل فهم، ولا تعني إتقاناً معتمداً؛ الإتقان يُحتسب على الخادم وفق سياسة منفصلة.
|
||||
|
||||
## 4. المشهد المتحرك
|
||||
|
||||
- يرسم بالكامل عبر Flutter `CustomPainter` دون صور PNG/SVG/WebView.
|
||||
- يحول كل محور في قسم «محاور الدرس» إلى طبقة مرئية قابلة للتشغيل والإيقاف.
|
||||
- يعرض السبب والنتيجة في اللحظة نفسها: المتغير المتحكم، أثره في المشهد، والقراءة الرقمية بوحدتها إن وجدت.
|
||||
- تبقى مساحة التجربة ظاهرة أثناء تعديل القيم. على العرض الواسع: كانفاس بمرونة 2 ولوحة تحكم 1 بعرض 320–360px. على الهاتف: كانفاس 300–340px ثم تحكم قابل للتمرير.
|
||||
- الحركة مستمرة عند الحاجة فقط، ويفضل 60fps مع دعم شاشات 120Hz من دون ربط صحة الحساب بعدد الإطارات.
|
||||
- عند تفعيل تقليل الحركة في النظام، تستبدل الحركة المستمرة بانتقالات قصيرة ولقطات حالة مفهومة.
|
||||
|
||||
## 5. نموذج الحالة والتحكم
|
||||
|
||||
ينشئ المطور بعد مراجعة المصدر جدول متغيرات صريحاً:
|
||||
|
||||
| المتغير | معناه في الدرس | النوع/الوحدة | المجال المسموح | القيمة الابتدائية | أثره المرئي |
|
||||
|---|---|---|---|---|---|
|
||||
| `focusParameter` | العامل الرئيس المثبت في المصدر | يحدد من الدرس | يحدد من أمثلة المصدر | حالة محايدة | يغير طبقة واحدة بوضوح |
|
||||
| `comparisonParameter` | عامل المقارنة أو الحالة الثانية | يحدد من الدرس | يحدد من المصدر | مغلق | يظهر فرقاً قابلاً للتفسير |
|
||||
| `timeOrStep` | الزمن أو ترتيب الخطوات عند انطباقه | ثانية/خطوة | بحسب الظاهرة | 0 | يحرك العملية دون تغيير النتيجة حسابياً |
|
||||
|
||||
لوحة التحكم لا تتجاوز ثلاثة عناصر أساسية في المهمة الواحدة. الخيارات المتقدمة تظهر تدريجياً بعد نجاح الطالب في اكتشاف العلاقة الأولى.
|
||||
|
||||
## 6. قواعد المحاكاة والدقة
|
||||
|
||||
- كل معادلة أو ترتيب أو علاقة سببية تُسجل هنا مع مرجع الصفحة/القسم قبل كتابتها في Dart.
|
||||
- تفصل طبقة الحسابات عن `CustomPainter`، وتغطى باختبارات وحدات للقيم الحدية والحالات غير الصالحة.
|
||||
- لا تستخدم عشوائية تؤثر في الإجابة إلا ببذرة محفوظة وقيم ضمن نطاق المصدر.
|
||||
- لا تعرض قيماً علمية أو تاريخية أو لغوية تقريبية بوصفها دقيقة. عند غياب الدليل تعرض «يحتاج مراجعة» في بيئة التأليف فقط.
|
||||
- النص والكانفاس ولوحة التحكم تتشارك الحالة نفسها؛ لا يجوز أن تخالف القراءة الرقمية الرسم.
|
||||
|
||||
## 7. محطات فحص الفهم
|
||||
|
||||
تنفذ عبر `LabCheckpointCallback` بعد ظهور الدليل للطالب، وبالترتيب التالي:
|
||||
|
||||
1. **توقّع:** ما الحالة المتوقعة قبل تشغيل التغيير؟ الخيارات تمثل أخطاء شائعة مثبتة أو يراجعها المعلم.
|
||||
2. **استدلال:** أي دليل مرئي/عددي يثبت ما حدث؟ لا يُسأل الطالب قبل ظهور الدليل.
|
||||
3. **تفسير:** لماذا تغيّرت النتيجة عند تغيير العامل المحدد؟
|
||||
4. **نقل:** ماذا يحدث في حالة جديدة تستخدم المفهوم نفسه؟
|
||||
|
||||
لكل محطة يسجل المنفذ: `checkpoint_id`، المحور المنهجي، شرط الإطلاق، السؤال، الخيارات، الإجابة وتعليلها، مرجع الصفحة/القسم، والتلميح. لا تُرسل الإجابة الصحيحة مسبقاً إلى العميل عندما تدخل النتيجة في الإتقان.
|
||||
|
||||
## 8. التغذية الراجعة ومنع التخمين
|
||||
|
||||
- الإجابة الخاطئة لا تعيد المشهد عشوائياً؛ تضيء المتغير والدليل المرتبطين بالخطأ وتقدم تلميحاً واحداً.
|
||||
- بعد محاولتين، تفكك المهمة إلى خطوة أصغر ثم تعيد حالة نقل مختلفة.
|
||||
- يمنع زر «التالي» حتى يلمس الطالب المتغير المقصود ويرى الأثر، لكن يتوفر دائماً زر إعادة الضبط والخروج.
|
||||
- لا تستخدم مؤثر نجاح مبالغاً فيه؛ اهتزاز خفيف وصوت اختياري وحركة قصيرة تكفي.
|
||||
|
||||
## 9. النظام البصري وإمكانية الوصول
|
||||
|
||||
- الخلفية `#07111F`، السطح `#0B1728`/`#102035`، الحدود `Colors.white10`، والتركيز الأساسي `#00F5D4` أو `#0071E3`.
|
||||
- الخط من خط النظام SF Arabic/Geeza Pro؛ لا يعتمد المختبر على تنزيل خط خارجي.
|
||||
- أقل هدف لمس 44×44، وتباين النص الأساسي 4.5:1، وتسمية دلالية لكل تحكم وقراءة.
|
||||
- اللون ليس الدليل الوحيد: كل حالة لها شكل/رمز/نص، مع دعم RTL وترتيب قراءة صحيح لقارئ الشاشة.
|
||||
- يوفر وصفاً نصياً متجدداً للمشهد للطالب الذي لا يرى الرسم، ويعلن التغيرات المهمة دون إغراق قارئ الشاشة.
|
||||
|
||||
## 10. بنية Flutter المطلوبة
|
||||
|
||||
- ملف مستقل باسم مشتق من هوية الدرس، وWidget من نوع `StatefulWidget`.
|
||||
- يستخدم `SaqelLabScaffold` بعد تنقيحه ليحمل هوية الدرس وإصدار الحزمة، لا مساراً نصياً مختلقاً.
|
||||
- `CustomPainter` للرسم، وطبقة domain مستقلة للحساب، وcontroller للحالة، واختبارات widget للمقاسين 390×844 و1024×768.
|
||||
- التسجيل في `labs_registry.dart` يكون بمفتاح `curriculum_lesson_id` صريح وارد من الخادم فقط. ممنوع fallback حسب المبحث أو كلمات العنوان.
|
||||
- المختبر غير المتاح في حزمة منشورة لا يظهر في تجربة الطالب؛ يمكن معاينته فقط في بيئة التأليف المعلّمة بوضوح.
|
||||
|
||||
## 11. سيناريوهات التحقق الإلزامية
|
||||
|
||||
- فتح الدرس الصحيح يعرض هذا المختبر فقط بعد تحقق الحزمة المنشورة والصلاحية.
|
||||
- درس يحمل عنواناً مشابهاً وهوية مختلفة لا يفتح هذا المختبر.
|
||||
- الهاتف واللوحي لا يعانيان overflow، والكانفاس يبقى مرئياً أثناء التحكم.
|
||||
- إعادة الضبط تعيد كل المتغيرات والمؤقتات ومحطات الفهم إلى الحالة الابتدائية.
|
||||
- كل حد أدنى/أقصى يعطي رسماً وقراءة متطابقين ولا ينتج NaN/Infinity.
|
||||
- تقليل الحركة وقارئ الشاشة والتنقل بلوحة المفاتيح يعملون.
|
||||
- لا توجد صور خارجية، بيانات ديمو، أرقام نجاح، أو ادعاء إتقان محلي.
|
||||
|
||||
## 12. تعريف الاكتمال
|
||||
|
||||
- [ ] راجع مختص المادة النتاجات والمحاور والمصطلحات والأمثلة.
|
||||
- [ ] وثقت المعادلات/العلاقات مع الصفحات أو الأقسام.
|
||||
- [ ] اعتمد سيناريو اللعب وأخطاء الطلاب الشائعة.
|
||||
- [ ] نُفذت المحاكاة المتجهية والتحكم المتجاوب.
|
||||
- [ ] نُفذت محطات الفهم بأدلة وتعليلات وتلميحات.
|
||||
- [ ] نجحت اختبارات domain وwidget والوصول والحالات الحدية.
|
||||
- [ ] رُبط المختبر بحزمة خادم منشورة عبر هوية وإصدار صريحين.
|
||||
- [ ] راجع الطالب/المعلم التجربة ولم تُسجل كمكتملة قبل الدليل.
|
||||
@@ -0,0 +1,135 @@
|
||||
---
|
||||
spec_type: curriculum_virtual_lab
|
||||
spec_version: 1.0.0
|
||||
status: draft_requires_academic_review
|
||||
curriculum_version: jordan-grade10-2026-source-review
|
||||
curriculum_lesson_id: arabic_10_semester_2_unit_09_lesson_01
|
||||
grade_key: grade_10
|
||||
subject_key: arabic_10
|
||||
semester_key: semester_2
|
||||
unit_key: unit_09
|
||||
lesson_key: lesson_01
|
||||
source_markdown: grade_10/arabic_10/semester_2/unit_09/lesson_01.md
|
||||
source_extraction_review_status: needs_human_review
|
||||
---
|
||||
|
||||
# مواصفة المختبر التفاعلي — الدرس الأول: أستمعُ بانتباهٍ وتركيزٍ
|
||||
|
||||
> **حالة الملف:** مسودة هندسية مشتقة من ملف القبول المنهجي. لا تُعرض للطالب ولا تُسجّل كمختبر منشور قبل مراجعة المحتوى، وربطها بحزمة نشر خادمية معتمدة وإصدار أصل واضح.
|
||||
|
||||
## 1. بطاقة الارتباط المنهجي
|
||||
|
||||
- المبحث: اللغة العربية
|
||||
- هوية الدرس: `arabic_10_semester_2_unit_09_lesson_01`
|
||||
- المصدر الوحيد لهذه المسودة: `grade_10/arabic_10/semester_2/unit_09/lesson_01.md`
|
||||
- صفحات المصدر المسجلة: 84, 85, 86, 87
|
||||
- حالة مراجعة الاستخراج: `needs_human_review`
|
||||
- يمنع الربط بعنوان الدرس أو `lesson_01` وحده؛ الربط التشغيلي يكون بهوية الدرس وإصدار الحزمة المنشورة.
|
||||
|
||||
## 2. ما الذي يجب أن يفهمه الطالب؟
|
||||
|
||||
### النتاجات المستخرجة
|
||||
|
||||
- يحددها المراجع الأكاديمي من المصدر قبل التنفيذ؛ لا تكفي صياغة عنوان الدرس.
|
||||
|
||||
### محاور الدرس التي يجب تمثيلها
|
||||
|
||||
- الدرس الأول: أستمعُ بانتباهٍ وتركيزٍ
|
||||
|
||||
إذا كانت النتاجات أعلاه عامة أو ناقصة، يستخرج المراجع الأكاديمي نتاجات قابلة للقياس من الصفحات المشار إليها قبل البرمجة. لا يخترع المطور قانوناً أو تعريفاً أو ترجمة أو مثالاً غير مثبت في المصدر.
|
||||
|
||||
## 3. فكرة اللعبة التعليمية
|
||||
|
||||
- **الاستعارة البصرية:** مسرح نصي تفاعلي يفكك البنية والمعنى والإيقاع بصرياً.
|
||||
- **حلقة اللعب:** رتّب عناصر النص أو اللغة واستدل على العلاقة.
|
||||
- **المهمة الأولى — اكتشف:** يبدأ الطالب بمشهد واضح وتعليمة واحدة، ويتنبأ بما سيحدث قبل لمس التحكم.
|
||||
- **المهمة الثانية — جرّب:** يغيّر متغيراً واحداً فقط، ويرى أثره فوراً في الرسم والقراءة والتفسير المختصر.
|
||||
- **المهمة الثالثة — ابنِ:** يرتب العناصر أو يضبط القيم للوصول إلى حالة هدف مأخوذة من مفهوم الدرس.
|
||||
- **المهمة الرابعة — فسّر:** يختار تفسيراً للدليل المرئي، لا تعريفاً محفوظاً.
|
||||
- **المهمة الخامسة — انقل الفهم:** يواجه حالة جديدة بالقانون أو العلاقة نفسها مع قيم/سياق مختلفين.
|
||||
|
||||
لا توجد نقاط أو كؤوس لمجرد النقر. المكافأة البصرية تُمنح عند إظهار دليل فهم، ولا تعني إتقاناً معتمداً؛ الإتقان يُحتسب على الخادم وفق سياسة منفصلة.
|
||||
|
||||
## 4. المشهد المتحرك
|
||||
|
||||
- يرسم بالكامل عبر Flutter `CustomPainter` دون صور PNG/SVG/WebView.
|
||||
- يحول كل محور في قسم «محاور الدرس» إلى طبقة مرئية قابلة للتشغيل والإيقاف.
|
||||
- يعرض السبب والنتيجة في اللحظة نفسها: المتغير المتحكم، أثره في المشهد، والقراءة الرقمية بوحدتها إن وجدت.
|
||||
- تبقى مساحة التجربة ظاهرة أثناء تعديل القيم. على العرض الواسع: كانفاس بمرونة 2 ولوحة تحكم 1 بعرض 320–360px. على الهاتف: كانفاس 300–340px ثم تحكم قابل للتمرير.
|
||||
- الحركة مستمرة عند الحاجة فقط، ويفضل 60fps مع دعم شاشات 120Hz من دون ربط صحة الحساب بعدد الإطارات.
|
||||
- عند تفعيل تقليل الحركة في النظام، تستبدل الحركة المستمرة بانتقالات قصيرة ولقطات حالة مفهومة.
|
||||
|
||||
## 5. نموذج الحالة والتحكم
|
||||
|
||||
ينشئ المطور بعد مراجعة المصدر جدول متغيرات صريحاً:
|
||||
|
||||
| المتغير | معناه في الدرس | النوع/الوحدة | المجال المسموح | القيمة الابتدائية | أثره المرئي |
|
||||
|---|---|---|---|---|---|
|
||||
| `focusParameter` | العامل الرئيس المثبت في المصدر | يحدد من الدرس | يحدد من أمثلة المصدر | حالة محايدة | يغير طبقة واحدة بوضوح |
|
||||
| `comparisonParameter` | عامل المقارنة أو الحالة الثانية | يحدد من الدرس | يحدد من المصدر | مغلق | يظهر فرقاً قابلاً للتفسير |
|
||||
| `timeOrStep` | الزمن أو ترتيب الخطوات عند انطباقه | ثانية/خطوة | بحسب الظاهرة | 0 | يحرك العملية دون تغيير النتيجة حسابياً |
|
||||
|
||||
لوحة التحكم لا تتجاوز ثلاثة عناصر أساسية في المهمة الواحدة. الخيارات المتقدمة تظهر تدريجياً بعد نجاح الطالب في اكتشاف العلاقة الأولى.
|
||||
|
||||
## 6. قواعد المحاكاة والدقة
|
||||
|
||||
- كل معادلة أو ترتيب أو علاقة سببية تُسجل هنا مع مرجع الصفحة/القسم قبل كتابتها في Dart.
|
||||
- تفصل طبقة الحسابات عن `CustomPainter`، وتغطى باختبارات وحدات للقيم الحدية والحالات غير الصالحة.
|
||||
- لا تستخدم عشوائية تؤثر في الإجابة إلا ببذرة محفوظة وقيم ضمن نطاق المصدر.
|
||||
- لا تعرض قيماً علمية أو تاريخية أو لغوية تقريبية بوصفها دقيقة. عند غياب الدليل تعرض «يحتاج مراجعة» في بيئة التأليف فقط.
|
||||
- النص والكانفاس ولوحة التحكم تتشارك الحالة نفسها؛ لا يجوز أن تخالف القراءة الرقمية الرسم.
|
||||
|
||||
## 7. محطات فحص الفهم
|
||||
|
||||
تنفذ عبر `LabCheckpointCallback` بعد ظهور الدليل للطالب، وبالترتيب التالي:
|
||||
|
||||
1. **توقّع:** ما الحالة المتوقعة قبل تشغيل التغيير؟ الخيارات تمثل أخطاء شائعة مثبتة أو يراجعها المعلم.
|
||||
2. **استدلال:** أي دليل مرئي/عددي يثبت ما حدث؟ لا يُسأل الطالب قبل ظهور الدليل.
|
||||
3. **تفسير:** لماذا تغيّرت النتيجة عند تغيير العامل المحدد؟
|
||||
4. **نقل:** ماذا يحدث في حالة جديدة تستخدم المفهوم نفسه؟
|
||||
|
||||
لكل محطة يسجل المنفذ: `checkpoint_id`، المحور المنهجي، شرط الإطلاق، السؤال، الخيارات، الإجابة وتعليلها، مرجع الصفحة/القسم، والتلميح. لا تُرسل الإجابة الصحيحة مسبقاً إلى العميل عندما تدخل النتيجة في الإتقان.
|
||||
|
||||
## 8. التغذية الراجعة ومنع التخمين
|
||||
|
||||
- الإجابة الخاطئة لا تعيد المشهد عشوائياً؛ تضيء المتغير والدليل المرتبطين بالخطأ وتقدم تلميحاً واحداً.
|
||||
- بعد محاولتين، تفكك المهمة إلى خطوة أصغر ثم تعيد حالة نقل مختلفة.
|
||||
- يمنع زر «التالي» حتى يلمس الطالب المتغير المقصود ويرى الأثر، لكن يتوفر دائماً زر إعادة الضبط والخروج.
|
||||
- لا تستخدم مؤثر نجاح مبالغاً فيه؛ اهتزاز خفيف وصوت اختياري وحركة قصيرة تكفي.
|
||||
|
||||
## 9. النظام البصري وإمكانية الوصول
|
||||
|
||||
- الخلفية `#07111F`، السطح `#0B1728`/`#102035`، الحدود `Colors.white10`، والتركيز الأساسي `#00F5D4` أو `#0071E3`.
|
||||
- الخط من خط النظام SF Arabic/Geeza Pro؛ لا يعتمد المختبر على تنزيل خط خارجي.
|
||||
- أقل هدف لمس 44×44، وتباين النص الأساسي 4.5:1، وتسمية دلالية لكل تحكم وقراءة.
|
||||
- اللون ليس الدليل الوحيد: كل حالة لها شكل/رمز/نص، مع دعم RTL وترتيب قراءة صحيح لقارئ الشاشة.
|
||||
- يوفر وصفاً نصياً متجدداً للمشهد للطالب الذي لا يرى الرسم، ويعلن التغيرات المهمة دون إغراق قارئ الشاشة.
|
||||
|
||||
## 10. بنية Flutter المطلوبة
|
||||
|
||||
- ملف مستقل باسم مشتق من هوية الدرس، وWidget من نوع `StatefulWidget`.
|
||||
- يستخدم `SaqelLabScaffold` بعد تنقيحه ليحمل هوية الدرس وإصدار الحزمة، لا مساراً نصياً مختلقاً.
|
||||
- `CustomPainter` للرسم، وطبقة domain مستقلة للحساب، وcontroller للحالة، واختبارات widget للمقاسين 390×844 و1024×768.
|
||||
- التسجيل في `labs_registry.dart` يكون بمفتاح `curriculum_lesson_id` صريح وارد من الخادم فقط. ممنوع fallback حسب المبحث أو كلمات العنوان.
|
||||
- المختبر غير المتاح في حزمة منشورة لا يظهر في تجربة الطالب؛ يمكن معاينته فقط في بيئة التأليف المعلّمة بوضوح.
|
||||
|
||||
## 11. سيناريوهات التحقق الإلزامية
|
||||
|
||||
- فتح الدرس الصحيح يعرض هذا المختبر فقط بعد تحقق الحزمة المنشورة والصلاحية.
|
||||
- درس يحمل عنواناً مشابهاً وهوية مختلفة لا يفتح هذا المختبر.
|
||||
- الهاتف واللوحي لا يعانيان overflow، والكانفاس يبقى مرئياً أثناء التحكم.
|
||||
- إعادة الضبط تعيد كل المتغيرات والمؤقتات ومحطات الفهم إلى الحالة الابتدائية.
|
||||
- كل حد أدنى/أقصى يعطي رسماً وقراءة متطابقين ولا ينتج NaN/Infinity.
|
||||
- تقليل الحركة وقارئ الشاشة والتنقل بلوحة المفاتيح يعملون.
|
||||
- لا توجد صور خارجية، بيانات ديمو، أرقام نجاح، أو ادعاء إتقان محلي.
|
||||
|
||||
## 12. تعريف الاكتمال
|
||||
|
||||
- [ ] راجع مختص المادة النتاجات والمحاور والمصطلحات والأمثلة.
|
||||
- [ ] وثقت المعادلات/العلاقات مع الصفحات أو الأقسام.
|
||||
- [ ] اعتمد سيناريو اللعب وأخطاء الطلاب الشائعة.
|
||||
- [ ] نُفذت المحاكاة المتجهية والتحكم المتجاوب.
|
||||
- [ ] نُفذت محطات الفهم بأدلة وتعليلات وتلميحات.
|
||||
- [ ] نجحت اختبارات domain وwidget والوصول والحالات الحدية.
|
||||
- [ ] رُبط المختبر بحزمة خادم منشورة عبر هوية وإصدار صريحين.
|
||||
- [ ] راجع الطالب/المعلم التجربة ولم تُسجل كمكتملة قبل الدليل.
|
||||
@@ -0,0 +1,135 @@
|
||||
---
|
||||
spec_type: curriculum_virtual_lab
|
||||
spec_version: 1.0.0
|
||||
status: draft_requires_academic_review
|
||||
curriculum_version: jordan-grade10-2026-source-review
|
||||
curriculum_lesson_id: arabic_10_semester_2_unit_09_lesson_02
|
||||
grade_key: grade_10
|
||||
subject_key: arabic_10
|
||||
semester_key: semester_2
|
||||
unit_key: unit_09
|
||||
lesson_key: lesson_02
|
||||
source_markdown: grade_10/arabic_10/semester_2/unit_09/lesson_02.md
|
||||
source_extraction_review_status: needs_human_review
|
||||
---
|
||||
|
||||
# مواصفة المختبر التفاعلي — الدرس الثاني: أتحدثُ بطالقةٍ (العرض الشفوي لقصة نجاح)
|
||||
|
||||
> **حالة الملف:** مسودة هندسية مشتقة من ملف القبول المنهجي. لا تُعرض للطالب ولا تُسجّل كمختبر منشور قبل مراجعة المحتوى، وربطها بحزمة نشر خادمية معتمدة وإصدار أصل واضح.
|
||||
|
||||
## 1. بطاقة الارتباط المنهجي
|
||||
|
||||
- المبحث: اللغة العربية
|
||||
- هوية الدرس: `arabic_10_semester_2_unit_09_lesson_02`
|
||||
- المصدر الوحيد لهذه المسودة: `grade_10/arabic_10/semester_2/unit_09/lesson_02.md`
|
||||
- صفحات المصدر المسجلة: 88, 89, 90
|
||||
- حالة مراجعة الاستخراج: `needs_human_review`
|
||||
- يمنع الربط بعنوان الدرس أو `lesson_01` وحده؛ الربط التشغيلي يكون بهوية الدرس وإصدار الحزمة المنشورة.
|
||||
|
||||
## 2. ما الذي يجب أن يفهمه الطالب؟
|
||||
|
||||
### النتاجات المستخرجة
|
||||
|
||||
- يحددها المراجع الأكاديمي من المصدر قبل التنفيذ؛ لا تكفي صياغة عنوان الدرس.
|
||||
|
||||
### محاور الدرس التي يجب تمثيلها
|
||||
|
||||
- الدرس الثاني: أتحدثُ بطالقةٍ (العرض الشفوي لقصة نجاح)
|
||||
|
||||
إذا كانت النتاجات أعلاه عامة أو ناقصة، يستخرج المراجع الأكاديمي نتاجات قابلة للقياس من الصفحات المشار إليها قبل البرمجة. لا يخترع المطور قانوناً أو تعريفاً أو ترجمة أو مثالاً غير مثبت في المصدر.
|
||||
|
||||
## 3. فكرة اللعبة التعليمية
|
||||
|
||||
- **الاستعارة البصرية:** مسرح نصي تفاعلي يفكك البنية والمعنى والإيقاع بصرياً.
|
||||
- **حلقة اللعب:** رتّب عناصر النص أو اللغة واستدل على العلاقة.
|
||||
- **المهمة الأولى — اكتشف:** يبدأ الطالب بمشهد واضح وتعليمة واحدة، ويتنبأ بما سيحدث قبل لمس التحكم.
|
||||
- **المهمة الثانية — جرّب:** يغيّر متغيراً واحداً فقط، ويرى أثره فوراً في الرسم والقراءة والتفسير المختصر.
|
||||
- **المهمة الثالثة — ابنِ:** يرتب العناصر أو يضبط القيم للوصول إلى حالة هدف مأخوذة من مفهوم الدرس.
|
||||
- **المهمة الرابعة — فسّر:** يختار تفسيراً للدليل المرئي، لا تعريفاً محفوظاً.
|
||||
- **المهمة الخامسة — انقل الفهم:** يواجه حالة جديدة بالقانون أو العلاقة نفسها مع قيم/سياق مختلفين.
|
||||
|
||||
لا توجد نقاط أو كؤوس لمجرد النقر. المكافأة البصرية تُمنح عند إظهار دليل فهم، ولا تعني إتقاناً معتمداً؛ الإتقان يُحتسب على الخادم وفق سياسة منفصلة.
|
||||
|
||||
## 4. المشهد المتحرك
|
||||
|
||||
- يرسم بالكامل عبر Flutter `CustomPainter` دون صور PNG/SVG/WebView.
|
||||
- يحول كل محور في قسم «محاور الدرس» إلى طبقة مرئية قابلة للتشغيل والإيقاف.
|
||||
- يعرض السبب والنتيجة في اللحظة نفسها: المتغير المتحكم، أثره في المشهد، والقراءة الرقمية بوحدتها إن وجدت.
|
||||
- تبقى مساحة التجربة ظاهرة أثناء تعديل القيم. على العرض الواسع: كانفاس بمرونة 2 ولوحة تحكم 1 بعرض 320–360px. على الهاتف: كانفاس 300–340px ثم تحكم قابل للتمرير.
|
||||
- الحركة مستمرة عند الحاجة فقط، ويفضل 60fps مع دعم شاشات 120Hz من دون ربط صحة الحساب بعدد الإطارات.
|
||||
- عند تفعيل تقليل الحركة في النظام، تستبدل الحركة المستمرة بانتقالات قصيرة ولقطات حالة مفهومة.
|
||||
|
||||
## 5. نموذج الحالة والتحكم
|
||||
|
||||
ينشئ المطور بعد مراجعة المصدر جدول متغيرات صريحاً:
|
||||
|
||||
| المتغير | معناه في الدرس | النوع/الوحدة | المجال المسموح | القيمة الابتدائية | أثره المرئي |
|
||||
|---|---|---|---|---|---|
|
||||
| `focusParameter` | العامل الرئيس المثبت في المصدر | يحدد من الدرس | يحدد من أمثلة المصدر | حالة محايدة | يغير طبقة واحدة بوضوح |
|
||||
| `comparisonParameter` | عامل المقارنة أو الحالة الثانية | يحدد من الدرس | يحدد من المصدر | مغلق | يظهر فرقاً قابلاً للتفسير |
|
||||
| `timeOrStep` | الزمن أو ترتيب الخطوات عند انطباقه | ثانية/خطوة | بحسب الظاهرة | 0 | يحرك العملية دون تغيير النتيجة حسابياً |
|
||||
|
||||
لوحة التحكم لا تتجاوز ثلاثة عناصر أساسية في المهمة الواحدة. الخيارات المتقدمة تظهر تدريجياً بعد نجاح الطالب في اكتشاف العلاقة الأولى.
|
||||
|
||||
## 6. قواعد المحاكاة والدقة
|
||||
|
||||
- كل معادلة أو ترتيب أو علاقة سببية تُسجل هنا مع مرجع الصفحة/القسم قبل كتابتها في Dart.
|
||||
- تفصل طبقة الحسابات عن `CustomPainter`، وتغطى باختبارات وحدات للقيم الحدية والحالات غير الصالحة.
|
||||
- لا تستخدم عشوائية تؤثر في الإجابة إلا ببذرة محفوظة وقيم ضمن نطاق المصدر.
|
||||
- لا تعرض قيماً علمية أو تاريخية أو لغوية تقريبية بوصفها دقيقة. عند غياب الدليل تعرض «يحتاج مراجعة» في بيئة التأليف فقط.
|
||||
- النص والكانفاس ولوحة التحكم تتشارك الحالة نفسها؛ لا يجوز أن تخالف القراءة الرقمية الرسم.
|
||||
|
||||
## 7. محطات فحص الفهم
|
||||
|
||||
تنفذ عبر `LabCheckpointCallback` بعد ظهور الدليل للطالب، وبالترتيب التالي:
|
||||
|
||||
1. **توقّع:** ما الحالة المتوقعة قبل تشغيل التغيير؟ الخيارات تمثل أخطاء شائعة مثبتة أو يراجعها المعلم.
|
||||
2. **استدلال:** أي دليل مرئي/عددي يثبت ما حدث؟ لا يُسأل الطالب قبل ظهور الدليل.
|
||||
3. **تفسير:** لماذا تغيّرت النتيجة عند تغيير العامل المحدد؟
|
||||
4. **نقل:** ماذا يحدث في حالة جديدة تستخدم المفهوم نفسه؟
|
||||
|
||||
لكل محطة يسجل المنفذ: `checkpoint_id`، المحور المنهجي، شرط الإطلاق، السؤال، الخيارات، الإجابة وتعليلها، مرجع الصفحة/القسم، والتلميح. لا تُرسل الإجابة الصحيحة مسبقاً إلى العميل عندما تدخل النتيجة في الإتقان.
|
||||
|
||||
## 8. التغذية الراجعة ومنع التخمين
|
||||
|
||||
- الإجابة الخاطئة لا تعيد المشهد عشوائياً؛ تضيء المتغير والدليل المرتبطين بالخطأ وتقدم تلميحاً واحداً.
|
||||
- بعد محاولتين، تفكك المهمة إلى خطوة أصغر ثم تعيد حالة نقل مختلفة.
|
||||
- يمنع زر «التالي» حتى يلمس الطالب المتغير المقصود ويرى الأثر، لكن يتوفر دائماً زر إعادة الضبط والخروج.
|
||||
- لا تستخدم مؤثر نجاح مبالغاً فيه؛ اهتزاز خفيف وصوت اختياري وحركة قصيرة تكفي.
|
||||
|
||||
## 9. النظام البصري وإمكانية الوصول
|
||||
|
||||
- الخلفية `#07111F`، السطح `#0B1728`/`#102035`، الحدود `Colors.white10`، والتركيز الأساسي `#00F5D4` أو `#0071E3`.
|
||||
- الخط من خط النظام SF Arabic/Geeza Pro؛ لا يعتمد المختبر على تنزيل خط خارجي.
|
||||
- أقل هدف لمس 44×44، وتباين النص الأساسي 4.5:1، وتسمية دلالية لكل تحكم وقراءة.
|
||||
- اللون ليس الدليل الوحيد: كل حالة لها شكل/رمز/نص، مع دعم RTL وترتيب قراءة صحيح لقارئ الشاشة.
|
||||
- يوفر وصفاً نصياً متجدداً للمشهد للطالب الذي لا يرى الرسم، ويعلن التغيرات المهمة دون إغراق قارئ الشاشة.
|
||||
|
||||
## 10. بنية Flutter المطلوبة
|
||||
|
||||
- ملف مستقل باسم مشتق من هوية الدرس، وWidget من نوع `StatefulWidget`.
|
||||
- يستخدم `SaqelLabScaffold` بعد تنقيحه ليحمل هوية الدرس وإصدار الحزمة، لا مساراً نصياً مختلقاً.
|
||||
- `CustomPainter` للرسم، وطبقة domain مستقلة للحساب، وcontroller للحالة، واختبارات widget للمقاسين 390×844 و1024×768.
|
||||
- التسجيل في `labs_registry.dart` يكون بمفتاح `curriculum_lesson_id` صريح وارد من الخادم فقط. ممنوع fallback حسب المبحث أو كلمات العنوان.
|
||||
- المختبر غير المتاح في حزمة منشورة لا يظهر في تجربة الطالب؛ يمكن معاينته فقط في بيئة التأليف المعلّمة بوضوح.
|
||||
|
||||
## 11. سيناريوهات التحقق الإلزامية
|
||||
|
||||
- فتح الدرس الصحيح يعرض هذا المختبر فقط بعد تحقق الحزمة المنشورة والصلاحية.
|
||||
- درس يحمل عنواناً مشابهاً وهوية مختلفة لا يفتح هذا المختبر.
|
||||
- الهاتف واللوحي لا يعانيان overflow، والكانفاس يبقى مرئياً أثناء التحكم.
|
||||
- إعادة الضبط تعيد كل المتغيرات والمؤقتات ومحطات الفهم إلى الحالة الابتدائية.
|
||||
- كل حد أدنى/أقصى يعطي رسماً وقراءة متطابقين ولا ينتج NaN/Infinity.
|
||||
- تقليل الحركة وقارئ الشاشة والتنقل بلوحة المفاتيح يعملون.
|
||||
- لا توجد صور خارجية، بيانات ديمو، أرقام نجاح، أو ادعاء إتقان محلي.
|
||||
|
||||
## 12. تعريف الاكتمال
|
||||
|
||||
- [ ] راجع مختص المادة النتاجات والمحاور والمصطلحات والأمثلة.
|
||||
- [ ] وثقت المعادلات/العلاقات مع الصفحات أو الأقسام.
|
||||
- [ ] اعتمد سيناريو اللعب وأخطاء الطلاب الشائعة.
|
||||
- [ ] نُفذت المحاكاة المتجهية والتحكم المتجاوب.
|
||||
- [ ] نُفذت محطات الفهم بأدلة وتعليلات وتلميحات.
|
||||
- [ ] نجحت اختبارات domain وwidget والوصول والحالات الحدية.
|
||||
- [ ] رُبط المختبر بحزمة خادم منشورة عبر هوية وإصدار صريحين.
|
||||
- [ ] راجع الطالب/المعلم التجربة ولم تُسجل كمكتملة قبل الدليل.
|
||||
@@ -0,0 +1,135 @@
|
||||
---
|
||||
spec_type: curriculum_virtual_lab
|
||||
spec_version: 1.0.0
|
||||
status: draft_requires_academic_review
|
||||
curriculum_version: jordan-grade10-2026-source-review
|
||||
curriculum_lesson_id: arabic_10_semester_2_unit_09_lesson_03
|
||||
grade_key: grade_10
|
||||
subject_key: arabic_10
|
||||
semester_key: semester_2
|
||||
unit_key: unit_09
|
||||
lesson_key: lesson_03
|
||||
source_markdown: grade_10/arabic_10/semester_2/unit_09/lesson_03.md
|
||||
source_extraction_review_status: needs_human_review
|
||||
---
|
||||
|
||||
# مواصفة المختبر التفاعلي — الدرس الثالث: أقرأُ بطالقةٍ وفهمٍ (المفكر العربي إدوارد سعيد)
|
||||
|
||||
> **حالة الملف:** مسودة هندسية مشتقة من ملف القبول المنهجي. لا تُعرض للطالب ولا تُسجّل كمختبر منشور قبل مراجعة المحتوى، وربطها بحزمة نشر خادمية معتمدة وإصدار أصل واضح.
|
||||
|
||||
## 1. بطاقة الارتباط المنهجي
|
||||
|
||||
- المبحث: اللغة العربية
|
||||
- هوية الدرس: `arabic_10_semester_2_unit_09_lesson_03`
|
||||
- المصدر الوحيد لهذه المسودة: `grade_10/arabic_10/semester_2/unit_09/lesson_03.md`
|
||||
- صفحات المصدر المسجلة: 91, 92, 93, 94, 95, 96
|
||||
- حالة مراجعة الاستخراج: `needs_human_review`
|
||||
- يمنع الربط بعنوان الدرس أو `lesson_01` وحده؛ الربط التشغيلي يكون بهوية الدرس وإصدار الحزمة المنشورة.
|
||||
|
||||
## 2. ما الذي يجب أن يفهمه الطالب؟
|
||||
|
||||
### النتاجات المستخرجة
|
||||
|
||||
- يحددها المراجع الأكاديمي من المصدر قبل التنفيذ؛ لا تكفي صياغة عنوان الدرس.
|
||||
|
||||
### محاور الدرس التي يجب تمثيلها
|
||||
|
||||
- الدرس الثالث: أقرأُ بطالقةٍ وفهمٍ (المفكر العربي إدوارد سعيد)
|
||||
|
||||
إذا كانت النتاجات أعلاه عامة أو ناقصة، يستخرج المراجع الأكاديمي نتاجات قابلة للقياس من الصفحات المشار إليها قبل البرمجة. لا يخترع المطور قانوناً أو تعريفاً أو ترجمة أو مثالاً غير مثبت في المصدر.
|
||||
|
||||
## 3. فكرة اللعبة التعليمية
|
||||
|
||||
- **الاستعارة البصرية:** مسرح نصي تفاعلي يفكك البنية والمعنى والإيقاع بصرياً.
|
||||
- **حلقة اللعب:** رتّب عناصر النص أو اللغة واستدل على العلاقة.
|
||||
- **المهمة الأولى — اكتشف:** يبدأ الطالب بمشهد واضح وتعليمة واحدة، ويتنبأ بما سيحدث قبل لمس التحكم.
|
||||
- **المهمة الثانية — جرّب:** يغيّر متغيراً واحداً فقط، ويرى أثره فوراً في الرسم والقراءة والتفسير المختصر.
|
||||
- **المهمة الثالثة — ابنِ:** يرتب العناصر أو يضبط القيم للوصول إلى حالة هدف مأخوذة من مفهوم الدرس.
|
||||
- **المهمة الرابعة — فسّر:** يختار تفسيراً للدليل المرئي، لا تعريفاً محفوظاً.
|
||||
- **المهمة الخامسة — انقل الفهم:** يواجه حالة جديدة بالقانون أو العلاقة نفسها مع قيم/سياق مختلفين.
|
||||
|
||||
لا توجد نقاط أو كؤوس لمجرد النقر. المكافأة البصرية تُمنح عند إظهار دليل فهم، ولا تعني إتقاناً معتمداً؛ الإتقان يُحتسب على الخادم وفق سياسة منفصلة.
|
||||
|
||||
## 4. المشهد المتحرك
|
||||
|
||||
- يرسم بالكامل عبر Flutter `CustomPainter` دون صور PNG/SVG/WebView.
|
||||
- يحول كل محور في قسم «محاور الدرس» إلى طبقة مرئية قابلة للتشغيل والإيقاف.
|
||||
- يعرض السبب والنتيجة في اللحظة نفسها: المتغير المتحكم، أثره في المشهد، والقراءة الرقمية بوحدتها إن وجدت.
|
||||
- تبقى مساحة التجربة ظاهرة أثناء تعديل القيم. على العرض الواسع: كانفاس بمرونة 2 ولوحة تحكم 1 بعرض 320–360px. على الهاتف: كانفاس 300–340px ثم تحكم قابل للتمرير.
|
||||
- الحركة مستمرة عند الحاجة فقط، ويفضل 60fps مع دعم شاشات 120Hz من دون ربط صحة الحساب بعدد الإطارات.
|
||||
- عند تفعيل تقليل الحركة في النظام، تستبدل الحركة المستمرة بانتقالات قصيرة ولقطات حالة مفهومة.
|
||||
|
||||
## 5. نموذج الحالة والتحكم
|
||||
|
||||
ينشئ المطور بعد مراجعة المصدر جدول متغيرات صريحاً:
|
||||
|
||||
| المتغير | معناه في الدرس | النوع/الوحدة | المجال المسموح | القيمة الابتدائية | أثره المرئي |
|
||||
|---|---|---|---|---|---|
|
||||
| `focusParameter` | العامل الرئيس المثبت في المصدر | يحدد من الدرس | يحدد من أمثلة المصدر | حالة محايدة | يغير طبقة واحدة بوضوح |
|
||||
| `comparisonParameter` | عامل المقارنة أو الحالة الثانية | يحدد من الدرس | يحدد من المصدر | مغلق | يظهر فرقاً قابلاً للتفسير |
|
||||
| `timeOrStep` | الزمن أو ترتيب الخطوات عند انطباقه | ثانية/خطوة | بحسب الظاهرة | 0 | يحرك العملية دون تغيير النتيجة حسابياً |
|
||||
|
||||
لوحة التحكم لا تتجاوز ثلاثة عناصر أساسية في المهمة الواحدة. الخيارات المتقدمة تظهر تدريجياً بعد نجاح الطالب في اكتشاف العلاقة الأولى.
|
||||
|
||||
## 6. قواعد المحاكاة والدقة
|
||||
|
||||
- كل معادلة أو ترتيب أو علاقة سببية تُسجل هنا مع مرجع الصفحة/القسم قبل كتابتها في Dart.
|
||||
- تفصل طبقة الحسابات عن `CustomPainter`، وتغطى باختبارات وحدات للقيم الحدية والحالات غير الصالحة.
|
||||
- لا تستخدم عشوائية تؤثر في الإجابة إلا ببذرة محفوظة وقيم ضمن نطاق المصدر.
|
||||
- لا تعرض قيماً علمية أو تاريخية أو لغوية تقريبية بوصفها دقيقة. عند غياب الدليل تعرض «يحتاج مراجعة» في بيئة التأليف فقط.
|
||||
- النص والكانفاس ولوحة التحكم تتشارك الحالة نفسها؛ لا يجوز أن تخالف القراءة الرقمية الرسم.
|
||||
|
||||
## 7. محطات فحص الفهم
|
||||
|
||||
تنفذ عبر `LabCheckpointCallback` بعد ظهور الدليل للطالب، وبالترتيب التالي:
|
||||
|
||||
1. **توقّع:** ما الحالة المتوقعة قبل تشغيل التغيير؟ الخيارات تمثل أخطاء شائعة مثبتة أو يراجعها المعلم.
|
||||
2. **استدلال:** أي دليل مرئي/عددي يثبت ما حدث؟ لا يُسأل الطالب قبل ظهور الدليل.
|
||||
3. **تفسير:** لماذا تغيّرت النتيجة عند تغيير العامل المحدد؟
|
||||
4. **نقل:** ماذا يحدث في حالة جديدة تستخدم المفهوم نفسه؟
|
||||
|
||||
لكل محطة يسجل المنفذ: `checkpoint_id`، المحور المنهجي، شرط الإطلاق، السؤال، الخيارات، الإجابة وتعليلها، مرجع الصفحة/القسم، والتلميح. لا تُرسل الإجابة الصحيحة مسبقاً إلى العميل عندما تدخل النتيجة في الإتقان.
|
||||
|
||||
## 8. التغذية الراجعة ومنع التخمين
|
||||
|
||||
- الإجابة الخاطئة لا تعيد المشهد عشوائياً؛ تضيء المتغير والدليل المرتبطين بالخطأ وتقدم تلميحاً واحداً.
|
||||
- بعد محاولتين، تفكك المهمة إلى خطوة أصغر ثم تعيد حالة نقل مختلفة.
|
||||
- يمنع زر «التالي» حتى يلمس الطالب المتغير المقصود ويرى الأثر، لكن يتوفر دائماً زر إعادة الضبط والخروج.
|
||||
- لا تستخدم مؤثر نجاح مبالغاً فيه؛ اهتزاز خفيف وصوت اختياري وحركة قصيرة تكفي.
|
||||
|
||||
## 9. النظام البصري وإمكانية الوصول
|
||||
|
||||
- الخلفية `#07111F`، السطح `#0B1728`/`#102035`، الحدود `Colors.white10`، والتركيز الأساسي `#00F5D4` أو `#0071E3`.
|
||||
- الخط من خط النظام SF Arabic/Geeza Pro؛ لا يعتمد المختبر على تنزيل خط خارجي.
|
||||
- أقل هدف لمس 44×44، وتباين النص الأساسي 4.5:1، وتسمية دلالية لكل تحكم وقراءة.
|
||||
- اللون ليس الدليل الوحيد: كل حالة لها شكل/رمز/نص، مع دعم RTL وترتيب قراءة صحيح لقارئ الشاشة.
|
||||
- يوفر وصفاً نصياً متجدداً للمشهد للطالب الذي لا يرى الرسم، ويعلن التغيرات المهمة دون إغراق قارئ الشاشة.
|
||||
|
||||
## 10. بنية Flutter المطلوبة
|
||||
|
||||
- ملف مستقل باسم مشتق من هوية الدرس، وWidget من نوع `StatefulWidget`.
|
||||
- يستخدم `SaqelLabScaffold` بعد تنقيحه ليحمل هوية الدرس وإصدار الحزمة، لا مساراً نصياً مختلقاً.
|
||||
- `CustomPainter` للرسم، وطبقة domain مستقلة للحساب، وcontroller للحالة، واختبارات widget للمقاسين 390×844 و1024×768.
|
||||
- التسجيل في `labs_registry.dart` يكون بمفتاح `curriculum_lesson_id` صريح وارد من الخادم فقط. ممنوع fallback حسب المبحث أو كلمات العنوان.
|
||||
- المختبر غير المتاح في حزمة منشورة لا يظهر في تجربة الطالب؛ يمكن معاينته فقط في بيئة التأليف المعلّمة بوضوح.
|
||||
|
||||
## 11. سيناريوهات التحقق الإلزامية
|
||||
|
||||
- فتح الدرس الصحيح يعرض هذا المختبر فقط بعد تحقق الحزمة المنشورة والصلاحية.
|
||||
- درس يحمل عنواناً مشابهاً وهوية مختلفة لا يفتح هذا المختبر.
|
||||
- الهاتف واللوحي لا يعانيان overflow، والكانفاس يبقى مرئياً أثناء التحكم.
|
||||
- إعادة الضبط تعيد كل المتغيرات والمؤقتات ومحطات الفهم إلى الحالة الابتدائية.
|
||||
- كل حد أدنى/أقصى يعطي رسماً وقراءة متطابقين ولا ينتج NaN/Infinity.
|
||||
- تقليل الحركة وقارئ الشاشة والتنقل بلوحة المفاتيح يعملون.
|
||||
- لا توجد صور خارجية، بيانات ديمو، أرقام نجاح، أو ادعاء إتقان محلي.
|
||||
|
||||
## 12. تعريف الاكتمال
|
||||
|
||||
- [ ] راجع مختص المادة النتاجات والمحاور والمصطلحات والأمثلة.
|
||||
- [ ] وثقت المعادلات/العلاقات مع الصفحات أو الأقسام.
|
||||
- [ ] اعتمد سيناريو اللعب وأخطاء الطلاب الشائعة.
|
||||
- [ ] نُفذت المحاكاة المتجهية والتحكم المتجاوب.
|
||||
- [ ] نُفذت محطات الفهم بأدلة وتعليلات وتلميحات.
|
||||
- [ ] نجحت اختبارات domain وwidget والوصول والحالات الحدية.
|
||||
- [ ] رُبط المختبر بحزمة خادم منشورة عبر هوية وإصدار صريحين.
|
||||
- [ ] راجع الطالب/المعلم التجربة ولم تُسجل كمكتملة قبل الدليل.
|
||||
@@ -0,0 +1,135 @@
|
||||
---
|
||||
spec_type: curriculum_virtual_lab
|
||||
spec_version: 1.0.0
|
||||
status: draft_requires_academic_review
|
||||
curriculum_version: jordan-grade10-2026-source-review
|
||||
curriculum_lesson_id: arabic_10_semester_2_unit_09_lesson_04
|
||||
grade_key: grade_10
|
||||
subject_key: arabic_10
|
||||
semester_key: semester_2
|
||||
unit_key: unit_09
|
||||
lesson_key: lesson_04
|
||||
source_markdown: grade_10/arabic_10/semester_2/unit_09/lesson_04.md
|
||||
source_extraction_review_status: needs_human_review
|
||||
---
|
||||
|
||||
# مواصفة المختبر التفاعلي — الدرس الرابع: أكتبُ محتوى (تقرير علمي عن شخصية)
|
||||
|
||||
> **حالة الملف:** مسودة هندسية مشتقة من ملف القبول المنهجي. لا تُعرض للطالب ولا تُسجّل كمختبر منشور قبل مراجعة المحتوى، وربطها بحزمة نشر خادمية معتمدة وإصدار أصل واضح.
|
||||
|
||||
## 1. بطاقة الارتباط المنهجي
|
||||
|
||||
- المبحث: اللغة العربية
|
||||
- هوية الدرس: `arabic_10_semester_2_unit_09_lesson_04`
|
||||
- المصدر الوحيد لهذه المسودة: `grade_10/arabic_10/semester_2/unit_09/lesson_04.md`
|
||||
- صفحات المصدر المسجلة: 97, 98, 99, 100
|
||||
- حالة مراجعة الاستخراج: `needs_human_review`
|
||||
- يمنع الربط بعنوان الدرس أو `lesson_01` وحده؛ الربط التشغيلي يكون بهوية الدرس وإصدار الحزمة المنشورة.
|
||||
|
||||
## 2. ما الذي يجب أن يفهمه الطالب؟
|
||||
|
||||
### النتاجات المستخرجة
|
||||
|
||||
- يحددها المراجع الأكاديمي من المصدر قبل التنفيذ؛ لا تكفي صياغة عنوان الدرس.
|
||||
|
||||
### محاور الدرس التي يجب تمثيلها
|
||||
|
||||
- الدرس الرابع: أكتبُ محتوى (تقرير علمي عن شخصية)
|
||||
|
||||
إذا كانت النتاجات أعلاه عامة أو ناقصة، يستخرج المراجع الأكاديمي نتاجات قابلة للقياس من الصفحات المشار إليها قبل البرمجة. لا يخترع المطور قانوناً أو تعريفاً أو ترجمة أو مثالاً غير مثبت في المصدر.
|
||||
|
||||
## 3. فكرة اللعبة التعليمية
|
||||
|
||||
- **الاستعارة البصرية:** مسرح نصي تفاعلي يفكك البنية والمعنى والإيقاع بصرياً.
|
||||
- **حلقة اللعب:** رتّب عناصر النص أو اللغة واستدل على العلاقة.
|
||||
- **المهمة الأولى — اكتشف:** يبدأ الطالب بمشهد واضح وتعليمة واحدة، ويتنبأ بما سيحدث قبل لمس التحكم.
|
||||
- **المهمة الثانية — جرّب:** يغيّر متغيراً واحداً فقط، ويرى أثره فوراً في الرسم والقراءة والتفسير المختصر.
|
||||
- **المهمة الثالثة — ابنِ:** يرتب العناصر أو يضبط القيم للوصول إلى حالة هدف مأخوذة من مفهوم الدرس.
|
||||
- **المهمة الرابعة — فسّر:** يختار تفسيراً للدليل المرئي، لا تعريفاً محفوظاً.
|
||||
- **المهمة الخامسة — انقل الفهم:** يواجه حالة جديدة بالقانون أو العلاقة نفسها مع قيم/سياق مختلفين.
|
||||
|
||||
لا توجد نقاط أو كؤوس لمجرد النقر. المكافأة البصرية تُمنح عند إظهار دليل فهم، ولا تعني إتقاناً معتمداً؛ الإتقان يُحتسب على الخادم وفق سياسة منفصلة.
|
||||
|
||||
## 4. المشهد المتحرك
|
||||
|
||||
- يرسم بالكامل عبر Flutter `CustomPainter` دون صور PNG/SVG/WebView.
|
||||
- يحول كل محور في قسم «محاور الدرس» إلى طبقة مرئية قابلة للتشغيل والإيقاف.
|
||||
- يعرض السبب والنتيجة في اللحظة نفسها: المتغير المتحكم، أثره في المشهد، والقراءة الرقمية بوحدتها إن وجدت.
|
||||
- تبقى مساحة التجربة ظاهرة أثناء تعديل القيم. على العرض الواسع: كانفاس بمرونة 2 ولوحة تحكم 1 بعرض 320–360px. على الهاتف: كانفاس 300–340px ثم تحكم قابل للتمرير.
|
||||
- الحركة مستمرة عند الحاجة فقط، ويفضل 60fps مع دعم شاشات 120Hz من دون ربط صحة الحساب بعدد الإطارات.
|
||||
- عند تفعيل تقليل الحركة في النظام، تستبدل الحركة المستمرة بانتقالات قصيرة ولقطات حالة مفهومة.
|
||||
|
||||
## 5. نموذج الحالة والتحكم
|
||||
|
||||
ينشئ المطور بعد مراجعة المصدر جدول متغيرات صريحاً:
|
||||
|
||||
| المتغير | معناه في الدرس | النوع/الوحدة | المجال المسموح | القيمة الابتدائية | أثره المرئي |
|
||||
|---|---|---|---|---|---|
|
||||
| `focusParameter` | العامل الرئيس المثبت في المصدر | يحدد من الدرس | يحدد من أمثلة المصدر | حالة محايدة | يغير طبقة واحدة بوضوح |
|
||||
| `comparisonParameter` | عامل المقارنة أو الحالة الثانية | يحدد من الدرس | يحدد من المصدر | مغلق | يظهر فرقاً قابلاً للتفسير |
|
||||
| `timeOrStep` | الزمن أو ترتيب الخطوات عند انطباقه | ثانية/خطوة | بحسب الظاهرة | 0 | يحرك العملية دون تغيير النتيجة حسابياً |
|
||||
|
||||
لوحة التحكم لا تتجاوز ثلاثة عناصر أساسية في المهمة الواحدة. الخيارات المتقدمة تظهر تدريجياً بعد نجاح الطالب في اكتشاف العلاقة الأولى.
|
||||
|
||||
## 6. قواعد المحاكاة والدقة
|
||||
|
||||
- كل معادلة أو ترتيب أو علاقة سببية تُسجل هنا مع مرجع الصفحة/القسم قبل كتابتها في Dart.
|
||||
- تفصل طبقة الحسابات عن `CustomPainter`، وتغطى باختبارات وحدات للقيم الحدية والحالات غير الصالحة.
|
||||
- لا تستخدم عشوائية تؤثر في الإجابة إلا ببذرة محفوظة وقيم ضمن نطاق المصدر.
|
||||
- لا تعرض قيماً علمية أو تاريخية أو لغوية تقريبية بوصفها دقيقة. عند غياب الدليل تعرض «يحتاج مراجعة» في بيئة التأليف فقط.
|
||||
- النص والكانفاس ولوحة التحكم تتشارك الحالة نفسها؛ لا يجوز أن تخالف القراءة الرقمية الرسم.
|
||||
|
||||
## 7. محطات فحص الفهم
|
||||
|
||||
تنفذ عبر `LabCheckpointCallback` بعد ظهور الدليل للطالب، وبالترتيب التالي:
|
||||
|
||||
1. **توقّع:** ما الحالة المتوقعة قبل تشغيل التغيير؟ الخيارات تمثل أخطاء شائعة مثبتة أو يراجعها المعلم.
|
||||
2. **استدلال:** أي دليل مرئي/عددي يثبت ما حدث؟ لا يُسأل الطالب قبل ظهور الدليل.
|
||||
3. **تفسير:** لماذا تغيّرت النتيجة عند تغيير العامل المحدد؟
|
||||
4. **نقل:** ماذا يحدث في حالة جديدة تستخدم المفهوم نفسه؟
|
||||
|
||||
لكل محطة يسجل المنفذ: `checkpoint_id`، المحور المنهجي، شرط الإطلاق، السؤال، الخيارات، الإجابة وتعليلها، مرجع الصفحة/القسم، والتلميح. لا تُرسل الإجابة الصحيحة مسبقاً إلى العميل عندما تدخل النتيجة في الإتقان.
|
||||
|
||||
## 8. التغذية الراجعة ومنع التخمين
|
||||
|
||||
- الإجابة الخاطئة لا تعيد المشهد عشوائياً؛ تضيء المتغير والدليل المرتبطين بالخطأ وتقدم تلميحاً واحداً.
|
||||
- بعد محاولتين، تفكك المهمة إلى خطوة أصغر ثم تعيد حالة نقل مختلفة.
|
||||
- يمنع زر «التالي» حتى يلمس الطالب المتغير المقصود ويرى الأثر، لكن يتوفر دائماً زر إعادة الضبط والخروج.
|
||||
- لا تستخدم مؤثر نجاح مبالغاً فيه؛ اهتزاز خفيف وصوت اختياري وحركة قصيرة تكفي.
|
||||
|
||||
## 9. النظام البصري وإمكانية الوصول
|
||||
|
||||
- الخلفية `#07111F`، السطح `#0B1728`/`#102035`، الحدود `Colors.white10`، والتركيز الأساسي `#00F5D4` أو `#0071E3`.
|
||||
- الخط من خط النظام SF Arabic/Geeza Pro؛ لا يعتمد المختبر على تنزيل خط خارجي.
|
||||
- أقل هدف لمس 44×44، وتباين النص الأساسي 4.5:1، وتسمية دلالية لكل تحكم وقراءة.
|
||||
- اللون ليس الدليل الوحيد: كل حالة لها شكل/رمز/نص، مع دعم RTL وترتيب قراءة صحيح لقارئ الشاشة.
|
||||
- يوفر وصفاً نصياً متجدداً للمشهد للطالب الذي لا يرى الرسم، ويعلن التغيرات المهمة دون إغراق قارئ الشاشة.
|
||||
|
||||
## 10. بنية Flutter المطلوبة
|
||||
|
||||
- ملف مستقل باسم مشتق من هوية الدرس، وWidget من نوع `StatefulWidget`.
|
||||
- يستخدم `SaqelLabScaffold` بعد تنقيحه ليحمل هوية الدرس وإصدار الحزمة، لا مساراً نصياً مختلقاً.
|
||||
- `CustomPainter` للرسم، وطبقة domain مستقلة للحساب، وcontroller للحالة، واختبارات widget للمقاسين 390×844 و1024×768.
|
||||
- التسجيل في `labs_registry.dart` يكون بمفتاح `curriculum_lesson_id` صريح وارد من الخادم فقط. ممنوع fallback حسب المبحث أو كلمات العنوان.
|
||||
- المختبر غير المتاح في حزمة منشورة لا يظهر في تجربة الطالب؛ يمكن معاينته فقط في بيئة التأليف المعلّمة بوضوح.
|
||||
|
||||
## 11. سيناريوهات التحقق الإلزامية
|
||||
|
||||
- فتح الدرس الصحيح يعرض هذا المختبر فقط بعد تحقق الحزمة المنشورة والصلاحية.
|
||||
- درس يحمل عنواناً مشابهاً وهوية مختلفة لا يفتح هذا المختبر.
|
||||
- الهاتف واللوحي لا يعانيان overflow، والكانفاس يبقى مرئياً أثناء التحكم.
|
||||
- إعادة الضبط تعيد كل المتغيرات والمؤقتات ومحطات الفهم إلى الحالة الابتدائية.
|
||||
- كل حد أدنى/أقصى يعطي رسماً وقراءة متطابقين ولا ينتج NaN/Infinity.
|
||||
- تقليل الحركة وقارئ الشاشة والتنقل بلوحة المفاتيح يعملون.
|
||||
- لا توجد صور خارجية، بيانات ديمو، أرقام نجاح، أو ادعاء إتقان محلي.
|
||||
|
||||
## 12. تعريف الاكتمال
|
||||
|
||||
- [ ] راجع مختص المادة النتاجات والمحاور والمصطلحات والأمثلة.
|
||||
- [ ] وثقت المعادلات/العلاقات مع الصفحات أو الأقسام.
|
||||
- [ ] اعتمد سيناريو اللعب وأخطاء الطلاب الشائعة.
|
||||
- [ ] نُفذت المحاكاة المتجهية والتحكم المتجاوب.
|
||||
- [ ] نُفذت محطات الفهم بأدلة وتعليلات وتلميحات.
|
||||
- [ ] نجحت اختبارات domain وwidget والوصول والحالات الحدية.
|
||||
- [ ] رُبط المختبر بحزمة خادم منشورة عبر هوية وإصدار صريحين.
|
||||
- [ ] راجع الطالب/المعلم التجربة ولم تُسجل كمكتملة قبل الدليل.
|
||||
@@ -0,0 +1,135 @@
|
||||
---
|
||||
spec_type: curriculum_virtual_lab
|
||||
spec_version: 1.0.0
|
||||
status: draft_requires_academic_review
|
||||
curriculum_version: jordan-grade10-2026-source-review
|
||||
curriculum_lesson_id: arabic_10_semester_2_unit_09_lesson_05
|
||||
grade_key: grade_10
|
||||
subject_key: arabic_10
|
||||
semester_key: semester_2
|
||||
unit_key: unit_09
|
||||
lesson_key: lesson_05
|
||||
source_markdown: grade_10/arabic_10/semester_2/unit_09/lesson_05.md
|
||||
source_extraction_review_status: needs_human_review
|
||||
---
|
||||
|
||||
# مواصفة المختبر التفاعلي — الدرس الخامس: أبني لغتي (1): الأفعال المتعدية إلى مفعولين
|
||||
|
||||
> **حالة الملف:** مسودة هندسية مشتقة من ملف القبول المنهجي. لا تُعرض للطالب ولا تُسجّل كمختبر منشور قبل مراجعة المحتوى، وربطها بحزمة نشر خادمية معتمدة وإصدار أصل واضح.
|
||||
|
||||
## 1. بطاقة الارتباط المنهجي
|
||||
|
||||
- المبحث: اللغة العربية
|
||||
- هوية الدرس: `arabic_10_semester_2_unit_09_lesson_05`
|
||||
- المصدر الوحيد لهذه المسودة: `grade_10/arabic_10/semester_2/unit_09/lesson_05.md`
|
||||
- صفحات المصدر المسجلة: 101, 102, 103, 104, 105
|
||||
- حالة مراجعة الاستخراج: `needs_human_review`
|
||||
- يمنع الربط بعنوان الدرس أو `lesson_01` وحده؛ الربط التشغيلي يكون بهوية الدرس وإصدار الحزمة المنشورة.
|
||||
|
||||
## 2. ما الذي يجب أن يفهمه الطالب؟
|
||||
|
||||
### النتاجات المستخرجة
|
||||
|
||||
- يحددها المراجع الأكاديمي من المصدر قبل التنفيذ؛ لا تكفي صياغة عنوان الدرس.
|
||||
|
||||
### محاور الدرس التي يجب تمثيلها
|
||||
|
||||
- الدرس الخامس: أبني لغتي (1): الأفعال المتعدية إلى مفعولين
|
||||
|
||||
إذا كانت النتاجات أعلاه عامة أو ناقصة، يستخرج المراجع الأكاديمي نتاجات قابلة للقياس من الصفحات المشار إليها قبل البرمجة. لا يخترع المطور قانوناً أو تعريفاً أو ترجمة أو مثالاً غير مثبت في المصدر.
|
||||
|
||||
## 3. فكرة اللعبة التعليمية
|
||||
|
||||
- **الاستعارة البصرية:** مسرح نصي تفاعلي يفكك البنية والمعنى والإيقاع بصرياً.
|
||||
- **حلقة اللعب:** رتّب عناصر النص أو اللغة واستدل على العلاقة.
|
||||
- **المهمة الأولى — اكتشف:** يبدأ الطالب بمشهد واضح وتعليمة واحدة، ويتنبأ بما سيحدث قبل لمس التحكم.
|
||||
- **المهمة الثانية — جرّب:** يغيّر متغيراً واحداً فقط، ويرى أثره فوراً في الرسم والقراءة والتفسير المختصر.
|
||||
- **المهمة الثالثة — ابنِ:** يرتب العناصر أو يضبط القيم للوصول إلى حالة هدف مأخوذة من مفهوم الدرس.
|
||||
- **المهمة الرابعة — فسّر:** يختار تفسيراً للدليل المرئي، لا تعريفاً محفوظاً.
|
||||
- **المهمة الخامسة — انقل الفهم:** يواجه حالة جديدة بالقانون أو العلاقة نفسها مع قيم/سياق مختلفين.
|
||||
|
||||
لا توجد نقاط أو كؤوس لمجرد النقر. المكافأة البصرية تُمنح عند إظهار دليل فهم، ولا تعني إتقاناً معتمداً؛ الإتقان يُحتسب على الخادم وفق سياسة منفصلة.
|
||||
|
||||
## 4. المشهد المتحرك
|
||||
|
||||
- يرسم بالكامل عبر Flutter `CustomPainter` دون صور PNG/SVG/WebView.
|
||||
- يحول كل محور في قسم «محاور الدرس» إلى طبقة مرئية قابلة للتشغيل والإيقاف.
|
||||
- يعرض السبب والنتيجة في اللحظة نفسها: المتغير المتحكم، أثره في المشهد، والقراءة الرقمية بوحدتها إن وجدت.
|
||||
- تبقى مساحة التجربة ظاهرة أثناء تعديل القيم. على العرض الواسع: كانفاس بمرونة 2 ولوحة تحكم 1 بعرض 320–360px. على الهاتف: كانفاس 300–340px ثم تحكم قابل للتمرير.
|
||||
- الحركة مستمرة عند الحاجة فقط، ويفضل 60fps مع دعم شاشات 120Hz من دون ربط صحة الحساب بعدد الإطارات.
|
||||
- عند تفعيل تقليل الحركة في النظام، تستبدل الحركة المستمرة بانتقالات قصيرة ولقطات حالة مفهومة.
|
||||
|
||||
## 5. نموذج الحالة والتحكم
|
||||
|
||||
ينشئ المطور بعد مراجعة المصدر جدول متغيرات صريحاً:
|
||||
|
||||
| المتغير | معناه في الدرس | النوع/الوحدة | المجال المسموح | القيمة الابتدائية | أثره المرئي |
|
||||
|---|---|---|---|---|---|
|
||||
| `focusParameter` | العامل الرئيس المثبت في المصدر | يحدد من الدرس | يحدد من أمثلة المصدر | حالة محايدة | يغير طبقة واحدة بوضوح |
|
||||
| `comparisonParameter` | عامل المقارنة أو الحالة الثانية | يحدد من الدرس | يحدد من المصدر | مغلق | يظهر فرقاً قابلاً للتفسير |
|
||||
| `timeOrStep` | الزمن أو ترتيب الخطوات عند انطباقه | ثانية/خطوة | بحسب الظاهرة | 0 | يحرك العملية دون تغيير النتيجة حسابياً |
|
||||
|
||||
لوحة التحكم لا تتجاوز ثلاثة عناصر أساسية في المهمة الواحدة. الخيارات المتقدمة تظهر تدريجياً بعد نجاح الطالب في اكتشاف العلاقة الأولى.
|
||||
|
||||
## 6. قواعد المحاكاة والدقة
|
||||
|
||||
- كل معادلة أو ترتيب أو علاقة سببية تُسجل هنا مع مرجع الصفحة/القسم قبل كتابتها في Dart.
|
||||
- تفصل طبقة الحسابات عن `CustomPainter`، وتغطى باختبارات وحدات للقيم الحدية والحالات غير الصالحة.
|
||||
- لا تستخدم عشوائية تؤثر في الإجابة إلا ببذرة محفوظة وقيم ضمن نطاق المصدر.
|
||||
- لا تعرض قيماً علمية أو تاريخية أو لغوية تقريبية بوصفها دقيقة. عند غياب الدليل تعرض «يحتاج مراجعة» في بيئة التأليف فقط.
|
||||
- النص والكانفاس ولوحة التحكم تتشارك الحالة نفسها؛ لا يجوز أن تخالف القراءة الرقمية الرسم.
|
||||
|
||||
## 7. محطات فحص الفهم
|
||||
|
||||
تنفذ عبر `LabCheckpointCallback` بعد ظهور الدليل للطالب، وبالترتيب التالي:
|
||||
|
||||
1. **توقّع:** ما الحالة المتوقعة قبل تشغيل التغيير؟ الخيارات تمثل أخطاء شائعة مثبتة أو يراجعها المعلم.
|
||||
2. **استدلال:** أي دليل مرئي/عددي يثبت ما حدث؟ لا يُسأل الطالب قبل ظهور الدليل.
|
||||
3. **تفسير:** لماذا تغيّرت النتيجة عند تغيير العامل المحدد؟
|
||||
4. **نقل:** ماذا يحدث في حالة جديدة تستخدم المفهوم نفسه؟
|
||||
|
||||
لكل محطة يسجل المنفذ: `checkpoint_id`، المحور المنهجي، شرط الإطلاق، السؤال، الخيارات، الإجابة وتعليلها، مرجع الصفحة/القسم، والتلميح. لا تُرسل الإجابة الصحيحة مسبقاً إلى العميل عندما تدخل النتيجة في الإتقان.
|
||||
|
||||
## 8. التغذية الراجعة ومنع التخمين
|
||||
|
||||
- الإجابة الخاطئة لا تعيد المشهد عشوائياً؛ تضيء المتغير والدليل المرتبطين بالخطأ وتقدم تلميحاً واحداً.
|
||||
- بعد محاولتين، تفكك المهمة إلى خطوة أصغر ثم تعيد حالة نقل مختلفة.
|
||||
- يمنع زر «التالي» حتى يلمس الطالب المتغير المقصود ويرى الأثر، لكن يتوفر دائماً زر إعادة الضبط والخروج.
|
||||
- لا تستخدم مؤثر نجاح مبالغاً فيه؛ اهتزاز خفيف وصوت اختياري وحركة قصيرة تكفي.
|
||||
|
||||
## 9. النظام البصري وإمكانية الوصول
|
||||
|
||||
- الخلفية `#07111F`، السطح `#0B1728`/`#102035`، الحدود `Colors.white10`، والتركيز الأساسي `#00F5D4` أو `#0071E3`.
|
||||
- الخط من خط النظام SF Arabic/Geeza Pro؛ لا يعتمد المختبر على تنزيل خط خارجي.
|
||||
- أقل هدف لمس 44×44، وتباين النص الأساسي 4.5:1، وتسمية دلالية لكل تحكم وقراءة.
|
||||
- اللون ليس الدليل الوحيد: كل حالة لها شكل/رمز/نص، مع دعم RTL وترتيب قراءة صحيح لقارئ الشاشة.
|
||||
- يوفر وصفاً نصياً متجدداً للمشهد للطالب الذي لا يرى الرسم، ويعلن التغيرات المهمة دون إغراق قارئ الشاشة.
|
||||
|
||||
## 10. بنية Flutter المطلوبة
|
||||
|
||||
- ملف مستقل باسم مشتق من هوية الدرس، وWidget من نوع `StatefulWidget`.
|
||||
- يستخدم `SaqelLabScaffold` بعد تنقيحه ليحمل هوية الدرس وإصدار الحزمة، لا مساراً نصياً مختلقاً.
|
||||
- `CustomPainter` للرسم، وطبقة domain مستقلة للحساب، وcontroller للحالة، واختبارات widget للمقاسين 390×844 و1024×768.
|
||||
- التسجيل في `labs_registry.dart` يكون بمفتاح `curriculum_lesson_id` صريح وارد من الخادم فقط. ممنوع fallback حسب المبحث أو كلمات العنوان.
|
||||
- المختبر غير المتاح في حزمة منشورة لا يظهر في تجربة الطالب؛ يمكن معاينته فقط في بيئة التأليف المعلّمة بوضوح.
|
||||
|
||||
## 11. سيناريوهات التحقق الإلزامية
|
||||
|
||||
- فتح الدرس الصحيح يعرض هذا المختبر فقط بعد تحقق الحزمة المنشورة والصلاحية.
|
||||
- درس يحمل عنواناً مشابهاً وهوية مختلفة لا يفتح هذا المختبر.
|
||||
- الهاتف واللوحي لا يعانيان overflow، والكانفاس يبقى مرئياً أثناء التحكم.
|
||||
- إعادة الضبط تعيد كل المتغيرات والمؤقتات ومحطات الفهم إلى الحالة الابتدائية.
|
||||
- كل حد أدنى/أقصى يعطي رسماً وقراءة متطابقين ولا ينتج NaN/Infinity.
|
||||
- تقليل الحركة وقارئ الشاشة والتنقل بلوحة المفاتيح يعملون.
|
||||
- لا توجد صور خارجية، بيانات ديمو، أرقام نجاح، أو ادعاء إتقان محلي.
|
||||
|
||||
## 12. تعريف الاكتمال
|
||||
|
||||
- [ ] راجع مختص المادة النتاجات والمحاور والمصطلحات والأمثلة.
|
||||
- [ ] وثقت المعادلات/العلاقات مع الصفحات أو الأقسام.
|
||||
- [ ] اعتمد سيناريو اللعب وأخطاء الطلاب الشائعة.
|
||||
- [ ] نُفذت المحاكاة المتجهية والتحكم المتجاوب.
|
||||
- [ ] نُفذت محطات الفهم بأدلة وتعليلات وتلميحات.
|
||||
- [ ] نجحت اختبارات domain وwidget والوصول والحالات الحدية.
|
||||
- [ ] رُبط المختبر بحزمة خادم منشورة عبر هوية وإصدار صريحين.
|
||||
- [ ] راجع الطالب/المعلم التجربة ولم تُسجل كمكتملة قبل الدليل.
|
||||
@@ -0,0 +1,135 @@
|
||||
---
|
||||
spec_type: curriculum_virtual_lab
|
||||
spec_version: 1.0.0
|
||||
status: draft_requires_academic_review
|
||||
curriculum_version: jordan-grade10-2026-source-review
|
||||
curriculum_lesson_id: arabic_10_semester_2_unit_09_lesson_06
|
||||
grade_key: grade_10
|
||||
subject_key: arabic_10
|
||||
semester_key: semester_2
|
||||
unit_key: unit_09
|
||||
lesson_key: lesson_06
|
||||
source_markdown: grade_10/arabic_10/semester_2/unit_09/lesson_06.md
|
||||
source_extraction_review_status: needs_human_review
|
||||
---
|
||||
|
||||
# مواصفة المختبر التفاعلي — الدرس السادس: أبني لغتي (2): موسيقا لغتي وإيقاعها (بحر المتقارب)
|
||||
|
||||
> **حالة الملف:** مسودة هندسية مشتقة من ملف القبول المنهجي. لا تُعرض للطالب ولا تُسجّل كمختبر منشور قبل مراجعة المحتوى، وربطها بحزمة نشر خادمية معتمدة وإصدار أصل واضح.
|
||||
|
||||
## 1. بطاقة الارتباط المنهجي
|
||||
|
||||
- المبحث: اللغة العربية
|
||||
- هوية الدرس: `arabic_10_semester_2_unit_09_lesson_06`
|
||||
- المصدر الوحيد لهذه المسودة: `grade_10/arabic_10/semester_2/unit_09/lesson_06.md`
|
||||
- صفحات المصدر المسجلة: 106, 107, 108, 109, 110
|
||||
- حالة مراجعة الاستخراج: `needs_human_review`
|
||||
- يمنع الربط بعنوان الدرس أو `lesson_01` وحده؛ الربط التشغيلي يكون بهوية الدرس وإصدار الحزمة المنشورة.
|
||||
|
||||
## 2. ما الذي يجب أن يفهمه الطالب؟
|
||||
|
||||
### النتاجات المستخرجة
|
||||
|
||||
- يحددها المراجع الأكاديمي من المصدر قبل التنفيذ؛ لا تكفي صياغة عنوان الدرس.
|
||||
|
||||
### محاور الدرس التي يجب تمثيلها
|
||||
|
||||
- الدرس السادس: أبني لغتي (2): موسيقا لغتي وإيقاعها (بحر المتقارب)
|
||||
|
||||
إذا كانت النتاجات أعلاه عامة أو ناقصة، يستخرج المراجع الأكاديمي نتاجات قابلة للقياس من الصفحات المشار إليها قبل البرمجة. لا يخترع المطور قانوناً أو تعريفاً أو ترجمة أو مثالاً غير مثبت في المصدر.
|
||||
|
||||
## 3. فكرة اللعبة التعليمية
|
||||
|
||||
- **الاستعارة البصرية:** مسرح نصي تفاعلي يفكك البنية والمعنى والإيقاع بصرياً.
|
||||
- **حلقة اللعب:** رتّب عناصر النص أو اللغة واستدل على العلاقة.
|
||||
- **المهمة الأولى — اكتشف:** يبدأ الطالب بمشهد واضح وتعليمة واحدة، ويتنبأ بما سيحدث قبل لمس التحكم.
|
||||
- **المهمة الثانية — جرّب:** يغيّر متغيراً واحداً فقط، ويرى أثره فوراً في الرسم والقراءة والتفسير المختصر.
|
||||
- **المهمة الثالثة — ابنِ:** يرتب العناصر أو يضبط القيم للوصول إلى حالة هدف مأخوذة من مفهوم الدرس.
|
||||
- **المهمة الرابعة — فسّر:** يختار تفسيراً للدليل المرئي، لا تعريفاً محفوظاً.
|
||||
- **المهمة الخامسة — انقل الفهم:** يواجه حالة جديدة بالقانون أو العلاقة نفسها مع قيم/سياق مختلفين.
|
||||
|
||||
لا توجد نقاط أو كؤوس لمجرد النقر. المكافأة البصرية تُمنح عند إظهار دليل فهم، ولا تعني إتقاناً معتمداً؛ الإتقان يُحتسب على الخادم وفق سياسة منفصلة.
|
||||
|
||||
## 4. المشهد المتحرك
|
||||
|
||||
- يرسم بالكامل عبر Flutter `CustomPainter` دون صور PNG/SVG/WebView.
|
||||
- يحول كل محور في قسم «محاور الدرس» إلى طبقة مرئية قابلة للتشغيل والإيقاف.
|
||||
- يعرض السبب والنتيجة في اللحظة نفسها: المتغير المتحكم، أثره في المشهد، والقراءة الرقمية بوحدتها إن وجدت.
|
||||
- تبقى مساحة التجربة ظاهرة أثناء تعديل القيم. على العرض الواسع: كانفاس بمرونة 2 ولوحة تحكم 1 بعرض 320–360px. على الهاتف: كانفاس 300–340px ثم تحكم قابل للتمرير.
|
||||
- الحركة مستمرة عند الحاجة فقط، ويفضل 60fps مع دعم شاشات 120Hz من دون ربط صحة الحساب بعدد الإطارات.
|
||||
- عند تفعيل تقليل الحركة في النظام، تستبدل الحركة المستمرة بانتقالات قصيرة ولقطات حالة مفهومة.
|
||||
|
||||
## 5. نموذج الحالة والتحكم
|
||||
|
||||
ينشئ المطور بعد مراجعة المصدر جدول متغيرات صريحاً:
|
||||
|
||||
| المتغير | معناه في الدرس | النوع/الوحدة | المجال المسموح | القيمة الابتدائية | أثره المرئي |
|
||||
|---|---|---|---|---|---|
|
||||
| `focusParameter` | العامل الرئيس المثبت في المصدر | يحدد من الدرس | يحدد من أمثلة المصدر | حالة محايدة | يغير طبقة واحدة بوضوح |
|
||||
| `comparisonParameter` | عامل المقارنة أو الحالة الثانية | يحدد من الدرس | يحدد من المصدر | مغلق | يظهر فرقاً قابلاً للتفسير |
|
||||
| `timeOrStep` | الزمن أو ترتيب الخطوات عند انطباقه | ثانية/خطوة | بحسب الظاهرة | 0 | يحرك العملية دون تغيير النتيجة حسابياً |
|
||||
|
||||
لوحة التحكم لا تتجاوز ثلاثة عناصر أساسية في المهمة الواحدة. الخيارات المتقدمة تظهر تدريجياً بعد نجاح الطالب في اكتشاف العلاقة الأولى.
|
||||
|
||||
## 6. قواعد المحاكاة والدقة
|
||||
|
||||
- كل معادلة أو ترتيب أو علاقة سببية تُسجل هنا مع مرجع الصفحة/القسم قبل كتابتها في Dart.
|
||||
- تفصل طبقة الحسابات عن `CustomPainter`، وتغطى باختبارات وحدات للقيم الحدية والحالات غير الصالحة.
|
||||
- لا تستخدم عشوائية تؤثر في الإجابة إلا ببذرة محفوظة وقيم ضمن نطاق المصدر.
|
||||
- لا تعرض قيماً علمية أو تاريخية أو لغوية تقريبية بوصفها دقيقة. عند غياب الدليل تعرض «يحتاج مراجعة» في بيئة التأليف فقط.
|
||||
- النص والكانفاس ولوحة التحكم تتشارك الحالة نفسها؛ لا يجوز أن تخالف القراءة الرقمية الرسم.
|
||||
|
||||
## 7. محطات فحص الفهم
|
||||
|
||||
تنفذ عبر `LabCheckpointCallback` بعد ظهور الدليل للطالب، وبالترتيب التالي:
|
||||
|
||||
1. **توقّع:** ما الحالة المتوقعة قبل تشغيل التغيير؟ الخيارات تمثل أخطاء شائعة مثبتة أو يراجعها المعلم.
|
||||
2. **استدلال:** أي دليل مرئي/عددي يثبت ما حدث؟ لا يُسأل الطالب قبل ظهور الدليل.
|
||||
3. **تفسير:** لماذا تغيّرت النتيجة عند تغيير العامل المحدد؟
|
||||
4. **نقل:** ماذا يحدث في حالة جديدة تستخدم المفهوم نفسه؟
|
||||
|
||||
لكل محطة يسجل المنفذ: `checkpoint_id`، المحور المنهجي، شرط الإطلاق، السؤال، الخيارات، الإجابة وتعليلها، مرجع الصفحة/القسم، والتلميح. لا تُرسل الإجابة الصحيحة مسبقاً إلى العميل عندما تدخل النتيجة في الإتقان.
|
||||
|
||||
## 8. التغذية الراجعة ومنع التخمين
|
||||
|
||||
- الإجابة الخاطئة لا تعيد المشهد عشوائياً؛ تضيء المتغير والدليل المرتبطين بالخطأ وتقدم تلميحاً واحداً.
|
||||
- بعد محاولتين، تفكك المهمة إلى خطوة أصغر ثم تعيد حالة نقل مختلفة.
|
||||
- يمنع زر «التالي» حتى يلمس الطالب المتغير المقصود ويرى الأثر، لكن يتوفر دائماً زر إعادة الضبط والخروج.
|
||||
- لا تستخدم مؤثر نجاح مبالغاً فيه؛ اهتزاز خفيف وصوت اختياري وحركة قصيرة تكفي.
|
||||
|
||||
## 9. النظام البصري وإمكانية الوصول
|
||||
|
||||
- الخلفية `#07111F`، السطح `#0B1728`/`#102035`، الحدود `Colors.white10`، والتركيز الأساسي `#00F5D4` أو `#0071E3`.
|
||||
- الخط من خط النظام SF Arabic/Geeza Pro؛ لا يعتمد المختبر على تنزيل خط خارجي.
|
||||
- أقل هدف لمس 44×44، وتباين النص الأساسي 4.5:1، وتسمية دلالية لكل تحكم وقراءة.
|
||||
- اللون ليس الدليل الوحيد: كل حالة لها شكل/رمز/نص، مع دعم RTL وترتيب قراءة صحيح لقارئ الشاشة.
|
||||
- يوفر وصفاً نصياً متجدداً للمشهد للطالب الذي لا يرى الرسم، ويعلن التغيرات المهمة دون إغراق قارئ الشاشة.
|
||||
|
||||
## 10. بنية Flutter المطلوبة
|
||||
|
||||
- ملف مستقل باسم مشتق من هوية الدرس، وWidget من نوع `StatefulWidget`.
|
||||
- يستخدم `SaqelLabScaffold` بعد تنقيحه ليحمل هوية الدرس وإصدار الحزمة، لا مساراً نصياً مختلقاً.
|
||||
- `CustomPainter` للرسم، وطبقة domain مستقلة للحساب، وcontroller للحالة، واختبارات widget للمقاسين 390×844 و1024×768.
|
||||
- التسجيل في `labs_registry.dart` يكون بمفتاح `curriculum_lesson_id` صريح وارد من الخادم فقط. ممنوع fallback حسب المبحث أو كلمات العنوان.
|
||||
- المختبر غير المتاح في حزمة منشورة لا يظهر في تجربة الطالب؛ يمكن معاينته فقط في بيئة التأليف المعلّمة بوضوح.
|
||||
|
||||
## 11. سيناريوهات التحقق الإلزامية
|
||||
|
||||
- فتح الدرس الصحيح يعرض هذا المختبر فقط بعد تحقق الحزمة المنشورة والصلاحية.
|
||||
- درس يحمل عنواناً مشابهاً وهوية مختلفة لا يفتح هذا المختبر.
|
||||
- الهاتف واللوحي لا يعانيان overflow، والكانفاس يبقى مرئياً أثناء التحكم.
|
||||
- إعادة الضبط تعيد كل المتغيرات والمؤقتات ومحطات الفهم إلى الحالة الابتدائية.
|
||||
- كل حد أدنى/أقصى يعطي رسماً وقراءة متطابقين ولا ينتج NaN/Infinity.
|
||||
- تقليل الحركة وقارئ الشاشة والتنقل بلوحة المفاتيح يعملون.
|
||||
- لا توجد صور خارجية، بيانات ديمو، أرقام نجاح، أو ادعاء إتقان محلي.
|
||||
|
||||
## 12. تعريف الاكتمال
|
||||
|
||||
- [ ] راجع مختص المادة النتاجات والمحاور والمصطلحات والأمثلة.
|
||||
- [ ] وثقت المعادلات/العلاقات مع الصفحات أو الأقسام.
|
||||
- [ ] اعتمد سيناريو اللعب وأخطاء الطلاب الشائعة.
|
||||
- [ ] نُفذت المحاكاة المتجهية والتحكم المتجاوب.
|
||||
- [ ] نُفذت محطات الفهم بأدلة وتعليلات وتلميحات.
|
||||
- [ ] نجحت اختبارات domain وwidget والوصول والحالات الحدية.
|
||||
- [ ] رُبط المختبر بحزمة خادم منشورة عبر هوية وإصدار صريحين.
|
||||
- [ ] راجع الطالب/المعلم التجربة ولم تُسجل كمكتملة قبل الدليل.
|
||||
Reference in New Issue
Block a user