الخلاصة

  • اقترحت أول مسودة عامة لـWeb Animations في يونيو 2013 نموذجاً يجمع جوانب التوقيت والتأثير المشتركة بين انتقالات CSS وحركات CSS وحركات SVG.
  • قرنت مسودة 2014 هذا النموذج بواجهة ينشئ بها البرنامج الحركة ويجريها المتصفح. وتحدد وثيقة 2023 الوقت الحالي والإيقاف والعكس والإنهاء والإلغاء.

تعمل خلف الستار ثلاث ساعات. تدخل صورة بانتقال CSS، ويكرر شكل آخر إطاراته المفتاحية، ويرسم SVG مساراً ثالثاً. يريد القارئ العودة إلى اللحظة التي وصلت فيها الإشارة إلى عقدة الشبكة. على المحرر الآن تنسيق ثلاثة مقاييس للزمن. يستطيع أن يضع مؤقت JavaScript عند كل قطعة ويحسب كل صورة بين البداية والنهاية بنفسه، لكنه سيقضي يومه في إدارة الساعات بدلاً من شرح الشبكة. قبل أن يصير زر الرجوع مفيداً، يجب أن تتفق الحركة على معنى «الآن».

انطلقت أول مسودة عامة لـW3C في 25 يونيو 2013 من هذه الملاحظة. تنتج انتقالات CSS وحركات CSS وSVG محتوى متحركاً بقدرات متشابهة، لكن وثائقها تصفه بمفردات مختلفة. اقترحت Web Animations نموذجاً مجرداً يشمل المشترك بينها: خط زمن يمنح الوقت، وتأثير يحسب القيمة الوسيطة، وطريقة لجمع نتائج التأثيرات. تبقى غاية الحركة قراراً لصاحب الصفحة؛ أما حساب سيرها فيحصل على لغة واحدة.

أوضحت مسودة 5 يونيو 2014 تقسيم العمل. هناك نموذج مجرد وواجهة برمجية لإنشاء حركة من البرنامج. بعد الإنشاء يتولى وكيل المستخدم تنفيذها. يختلف ذلك عن برنامج يعود في كل إطار ليرسم القيمة التالية بنفسه. وربطت الوثيقة هذه الواجهة بـrequestAnimationFrame من حيث قيم الزمن وترتيب التنفيذ. يحتفظ المتصفح بآلية الساعة، ويختار المؤلف متى تبدأ الحركة وكيف يتحكم القارئ فيها.

تصبح هذه القدرة نافعة حين تتحول الحركة إلى جزء من البرهان. يمكن للقارئ إيقاف مخطط شبكة عند سهم يريد فهمه، أو إعادة مسار حزمة إلى نقطة انطلاقها. إذا كان للحركة وقت حالي وحالة تشغيل متفق عليهما، صار الرجوع إلى لقطة معينة عملاً مفهوماً. لا يحتاج المؤلف إلى كتابة وصف جديد للزمن مع كل نوع من أنواع الحركة على الصفحة.

واصلت مسودة المستوى الأول في 11 أكتوبر 2018 فصل الأدوار: خط الزمن يزوّد التقدم، وكائن الحركة يدير التشغيل، والتأثير يصف ما يتغير. قد تكون الحركة منتظرة أو جارية أو متوقفة أو منتهية. تغيير السرعة أو الاتجاه لا يقتضي إعادة بناء الرسم إطاراً إطاراً؛ يحتاج إلى قواعد واضحة لموضع الحركة الحالي. لهذا يبدو زر الإرجاع بسيطاً في الواجهة، بينما يختبئ تحته تعريف منضبط للحظة الراهنة.

تفصل مسودة 5 يونيو 2023 لوحة التحكم: ضبط الوقت الحالي ووقت البدء، التشغيل والإيقاف، الإنهاء والإلغاء، سرعة التشغيل والاتجاه العكسي، إضافة إلى حالات الاستعداد والانتهاء. قد يأتي طلب الإيقاف قبل بدء الحركة فعلياً أو قبل وصولها إلى نهايتها بقليل. يحتاج المتصفح إلى نقلها بين الحالات بطريقة تعرض الإطار الصحيح. يضغط القارئ زراً واحداً؛ أما الساعة فلا تستطيع التخمين.

يسجل تاريخ النشر لدى W3C محطات 2013 و2014 و2018 و2023. هذه قصة الساعة المشتركة لعائلات الحركة وطريقة لمس البرنامج لأزرارها. استخدام موضع التمرير مصدراً للتقدم سؤال آخر جاء لاحقاً. يظل المحرر مسؤولاً عن اختيار الحركة التي تشرح فكرة، وعن اللحظة التي يستحق فيها القارئ زر الإيقاف أو الإرجاع. يضبط المتصفح الساعة، ويمكن لفريق المسرح أن يترك ساعات الجيب في البيت.