Spinne Software
العربية

أين ينتهي المحرّر ويبدأ النموذج.

في معظم الأدوات هناك درز. تُصدِّر، وترفع، وتنتظر، وتنزّل، ثم تعيد النتيجة إلى مكانها وتتمنى أن تكون محاذاتها ما زالت سليمة. على جانب من ذلك الدرز مشروعك، وعلى الجانب الآخر برنامج لم يسمع به قط. أما Sparkle فلا درز فيه، وإزالته هي معظم الهندسة التي في هذه الصفحة.

المحرّر مستند والعمليات التي تغيّره

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

يبدو هذا تفصيلاً تنفيذياً، وهو البنية كلها. فما إن تصير العمليات هي الباب الوحيد، حتى يصبح كل ما يهمّ لاحقاً — التراجع، والتزامن، وإعادة التنفيذ، وتدقيق ما حدث — خاصيةً في الباب، لا شيئاً يُركَّب على كل ميزة تمرّ منه.

فالمساعد مستدعٍ آخر، لا برنامج آخر

المساعد لا يولّد شيفرة، ولا يولّد إطارات. بل يُصدِر العمليات المسمّاة نفسها التي يُصدِرها عنصر في القائمة، بالمعاملات نفسها محدَّدة الأنواع، إلى المستند نفسه. اطلب منه مونتاج نسخة عمودية، فيستدعي العملية التي كانت لدى المحرّر أصلاً.

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

عملية واحدة، تراجع واحد

عملية واحدة من المساعد قد تمسّ مئة مقطع: تعيد توقيتها، وتغيّر ألوانها، وتعيد تنسيق كل ترجمة. ومع ذلك تنطوي كلها في نقطة تراجع واحدة، فتراجُع واحد يعيدك إلى ما قبل أن تطلب.

هذا ليس من باب الراحة. فما يجعل مساعد المونتاج صالحاً للاستعمال ليس كثرة إصابته — بل رخص الاعتراض عليه. والمساعد الذي لا تستطيع رفضه رفضاً نظيفاً مساعد عليك أن تراقبه، ومراقبته تكلّف أكثر من أداء العمل.

النموذج هو الجزء السهل. وكل ما حوله هو المحرّر.

يدان، ومستند واحد

أثناء تنفيذ عملية طويلة تواصل أنت العمل، فيصير للمستند مؤلفان. والصيغة الساذجة من هذا تُضيّع تعديلاً: الكاتب الأبطأ يحفظ أخيراً، فيطمس بهدوء ما فعله الآخر.

كل حفظ هو compare-and-swap مقابل عملية الرأس الحالية في المستند. وأي كتابة مبنية على نسخة تحرّكت تُرفَض: لا تُدمَج ولا تُطبَّق في صمت. والرفض هو السلوك المفيد — فالحفظ المرفوض يمكن إعادة محاولته مقابل الحقيقة، أما التعديل الضائع فيكتشفه بعد أيام من قام به.

مرة واحدة بالضبط، أو لا على الإطلاق

خطوة في خطة المساعد ستلاقي في نهاية المطاف إعادة محاولة، أو نقرة مزدوجة، أو انقطاع اتصال، أو تحديثاً للصفحة، أو انهياراً في منتصف الطريق، أو منفّذَين يظن كلاهما أنها له. وأيٌّ من ذلك قد يطبّق تعديلاً مرتين، وتعديل يُطبَّق مرتين على خط زمني ليس نسخة مكرّرة — بل خط زمني مختلف.

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

النماذج بجوار الخط الزمني، لا خلف رفعٍ

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

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

معاينة هي التصدير نفسه

المُظلِّلات نفسها ترسم التنقّل والعرض النهائي، فما توافق عليه هو ما تسلّمه. ومن دون ذلك يصير كل تعديل بالذكاء الاصطناعي مؤقتاً: تقبل صورة ثم تعيد فحص الملف لاحقاً، وذلك هو الدرز يعود للظهور عند الطرف الآخر من المسار.

وباجتماع ذلك كله — مستند واحد، ومجموعة عمليات واحدة، وتراجع واحد، ورأس واحد، وتنفيذ واحد، ومسار عرض واحد — يكفّ السؤال المثير للاهتمام عن أن يكون: ما جودة النموذج. ويصير: كم يرخص أن تعترض عليه. وهذا هو الجزء الذي نبنيه.