প্রকল্প সম্পর্কে
Open Presentation Format (OPF) হলো স্লাইড ডেকের জন্য একটি পোর্টেবল, মানুষের পাঠযোগ্য JSON ডকুমেন্ট ফরম্যাট। এই রিপোজিটরিটি ফরম্যাট স্পেসিফিকেশন, JSON Schemas, ক্যাটালগ প্রিসেট, উদাহরণ, জেনারেটেড ডেভেলপার টাইপস, লোকাল ভ্যালিডেশন টুলিং এবং ভবিষ্যতের রেন্ডার/এডিট/কনভার্ট টুলকিটের পরিকল্পনা নথির ক্যানোনিকাল হোম। এটি npm-এ @openpresentation/opf হিসেবে প্রকাশিত, যা বর্তমানে প্রি-স্টেবল (০.x সংস্করণ, যেখানে ১.০-এর আগে মাইনর ভার্সনগুলোর মধ্যে ব্রেকিং চেঞ্জ প্রত্যাশিত) এবং MIT লাইসেন্সের অধীনে রয়েছে।
প্রেরণা: .pptx হলো XML-এর একটি জিপড বান্ডেল যা মানুষের জন্য ডিফ (diff) করা কঠিন, মডেলগুলোর জন্য নির্ভরযোগ্যভাবে পড়া ও লেখা কঠিন এবং git-এর মাধ্যমে অর্থপূর্ণভাবে ট্র্যাক করা কঠিন, কারণ প্রতিটি পরিবর্তন একটি বাইনারি ব্লব হিসেবে দেখায়। OPF হলো সাধারণ JSON — যা এডিটরে পাঠযোগ্য, স্কিমা উদাহরণ দেখে অনুমান না করেই মডেল দ্বারা লিখযোগ্য এবং অন্যান্য কাজের পাশাপাশি ভার্সন কন্ট্রোলে ট্র্যাকযোগ্য। এর ঘোষিত লক্ষ্য হলো LLM-গুলোকে মার্কআপ ট্যাগের সাথে লড়াই করার পরিবর্তে ডেক তৈরির প্রক্রিয়ায় (ন্যারেটিভ স্ট্রাকচার, ফ্রেমিং, ডেটা অ্যানালাইসিস, চার্ট সাজেশন, রিভিশন) অংশ নিতে দেওয়া।
কনভেনশন এবং নামকরণ: সম্পূর্ণ প্রেজেন্টেশনের জন্য OPF ডকুমেন্টগুলো *.opf.json নামে নাম করা JSON ফাইল (যেমন board-review.opf.json)। প্রজেক্টটি কেবল *.opf এক্সটেনশন ব্যবহারের বিরুদ্ধে পরামর্শ দেয় কারণ এটি ইতিমধ্যে অন্যান্য ডকুমেন্ট এবং প্রজেক্ট ফরম্যাট দ্বারা ব্যবহৃত হচ্ছে। Open Presentation Format নাম এবং এর স্কিমা, ক্যাটালগ, প্যাকেজ এবং লোকাল টুলিংগুলো তৃতীয় পক্ষের টুল দ্বারা পড়া, লেখা, ভ্যালিডেট করা, রেন্ডার করা, কনভার্ট করা এবং সাপোর্ট বর্ণনা করার জন্য ব্যবহৃত হতে পারে, যেখানে প্রোডাক্ট-স্পেসিফিক ব্র্যান্ডিং গ্রহণের প্রয়োজন নেই।
JavaScript/TypeScript প্যাকেজটি যা করে: এটি spec/ থেকে ক্যানোনিকাল স্কিমা এবং বান্ডেল করা ক্যাটালগ রেকর্ড এক্সপোর্ট করে, প্যাকেজ-অ্যাড্রেসেবল স্পেক কন্টেন্টের জন্য একটি টাইপড র স্পেক ফাইল ম্যানিফেস্ট, Presentation-কে টপ-লেভেল টাইপ হিসেবে রেখে জেনারেটেড TypeScript টাইপস এবং OPF JSON ও ক্যাটালগ রেকর্ডের জন্য লোকাল ভ্যালিডেশন প্রদান করে। ভ্যালিডেশন বৈধতার পাশাপাশি অ্যাডভাইজরি ওয়ার্নিং প্রদান করে, যেমন অজানা ক্যাটালগ আইডি। স্কিমা, ক্যাটালগ, স্পেক ফাইল, ভ্যালিডেটর এবং টাইপসের জন্য ফোকাসড সাবপাথ ইমপোর্ট উপলব্ধ এবং র JSON স্কিমাগুলো সরাসরি ইঞ্জিন বা রিজলভার দ্বারা ইমপোর্ট করা যেতে পারে। প্যাকেজটি পিওর কম্পোজিশন জিওমেট্রি এক্সপোজ করে যাতে ডাউনস্ট্রিম লাইব্রেরিগুলো লেআউট বিহেভিয়ার শেয়ার করতে পারে। এটি স্পষ্টভাবে .pptx রেন্ডার বা পার্স করে না, AI দিয়ে কন্টেন্ট তৈরি করে না, রিমোট ক্যাটালগ ফেচ করে না, হোস্ট করা API কল করে না বা ম্যানেজড সার্ভিস প্রদান করে না।
লোকাল টুলিং: একটি ইনস্টলযোগ্য MIT-লাইসেন্সড CLI লোকালভাবে OPF ফাইল তৈরি, ভ্যালিডেট, এডিট এবং ইন্সপেক্ট করতে পারে, যেমন টাইটেলসহ একটি ডেক তৈরি করা, ফাইল ভ্যালিডেট করা বা ইন-প্লেস প্যাচ প্রয়োগ করা। একটি CLI 0.5.0 কমান্ড লোকাল কপি ব্যবহার করে AI এজেন্টদের জন্য একটি প্রজেক্টে ছয়টি OPF স্কিল ইনস্টল করে, যা বিদ্যমান ইন্সট্রাকশন সংরক্ষণ করে এবং কাস্টমাইজড স্কিল ওভাররাইট করতে অস্বীকার করে, যার সাথে ডকুমেন্ট করা টার্গেট এবং প্রি-রিলিজ টেস্টিং রয়েছে। ডকুমেন্টেশনে এজেন্ট স্কিল, LLM অথরিং, ডাইনামিক কম্পোজিশন এবং লোকাল ইকোসিস্টেম ভেরিফিকেশন কভার করা হয়েছে।
রিপোজিটরি লেআউটের হাইলাইটস: টপ-লেভেল Presentation ডকুমেন্টের জন্য ক্যানোনিকাল JSON Schema; ডকুমেন্ট মডেল, কন্টেন্ট শেপ, ক্যাটালগ রেজোলিউশন এবং ভ্যালিডেশন ফিলোসফির ধারণাগত পরিচিতি; একটি ডিজাইন প্রেসিডেন্স অ্যালগরিদম (স্লাইড ডিজাইন, ডেক ডিজাইন, রিজলভড থিম, ইঞ্জিন ডিফল্টস); টপ-লেভেল ফিল্ড, স্কিমা ডেফিনিশন, কম্প্যানিয়ন ক্যাটালগ স্কিমা এবং চার্ট ও টেবিলসহ স্লাইড/রিজিয়ন কন্টেন্ট পেলোড-এর জন্য লেখক-মুখী রেফারেন্স; টেকনিক্যাল ফিক্সচার এবং সিনারিও-ওরিয়েন্টেড গ্যালারি উদাহরণের গাইড; ব্রাউজার ক্যানভাস, ফন্ট লোডিং এবং বর্তমান ফিডেলিটি লিমিটসের উপর লাইভ এডিটর নোট; এবং একটি মেইনটেইনার রিলিজ রানবুক। ডাউনস্ট্রিম সার্ভিসগুলোর জন্য একটি ঐচ্ছিক রেফারেন্স OpenAPI কন্ট্রাক্ট রয়েছে যারা HTTP-এর মাধ্যমে OPF এক্সপোজ করতে চায়, তবে OpenPresentation সেই API হোস্ট করে না।
ইকোসিস্টেম বাউন্ডারি: রেন্ডার, এডিট এবং কনভার্ট করার ক্ষমতা আলাদা MIT সিবলিং রিপোজিটরিতে থাকে — opf-render (OPF থেকে SVG/PNG/PDF), opf-editor (হেডলেস এডিটর প্রিমিতিভস এবং ঐচ্ছিক UI কম্পোনেন্ট) এবং opf-pptx (পিওর লোকাল PPTX ইমপোর্ট/এক্সপোর্ট)। এগুলো শুধুমাত্র ওপেন-সোর্স প্রিমিতিভ প্রদান করে; ডাউনস্ট্রিম অ্যাপ্লিকেশনগুলোর হোস্টিং, অথেন্টিকেশন, স্টোরেজ, কোলাবরেশন, কিউ, প্রিভিউ, অ্যানালিটিক্স, সাপোর্ট এবং ওয়ার্কফ্লো UX-এর মালিকানা থাকে। ভবিষ্যতে Python এবং Go প্যাকেজগুলো একই লোকাল-ফার্স্ট বাউন্ডারি অনুসরণ করবে বলে আশা করা হচ্ছে, যা কোনো নেটওয়ার্ক কল বা হিডেন টেলিমট্রি ছাড়াই স্কিমা, মডেল, ক্যাটালগ, ভ্যালিডেশন এবং প্যাকেজ-অ্যাড্রেসেবল অ্যাসেট এক্সপোজ করবে। লেআউট, থিম, কালার এবং ফন্ট স্কিম, চার্ট টাইপ, ন্যারেটিভ, অডিয়েন্স, পারপাস, টোন, ল্যাঙ্গুয়েজ এবং সোশ্যাল প্ল্যাটফর্মের মতো হিউম্যান-ব্রাউজেবল ক্যাটালগ প্রিসেটগুলো pptx.gallery-এর মাধ্যমে রেফার করা হয়।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.