Spinne Software
اردو

ایڈیٹر کہاں ختم ہوتا ہے اور ماڈل کہاں شروع۔

زیادہ تر اوزاروں میں ایک جوڑ ہوتا ہے۔ آپ ایکسپورٹ کرتے ہیں، اپ لوڈ کرتے ہیں، انتظار کرتے ہیں، ڈاؤن لوڈ کرتے ہیں، نتیجہ واپس رکھتے ہیں اور امید کرتے ہیں کہ وہ اب بھی ٹھیک بیٹھے گا۔ اس جوڑ کی ایک طرف آپ کا پروجیکٹ ہے؛ دوسری طرف ایک ایسا پروگرام جس نے اس کا نام تک نہیں سنا۔ Sparkle میں یہ جوڑ نہیں ہے، اور اسی کو ختم کرنا اس صفحے پر بیان کی گئی زیادہ تر انجینئرنگ ہے۔

ایڈیٹر ایک دستاویز ہے اور وہ عمل جو اسے بدلتے ہیں

پینلوں کے نیچے ایڈیٹر ایک ہی چیز ہے: ایک دستاویز جو بتاتی ہے کہ کیا کب ہوتا ہے، اور نامزد عمل کا ایک مجموعہ جو اسے بدلنے کا واحد راستہ ہے۔ کلپ کو تقسیم کرنا، اس کی ٹائمنگ بدلنا، رنگ مقرر کرنا، کیپشن ٹریک شامل کرنا۔ ان کے سوا کوئی چیز دستاویز کو نہیں چھوتی۔

یہ سننے میں محض نفاذ کی ایک تفصیل لگتی ہے، حالانکہ یہی پورا ڈھانچہ ہے۔ جب عمل ہی واحد دروازہ ہوں، تو بعد میں جو کچھ اہم ہے — undo، ہم وقتی، replay، اور اس کا حساب کہ ہوا کیا — وہ سب اسی دروازے کی خاصیت بن جاتا ہے، نہ کہ کوئی ایسی چیز جو ہر گزرنے والے فیچر پر الگ سے جوڑنی پڑے۔

چنانچہ اسسٹنٹ ایک اور کال کرنے والا ہے، کوئی الگ پروگرام نہیں

اسسٹنٹ نہ کوڈ بناتا ہے، نہ فریم۔ وہ وہی نامزد عمل بھیجتا ہے جو مینو کا کوئی آپشن بھیجتا ہے، انہی متعین قسم کے پیرامیٹرز کے ساتھ، اسی ایک دستاویز میں۔ اس سے عمودی ورژن کاٹنے کو کہیے تو وہ وہی عمل بلاتا ہے جو ایڈیٹر کے پاس پہلے سے موجود تھا۔

اس سے دو باتیں نکلتی ہیں، اور اصل بات یہی دونوں ہیں۔ وہ ایسی کوئی چیز بیان ہی نہیں کر سکتا جو ایڈیٹر نہ کر سکتا ہو، اس لیے AI کے نتائج کی ایسی کوئی قسم بچتی ہی نہیں جسے بعد میں پروجیکٹ کے ساتھ ملانا پڑے۔ اور اس نے جو کچھ کیا، وہ آپ خود بھی کر سکتے تھے — یعنی آپ اسے پڑھ سکتے ہیں، بدل سکتے ہیں، یا ہاتھ سے کھول کر الگ الگ کر سکتے ہیں۔

ایک عمل، ایک undo

اسسٹنٹ کا ایک عمل سو کلپوں کو چھو سکتا ہے: ان کی ٹائمنگ بدل دے، ان کا رنگ بدل دے، ہر کیپشن کا اسٹائل بدل دے۔ پھر بھی وہ سمٹ کر ایک ہی checkpoint بنتا ہے، اس لیے ایک undo آپ کو وہیں واپس لے جاتا ہے جہاں آپ کہنے سے پہلے تھے۔

یہ محض سہولت کی بات نہیں۔ کسی ایڈیٹنگ اسسٹنٹ کو قابل استعمال یہ نہیں بناتا کہ وہ کتنی بار ٹھیک ہوتا ہے — بلکہ یہ کہ اس سے اختلاف کرنا کتنا سستا ہے۔ جس اسسٹنٹ کو آپ صاف صاف مسترد نہ کر سکیں، اس کی نگرانی کرنی پڑتی ہے، اور نگرانی کی لاگت خود کام کر لینے سے زیادہ ہے۔

ماڈل آسان حصہ ہے۔ اس کے گرد جو کچھ ہے، وہی ایڈیٹر ہے۔

دو ہاتھ، ایک دستاویز

کوئی لمبا عمل چلتا رہے تو آپ کام جاری رکھتے ہیں، یعنی دستاویز کے دو مصنف ہو جاتے ہیں۔ اس کا سادہ لوح نفاذ ایک ایڈٹ گم کر دیتا ہے: سست رفتار لکھنے والا آخر میں محفوظ کرتا ہے اور خاموشی سے دوسرے کا کیا ہوا کام مٹا دیتا ہے۔

ہر محفوظ کاری دستاویز کے موجودہ head عمل کے مقابل ایک compare-and-swap ہے۔ جو تحریر ایسے ورژن پر کھڑی ہو جو آگے بڑھ چکا ہو، اسے مسترد کیا جاتا ہے — نہ ملایا جاتا ہے، نہ خاموشی سے لاگو۔ مسترد کرنا ہی کارآمد رویہ ہے: مسترد شدہ محفوظ کاری کو سچائی کے مقابل دوبارہ آزمایا جا سکتا ہے، جبکہ گم شدہ ایڈٹ کا پتہ اسے کرنے والے کو کئی دن بعد چلتا ہے۔

exactly once، ورنہ بالکل نہیں

اسسٹنٹ کے منصوبے کے کسی قدم کو بالآخر کوئی نہ کوئی صورت پیش آتی ہے: دوبارہ کوشش، ڈبل کلک، ٹوٹا ہوا کنکشن، صفحے کی تازہ کاری، آدھے میں کریش، یا دو ایسے executor جو دونوں خود کو اس کا مالک سمجھتے ہوں۔ ان میں سے کوئی بھی ایک ایڈٹ کو دو بار لاگو کر سکتی ہے، اور ٹائم لائن پر دو بار لاگو ہونے والا ایڈٹ کوئی نقل نہیں ہوتا — وہ ایک الگ ٹائم لائن ہوتی ہے۔

چنانچہ فیصلہ executor کے ہاتھ میں نہیں۔ کچھ بھی بدلنے سے پہلے اسے plan store سے اس قدم کا claim لینا پڑتا ہے، جو ایک lock کے تحت ایک ہی ناقابل تقسیم قدم میں دیا جاتا ہے؛ ایڈٹ کی اجازت صرف منظور شدہ claim دیتا ہے، اور replay دستاویز کو چھوئے بغیر پہلا ہی نتیجہ لوٹا دیتا ہے۔ کسی عمل کے ہو جانے کا ثبوت ایک ریکارڈ شدہ operation id ہے، نہ کہ براؤزر کے کسی ٹیب میں پڑا ہوا flag۔

ماڈل ٹائم لائن کے پہلو میں بیٹھے ہیں، کسی اپ لوڈ کے پیچھے نہیں

matting، سیگمنٹیشن اور ڈیپتھ ایڈیٹر ہی کے پروسیس میں چلتے ہیں، انہی فریموں پر جو اس کے ہاتھ میں پہلے سے ہیں۔ نہ کوئی ایکسپورٹ، نہ اپ لوڈ، نہ انتظار، نہ دوبارہ امپورٹ، اور نہ بعد میں کچھ دوبارہ ٹھیک بٹھانے کو۔

یہ تاخیر کے بارے میں ایک ڈیزائن کا فیصلہ ہے، اور یہ وہ سوال بھی طے کر دیتا ہے جو جوڑ عام طور پر کھلا چھوڑ دیتا ہے: جس فوٹیج کی اشاعت پر پابندی ہے وہ پابندی میں ہی رہتی ہے، کیونکہ وہ کہیں گئی ہی نہیں۔ جس کام کو واقعی کلاؤڈ درکار ہو، وہ ایک ہی گیٹ وے سے گزرتا ہے جو اسے اسی اکاؤنٹ کے کھاتے میں ناپتا ہے جس نے وہ کام مانگا۔

ایک پیش نظارہ جو خود ایکسپورٹ ہے

وہی شیڈرز اسکرب بھی بناتے ہیں اور حتمی رینڈر بھی، اس لیے جسے آپ منظور کرتے ہیں وہی آپ ڈیلیور کرتے ہیں۔ اس کے بغیر ہر AI ایڈٹ عارضی رہتا ہے: آپ ایک تصویر قبول کر رہے ہوتے اور فائل بعد میں دوبارہ جانچ رہے ہوتے — یعنی وہی جوڑ، پائپ لائن کے دوسرے سرے پر دوبارہ نمودار۔

یہ سب مل کر — ایک دستاویز، عمل کا ایک ہی مجموعہ، ایک undo، ایک head، ایک بار عمل درآمد، ایک ہی رینڈر راستہ — دلچسپ سوال کو بدل دیتے ہیں: اب سوال یہ نہیں رہتا کہ ماڈل کتنا اچھا ہے، بلکہ یہ کہ اس سے اختلاف کرنا کتنا سستا ہے۔ ہم یہی حصہ بناتے ہیں۔