منصوبے کے بارے میں

Elden Ring Compass ایلڈن رنگ کے لیے ایک ویب ساتھی ہے جو آپ کی سیو فائل پڑھ کر اسے پیش رفت کے ڈیش بورڈ میں تبدیل کر دیتا ہے۔ ایک بار سیو اپ لوڈ کریں، یا مسلسل پولنگ کے لیے صفحہ کو اس کی طرف اشارہ کریں، اور سائٹ انوینٹری، شکست خوردہ باسز، کھلے ہوئے گریسز، نقشے کے نشانات اور دیگر تکمیل کا ڈیٹا رپورٹ کرتی ہے۔ پارسنگ مکمل طور پر براؤزر میں ہوتی ہے: سیو کبھی بھی مشین سے باہر نہیں جاتی اور سائٹ کے پاس اس میں لکھنے کی کوئی صلاحیت نہیں، اس لیے اسے کردار میں ترمیم کرنے کے لیے استعمال نہیں کیا جا سکتا۔ README میں بیان کردہ خصوصیات: - براؤزر میں سیو پارسنگ جس میں سیو کے مواد کا کوئی سرور سائیڈ اپ لوڈ نہیں ہوتا۔ - مسلسل سیو پولنگ تاکہ کھیلتے ہوئے بغیر دوبارہ اپ لوڈ کیے ویو اپ ڈیٹ ہوتی رہے۔ - نقشے کی پوزیشن، قطار کے انتخاب اور کالم فلٹرز کی مقامی ذخیرہ اندوزی۔ - آئٹم، باس اور گریس مارکرز کے ساتھ ایک ٹائلڈ انٹرایکٹو نقشہ (Leaflet / react-leaflet)۔ - بڑی آئٹم اور پیش رفت کی فہرستوں کو براؤز کرنے کے لیے ورچوئلائزڈ ڈیٹا ٹیبلز۔ آرکیٹیکچر اور ٹولنگ: یہ پروجیکٹ ایک Bun + Turborepo مونو ریپو ہے۔ ویب ایپ TanStack Start اور TanStack Router پر بنائی گئی ہے جس میں React 19 استعمال ہوتا ہے، اور ایپ اسٹیٹ کے لیے Effect اور @effect/atom-react استعمال ہوتے ہیں، جبکہ TanStack Query یا IndexedDB کی بجائے ایک ان میموری ڈیٹا پرت استعمال ہوتی ہے۔ UI اجزاء shadcn (Base UI ویرینٹ) سے آتے ہیں جس میں Tailwind CSS v4 شامل ہے۔ ٹیبلز TanStack Table اور TanStack Virtual استعمال کرتی ہیں۔ Vite اور Nitro بنڈلنگ اور پروڈکشن سرور سنبھالتے ہیں، جبکہ oxlint/oxfmt اور TypeScript 7 (Effect تشخیص کے لیے @effect/tsgo سے پیچ شدہ) لنٹنگ، فارمیٹنگ اور ٹائپ چیکنگ کا احاطہ کرتے ہیں۔ ٹیسٹ Vitest اور Playwright استعمال کرتے ہیں۔ پیکجز: - apps/web — ویب سائٹ۔ - packages/data — واحد رن ٹائم ڈیٹا سورس: گیم ڈیٹا اور آئٹم آئیکنز جو extractor کے ذریعے تیار کیے جاتے ہیں۔ - packages/save-parser (save-parser-ts) — ایک خالص TypeScript ایلڈن رنگ سیو پارسر جو براؤزر یا ورکر میں چلتا ہے؛ README نوٹ کرتا ہے کہ پہلے کا Rust/WASM سیو ایڈیٹر اسٹیک ہٹا دیا گیا تھا۔ - packages/extractor (er-extractor) — ایک بلڈ ٹائم CLI جو گیم کی انسٹال شدہ کاپی پڑھتا ہے اور نام، اعدادوشمار، مارکرز، آئیکنز، گریسز اور ایونٹ اسکرپٹس کو ڈیٹا پیکج میں تیار کرتا ہے، جس میں bun:ffi کے ذریعے Oodle ڈیکمپریشن، dvdbnd ان پیکنگ اور FMG/PARAM/MSB/EMEVD پارسنگ شامل ہے۔ - packages/vendored-data — صرف بلڈ ٹائم کے لیے ریورس انجنیئرڈ مستقلات جو انسٹال سے حاصل نہیں کیے جا سکتے، جیسے ایونٹ فلیگ ٹیبلز، AES/RSA کلیدز اور پیرام اسکیما، جو اوپر والے پروجیکٹس ER-Save-Lib، UXM-Selective-Unpack، soulsmods/Paramdex اور soulstruct سے اخذ کیے گئے ہیں۔ - packages/config/* — مشترکہ TypeScript اور oxlint کنفیگریشن۔ ڈیولپمنٹ: ویب ایپ کے لیے صرف Bun کی ضرورت ہے؛ ایک قابل تولید ٹول چین کے لیے Nix فلیک بھی فراہم کیا گیا ہے۔ گیم ڈیٹا کو شروع سے دوبارہ بنانے کے لیے اضافی طور پر ایلڈن رنگ کی انسٹال شدہ کاپی اور Rust ٹول چین درکار ہے، لیکن پہلے سے تیار شدہ ڈیٹا پیکج کمٹ کیا گیا ہے، اس لیے سائٹ کو چلانے یا تیار کرنے کے لیے ان میں سے کسی کی ضرورت نہیں۔ عام کمانڈز bun install، bun run dev، bun run lint، bun run typecheck، bun run test اور bun run build ہیں۔ README یہ بھی نوٹ کرتا ہے کہ سیو فائل پیش کرنے کے لیے ڈیفالٹ اسنیپٹ Node.js استعمال کرتا ہے، حالانکہ کوئی بھی سادہ HTTP فائل سرور کام کرتا ہے، اور دستی اپ لوڈ مسلسل پولنگ کا متبادل ہے۔