- 128×128 pixel canvas पर हर brush एक स्वतंत्र प्रोग्राम की तरह काम करता है और रंग व पैटर्न बनाता है
- Brush blend, spread, drip, grow, glitch जैसी कई तरह की क्रियाएँ करते हैं, और ये सभी यूज़र द्वारा सीधे संशोधित किए जा सकते हैं
- Canvas की हर cell एक data unit से बनी होती है, जिससे रंग जमा होते जाते हैं और अप्रत्याशित पैटर्न बनते हैं
- 50 से अधिक default brush दिए गए हैं, और code बदलकर diffusion का तरीका या color response बदला जा सकता है
- पूरी हुई image को save करके share किया जा सकता है, और दूसरे यूज़र उसी brush और palette के साथ उसे फिर से rework कर सकते हैं
MOSS का अवलोकन
- MOSS एक pixel-based painting tool है, जिसमें हर brush एक छोटे प्रोग्राम की तरह काम करता है
- यूज़र brush से सिर्फ रंग नहीं भरते, बल्कि code के ज़रिए brush का behavior define कर सकते हैं
- Brush canvas के data को manipulate करते हैं, और इसके परिणामस्वरूप अनपेक्षित visual pattern बनते हैं
Brush की विशेषताएँ और व्यवहार
- Brush blend, spread, drip, grow, glitch जैसे अलग-अलग तरीकों से काम करते हैं
- हर brush का अपना अलग behavior होता है, और यूज़र सीधे code बदलकर उसका व्यवहार बदल सकते हैं
- उदाहरण के लिए, brush रंग को कैसे फैलाता है या रंगों पर कैसे react करता है, इसे adjust किया जा सकता है
Canvas की संरचना और अभिव्यक्ति
- MOSS का canvas 128×128 pixel से बना है, और हर pixel को एक data cell माना जाता है
- Brush जब cell के data को manipulate करते हैं, तो रंग परतों में जमा होते हैं और प्राकृतिक पैटर्न व संयोग से बनने वाले effects पैदा होते हैं
- इस प्रक्रिया में अप्रत्याशित visual परिणाम सामने आते हैं
Default brush और यूज़र संशोधन
- MOSS में 50 से अधिक default brush दिए गए हैं
- साधारण paint या ink effect से लेकर vine growth, wet drips, generative plaid जैसी कई शैलियाँ शामिल हैं
- यूज़र brush के diffusion method, residual color, color response आदि को अपनी इच्छा से बदल सकते हैं
Save और share फीचर
- पूरी हुई image को save करने के बाद दूसरे यूज़र के साथ share किया जा सकता है
- जिसे यह share मिले, वह उसी brush और palette का इस्तेमाल करके उसी environment में फिर से काम कर सकता है
- साइट पर यूज़र द्वारा बनाई गई कई उदाहरणात्मक कृतियाँ भी दिखाई गई हैं
1 टिप्पणियां
Hacker News की राय
शेयर करने के लिए धन्यवाद। मुझे Aseprite, Procreate, Pico8 पसंद हैं, और programmable brushes का आइडिया लंबे समय से मेरे दिमाग में था
हाल के प्रोजेक्ट्स के बीच थोड़ा समय निकालकर मैंने खुद MOSS नाम का एक drawing toy बनाया। हर brush एक छोटा script है जो canvas के सभी pixels को समझता है, और noise, pattern, pressure, speed आदि के आधार पर यह तय करता है कि ड्रॉ कैसे करना है
उदाहरण के लिए, असली spray की तरह pixels छिड़कने वाला brush, drag करते समय हर बार shape बदलने वाला stamp-style brush, perspective lines को सच में converge कराने वाला brush, या intelligent fill tool (“Fill of my Dreams”) जैसी चीजें भी संभव हैं
मैं comments में brush code शेयर करना या ideas को साथ में explore करना चाहूँगा। नीचे दाईं ओर के (?) बटन में API docs हैं, और नीचे agent के ज़रिए API को इस्तेमाल करने के लिए prompt copy करने की सुविधा भी है
एक ही stroke में पक्षी बना पाने का एहसास सच में हैरान करने वाला है
शायद यह प्रेरणा दे सके, इसलिए मैं अपने प्रोजेक्ट का लिंक शेयर कर रहा हूँ — Wind by Laura
procedural generation brushes भी दिलचस्प हो सकते हैं — जैसे ड्रॉ करते-करते random cityscape बना देने वाला brush
ऐसे आइडिया में Wave Function Collapse तकनीक का उपयोग भी किया जा सकता है
क्या आप ऐप में मौजूद नहीं हैं ऐसे कुछ दिलचस्प brush code शेयर कर सकते हैं?
यह बहुत शानदार प्रोजेक्ट है। मुझे लगता है कि मुझसे ज़्यादा creative कोई इसे पूरी तरह अलग काम के लिए इस्तेमाल कर सकता है
पहले मैंने एक वीडियो देखा था जिसमें किसी ने YouTube subtitle format का उपयोग करके एक साधारण drawing app बनाया था
अगर MOSS का brush code canvas की state पढ़ सकता है और ड्रॉ कर सकता है, तो उल्टा ऐसा brush भी संभव होना चाहिए जो mouse दबाए रखने के दौरान सरल वीडियो या गेम (जैसे Tic-Tac-Toe) render करे
जाहिर है, यह इसका मूल उद्देश्य नहीं है, लेकिन मज़ेदार challenge हो सकता है
यह सच में कमाल है। क्या Shift key दबाकर सीधी रेखा खींचने का फीचर जोड़ा जा सकता है? MSPaint की तरह
इस प्रोजेक्ट को देखकर मुझे अपने पुराने अत्यंत छोटे image file format experiment की याद आ गई
मैंने इससे जुड़ा लेख Medium पर संक्षेप में लिखा है
मुझे यह बहुत पसंद आया। खासकर ये फीचर्स हों तो अच्छा लगेगा
इससे भी आगे, अगर brush strokes को रिकॉर्ड करके बाद में brush code बदलने के बाद उन्हें replay किया जा सके, तो वह बहुत दिलचस्प होगा
मैंने अभी इसे आज़माया, लेकिन कुछ भी ड्रॉ नहीं हो रहा। brush और color चुने जा सकते हैं, पर canvas पर कोई प्रतिक्रिया नहीं है
MacOS के Chrome में टेस्ट किया
यह सच में शानदार है। मेरा Surface Pro stylus pressure data तक पहचानते हुए ठीक काम कर रहा है। वह भी browser के अंदर!
यह बहुत शानदार आइडिया है। यह जैसे Shadertoy का painting version लगता है — Shadertoy लिंक
क्या ऐप के अंदर brushes शेयर करने या brush gallery जैसी कोई सुविधा है?
homepage के “weekly” सेक्शन की तरह theme के हिसाब से काम शेयर करना मज़ेदार है, लेकिन जिन लोगों की drawing skills कमज़ोर हैं, वे शायद सिर्फ brushes शेयर करना चाहें
अभी मैं अपने brushes को छोटी .txt files के रूप में सेव कर रहा हूँ
वैसे, MOSS में सेव की गई png files में brush data भी encode होता है, इसलिए वह फाइल शेयर करने पर वही brush और palette लोड किए जा सकते हैं
यह आइडिया PICO8 के game data encoding तरीके से प्रेरित है
बढ़िया concept है। iOS पर Aquarelle brush को तेज़ी से swipe करने पर touch events की polling rate साफ दिखाई देती है
लाइन smooth है, लेकिन brush जितनी देर ठहरता है रंग उतना गहरा हो जाता है, इसलिए थोड़ा banding दिखता है
मुझे समझ नहीं आ रहा कि इसे कैसे इस्तेमाल करें। tutorial हो तो अच्छा होगा