প্রকল্প সম্পর্কে

Sprite Fusion Pixel Snapper হলো একটি টুল যা পিক্সেলগুলোকে নিখুঁত গ্রিডে স্ন্যাপ করার জন্য ডিজাইন করা হয়েছে, বিশেষভাবে AI দ্বারা জেনারেট করা বিশৃঙ্খল ও অসঙ্গতিপূর্ণ পিক্সেল আর্ট ঠিক করার জন্য। এটি অসঙ্গতিপূর্ণ পিক্সেল আকার ও অবস্থান, ড্রিফটিং গ্রিড রেজোলিউশন এবং কঠোর প্যালেটের সাথে সম্পর্কিত নয় এমন রঙের মতো সমস্যাগুলো সমাধান করে। টুলটি নিশ্চিত করে যে পিক্সেলগুলো একটি নিখুঁত গ্রিডে স্ন্যাপ করা হয়, সামঞ্জস্যপূর্ণ গ্রিড রেজোলিউশন বজায় রাখে যা স্কেল করা যায়, এবং রঙগুলোকে একটি কঠোর প্যালেটে কোয়ান্টাইজ করে, কাস্টম প্যালেটের সমর্থনসহ। এটি AI-জেনারেটেড পিক্সেল আর্ট, প্রসিডিউরাল 2D আর্ট যা গ্রিডে ফিট করে না (যেমন টাইলম্যাপ বা আইসোমেট্রিক ম্যাপ), এবং 2D গেম অ্যাসেট বা 3D টেক্সচারের জন্য আদর্শ যা নিখুঁতভাবে স্কেলযোগ্য হওয়া প্রয়োজন। টুলটি যতটা সম্ভব বিস্তারিত সংরক্ষণ করে, ডিদারিংসহ। ## বৈশিষ্ট্য - **গ্রিড স্ন্যাপিং**: পিক্সেলগুলো একটি নিখুঁত গ্রিডে সারিবদ্ধ করা হয়। - **সামঞ্জস্যপূর্ণ রেজোলিউশন**: গ্রিড রেজোলিউশন সামঞ্জস্যপূর্ণ এবং পিক্সেল রেজোলিউশনে স্কেল করা যায়। - **প্যালেট কোয়ান্টাইজেশন**: রঙগুলো একটি কঠোর, কোয়ান্টাইজড প্যালেটে আবদ্ধ; কাস্টম প্যালেট সমর্থিত। - **ব্যাচ প্রসেসিং**: ছবির সম্পূর্ণ ডিরেক্টরি প্রসেস করুন। - **CLI এবং Web (WASM)**: একটি কমান্ড-লাইন টুল হিসেবে এবং ওয়েব প্রকল্পে ইন্টিগ্রেশনের জন্য একটি WebAssembly মডিউল হিসেবে উপলব্ধ। - **ডেস্কটপ সংস্করণ**: একটি ডেস্কটপ অ্যাপ্লিকেশন হিসেবেও উপলব্ধ। ## CLI ব্যবহার Homebrew-এর মাধ্যমে ইনস্টল করুন: ```bash brew install Hugo-Dz/tap/spritefusion-pixel-snapper ``` অথবা Cargo-এর মাধ্যমে (Rust প্রয়োজন): ```bash cargo install spritefusion-pixel-snapper ``` ব্যবহার: ```text spritefusion-pixel-snapper <INPUT> <OUTPUT> [COLOR_COUNT] [OPTIONS] ``` - `<INPUT>`: একটি PNG/JPEG ছবি, অথবা ব্যাচ প্রসেসিংয়ের জন্য একটি ডিরেক্টরি। - `<OUTPUT>`: একটি আউটপুট PNG, অথবা একটি ব্যাচের জন্য একটি ভিন্ন আউটপুট ডিরেক্টরি। - `[COLOR_COUNT]`: প্যালেট রঙের সংখ্যা। ডিফল্ট `16`। - `--pixel-size <PIXELS>`: স্বয়ংক্রিয়ভাবে সনাক্ত করা পিক্সেল আকার ওভাররাইড করে। 1 এবং ক্ষুদ্রতম ছবির মাত্রার অর্ধেকের মধ্যে হতে হবে। - `--palette <HEX,...>`: আউটপুটকে কমা-বিভক্ত ছয়-সংখ্যার হেক্স রঙে সীমাবদ্ধ করে। উদাহরণ: ```bash # ছবিটিকে 16-রঙের প্যালেটে কোয়ান্টাইজ করুন spritefusion-pixel-snapper input.png output.png 16 # একটি ডিরেক্টরিকে ব্যাচ হিসেবে প্রসেস করুন spritefusion-pixel-snapper sprites/batch_inputs sprites/batch_outputs 16 # স্বয়ংক্রিয়ভাবে সনাক্ত করা পিক্সেল আকার ওভাররাইড করুন spritefusion-pixel-snapper input.png output.png --pixel-size 8 spritefusion-pixel-snapper sprites/batch_inputs sprites/batch_outputs 16 --pixel-size 8 # একটি নির্দিষ্ট রঙের প্যালেট ব্যবহার করুন spritefusion-pixel-snapper input.png output.png --palette "0d2b45,203c56,544e68,8d697a,d08159,ffaa5e,ffd4a3,ffecd6" spritefusion-pixel-snapper sprites/batch_inputs sprites/batch_outputs --palette "0d2b45,203c56,544e68,8d697a" ``` প্রতিটি অপশন দেখতে `spritefusion-pixel-snapper --help` চালান। ## Web (WASM) ব্যবহার WASM মডিউল বিল্ড করুন: ```bash wasm-pack build --target web --out-dir pkg --release ``` তারপর আপনার প্রকল্পে এটি ব্যবহার করুন: ```js import init, { process_image } from "./pkg/spritefusion_pixel_snapper.js"; await init(); // process_image(inputBytes, kColors?, pixelSizeOverride?, paletteHex?) const outputBytes = process_image(inputBytes, 16); // একটি কাস্টম প্যালেটসহ const recoloredBytes = process_image(inputBytes, null, null, "0f0f1b,ffecd6,ff4d6d,29adff"); ``` ডিফল্ট আচরণ ব্যবহার করতে যেকোনো ঐচ্ছিক আর্গুমেন্টের জন্য `null` পাস করুন। ## সোর্স থেকে বিল্ড ```bash git clone https://github.com/Hugo-Dz/spritefusion-pixel-snapper.git cd spritefusion-pixel-snapper cargo build --release ``` বাইনারি `target/release/spritefusion-pixel-snapper`-এ থাকবে। ## স্বীকৃতি Pixel Snapper একটি Sprite Fusion প্রকল্প। Sprite Fusion হলো গেম ডেভেলপমেন্টের জন্য TRUE পিক্সেল আর্ট স্প্রাইট এবং অ্যানিমেশন জেনারেট করার একটি টুল। ## লাইসেন্স MIT লাইসেন্স (Hugo Duprez)