इस प्रोजेक्ट के बारे में

Luban एक गेम कॉन्फ़िगरेशन समाधान है, जिसका डिज़ाइन लक्ष्य छोटे से लेकर अति-बड़े गेम प्रोजेक्ट्स की कॉन्फ़िगरेशन वर्कफ़्लो आवश्यकताओं को कवर करना है। यह प्रोजेक्ट MIT लाइसेंस के तहत है, मुख्य रूप से गेम डिज़ाइनरों और प्रोग्रामरों के लिए है, जो कॉन्फ़िगरेशन डेटा की परिभाषा, सत्यापन और कोड/डेटा जनरेशन को मानकीकृत करता है। मुख्य क्षमताएँ: - स्रोत डेटा प्रारूप: Excel परिवार (csv, tsv, xls, xlsx, xlsm), json, xml, yaml, lua आदि का समर्थन करता है। - निर्यात प्रारूप: binary, json, bson, xml, lua, yaml जैसे डेटा प्रारूप उत्पन्न कर सकता है। - प्रकार प्रणाली: सामान्य पंक्ति-सूची संरचनाओं का समर्थन करता है, और OOP प्रकार विरासत का समर्थन करता है, जिसका उपयोग व्यवहार ट्री, कौशल, कथानक, डंगऑन जैसे जटिल GamePlay डेटा को व्यक्त करने के लिए किया जाता है। - कोड जनरेशन: C#, Java, Go, C++, Lua, Python, JavaScript, TypeScript, Rust, PHP, Erlang, Godot आदि भाषाओं के लिए अंतर्निहित समर्थन, साथ ही protobuf जैसे संदेश समाधानों के माध्यम से अन्य भाषाओं में विस्तार योग्य। - संदेश समाधान: protobuf (schema + binary + json), flatbuffers (schema + json), msgpack (binary) का समर्थन करता है। - डेटा सत्यापन: ref संदर्भ जाँच, path संसाधन पथ जाँच, range सीमा जाँच आदि प्रदान करता है। - स्थानीयकरण समर्थन। - इंजन और प्लेटफ़ॉर्म: Unity, Unreal, Cocos2x, Godot, WeChat Mini Games आदि का समर्थन करता है, Windows, Linux, Mac पर चल सकता है। - हॉट-अपडेट समाधान: hybridclr, ilruntime, {x,t,s}lua, puerts आदि का समर्थन करता है। - उत्पन्न कोड रिफ्लेक्शन इंटरफ़ेस को कॉल नहीं करता, Obfuz, Obfuscator, Confuser, .Net Refactor जैसे ऑबफस्केशन और सख्तीकरण टूल के साथ संगत है। - जनरेशन पाइपलाइन मॉड्यूलर और प्लगइन-आधारित है, जो द्वितीयक विकास और अनुकूलन के लिए सुविधाजनक है। AI Native (5.0.0 से): AI Agent / IDE के लिए आधिकारिक Skills, मशीन-पठनीय schema और त्रुटियाँ, `Luban.Agent` CLI (सत्यापन / तालिका देखना / describe), `Luban.Mcp` MCP सर्वर, साथ ही `-c schema-json`, `--errorFormat json` जैसे विकल्प प्रदान करता है। रिपॉजिटरी में AI संसाधन `ai/` निर्देशिका में हैं। विकास और परीक्षण: मुख्य रिपॉजिटरी में xUnit एकीकरण परीक्षण शामिल हैं, जो बाहरी luban_examples पर निर्भर नहीं हैं, `dotnet test src/Luban.Tests/Luban.Tests.csproj` के माध्यम से चलाए जा सकते हैं; फिक्स्चर और अपेक्षित आउटपुट `tests/fixtures/` और `tests/golden/` में हैं, `tests/scripts/update-goldens.ps1` या `.sh` का उपयोग करके या पर्यावरण चर `LUBAN_UPDATE_GOLDEN=1` सेट करके स्थान पर अपडेट किया जा सकता है। दस्तावेज़ और उदाहरण: आधिकारिक दस्तावेज़ और त्वरित आरंभ datable.cn पर हैं, उदाहरण प्रोजेक्ट luban_examples रिपॉजिटरी में हैं।