docs: document React architecture and enforce migration checks in CI
CI/CD / test (push) Successful in 1m15s
CI/CD / publish (push) Successful in 1m21s
CI/CD / deploy (push) Successful in 6s

This commit is contained in:
2026-10-28 12:53:12 +03:30
parent 55d4123fe5
commit fbfa8d011d
16 changed files with 762 additions and 45 deletions
+210
View File
@@ -0,0 +1,210 @@
# مرجع دقیق داده‌های قابل بازی
این جدول از exportهای کد در snapshot 751af76 استخراج شده است؛ با تغییر locations/game-state/scoring باید به‌روزرسانی شود.
## دستگاه‌ها
### دستگاه دفتر فنی مهندسی — factory
- دسته: کارخانه (factory)
- نشانی: بزرگراه مشهد–چناران، خیابان کاله، کنار پارک علم و فناوری خراسان، ساختمان اداری، دفتر فنی مهندسی
- ساعت: 00:00 تا 24:00؛ ضریب قیمت 0.5
- موقعیت تعریف‌شده: factory.demo در factory.js
- دستگاه عادی
- توضیح: دستگاه دفتر برنامه‌نویس‌ها؛ نصف قیمت برای مهمان‌های کارخانه
| محصول | productId | نوع | قیمت نهایی هتومان |
|---|---|---|---:|
| آب معدنی | water | drink | 8 |
| آب‌میوه | juice | drink | 18 |
| چای سرد | tea | drink | 23 |
| بیسکویت | biscuit | snack | 13 |
| شکلات | chocolate | snack | 15 |
### بوستان ملت — mellat-park
- دسته: پارک (park)
- نشانی: بزرگراه وکیل‌آباد، ورودی جنوبی بوستان ملت، نزدیک ایستگاه مترو پارک ملت
- ساعت: 07:00 تا 23:00؛ ضریب قیمت 1
- موقعیت تعریف‌شده: anchor X=-487.6, Z=-326.4
- دستگاه عادی
- توضیح: نوشیدنی‌های خنک برای پیاده‌روی در پارک
| محصول | productId | نوع | قیمت نهایی هتومان |
|---|---|---|---:|
| آب معدنی | water | drink | 15 |
| آب‌میوه | juice | drink | 35 |
| لیموناد | lemonade | drink | 40 |
| چای سرد | tea | drink | 45 |
| بیسکویت | biscuit | snack | 25 |
| شکلات | chocolate | snack | 30 |
| کیک | cake | snack | 35 |
| آجیل | nuts | snack | 65 |
### مجموعه آموزشی راحیل — school-rahil
- دسته: مدرسه (school)
- نشانی: بولوار امامت، کوچهٔ امامت ۲، کنار در ورودی مدرسه
- ساعت: 07:30 تا 13:30؛ ضریب قیمت 0.9
- موقعیت تعریف‌شده: anchor X=-554.6, Z=-569.7
- دستگاه عادی
- توضیح: فقط در ساعت کاری مدرسه (۷:۳۰ تا ۱۳:۳۰) باز است
| محصول | productId | نوع | قیمت نهایی هتومان |
|---|---|---|---:|
| آب معدنی | water | drink | 14 |
| شیر کاکائو | milk | drink | 36 |
| آب‌میوه | juice | drink | 32 |
| بیسکویت | biscuit | snack | 23 |
| کیک | cake | snack | 32 |
### دانشگاه فردوسی مشهد — ferdowsi-university
- دسته: دانشگاه (university)
- نشانی: میدان آزادی، پردیس دانشگاه فردوسی، مسیر پیاده‌روی مرکزی
- ساعت: 07:00 تا 23:00؛ ضریب قیمت 0.8
- موقعیت تعریف‌شده: anchor X=-936, Z=645
- دستگاه عادی
- توضیح: تخفیف دانشجویی: ۲۰٪ ارزان‌تر
| محصول | productId | نوع | قیمت نهایی هتومان |
|---|---|---|---:|
| آب معدنی | water | drink | 12 |
| چای سرد | tea | drink | 36 |
| شیر کاکائو | milk | drink | 32 |
| بیسکویت | biscuit | snack | 20 |
| شکلات | chocolate | snack | 24 |
| آجیل | nuts | snack | 52 |
| کیک | cake | snack | 28 |
### دانشکدهٔ ادبیات دکتر شریعتی — literature-faculty
- دسته: دانشگاه (university)
- نشانی: پردیس دانشگاه فردوسی، بولوار دانش، جلوی دانشکدهٔ ادبیات
- ساعت: 07:00 تا 23:00؛ ضریب قیمت 0.8
- موقعیت تعریف‌شده: anchor X=-417.1, Z=966.3
- دستگاه عادی
- توضیح: تخفیف دانشجویی: ۲۰٪ ارزان‌تر
| محصول | productId | نوع | قیمت نهایی هتومان |
|---|---|---|---:|
| آب معدنی | water | drink | 12 |
| چای سرد | tea | drink | 36 |
| لیموناد | lemonade | drink | 32 |
| بیسکویت | biscuit | snack | 20 |
| شکلات | chocolate | snack | 24 |
### دانشگاه علوم پزشکی مشهد — medical-university
- دسته: دانشگاه (university)
- نشانی: میدان آزادی، پردیس دانشگاه علوم پزشکی مشهد
- ساعت: 07:00 تا 23:00؛ ضریب قیمت 0.8
- موقعیت تعریف‌شده: anchor X=-272.1, Z=150.6
- دستگاه عادی
- توضیح: تخفیف دانشجویی: ۲۰٪ ارزان‌تر
| محصول | productId | نوع | قیمت نهایی هتومان |
|---|---|---|---:|
| آب معدنی | water | drink | 12 |
| آب‌میوه | juice | drink | 28 |
| شیر کاکائو | milk | drink | 32 |
| آجیل | nuts | snack | 52 |
| بیسکویت | biscuit | snack | 20 |
### ایستگاه مترو آزادی — azadi-metro
- دسته: ایستگاه مترو (metro)
- نشانی: بولوار ملک‌آباد، ورودی ایستگاه مترو آزادی
- ساعت: 06:00 تا 22:00؛ ضریب قیمت 1
- موقعیت تعریف‌شده: anchor X=494.1, Z=280.3
- دستگاه عادی
- توضیح: دستگاه کنار گیت‌های مترو
| محصول | productId | نوع | قیمت نهایی هتومان |
|---|---|---|---:|
| آب معدنی | water | drink | 15 |
| چای سرد | tea | drink | 45 |
| آب‌میوه | juice | drink | 35 |
| شکلات | chocolate | snack | 30 |
| بیسکویت | biscuit | snack | 25 |
### مشهد مال — mashhad-mall
- دسته: مرکز خرید (mall)
- نشانی: خیابان اخوان ثالث، کنار ورودی پارکینگ مشهد مال
- ساعت: 10:00 تا 23:00؛ ضریب قیمت 1.1
- موقعیت تعریف‌شده: anchor X=1940.6, Z=-367.8
- دستگاه عادی
- توضیح: بیشترین تنوع محصول؛ قیمت کمی بالاتر
| محصول | productId | نوع | قیمت نهایی هتومان |
|---|---|---|---:|
| آب معدنی | water | drink | 17 |
| آب‌میوه | juice | drink | 39 |
| شیر کاکائو | milk | drink | 44 |
| چای سرد | tea | drink | 50 |
| لیموناد | lemonade | drink | 44 |
| شکلات | chocolate | snack | 33 |
| کیک | cake | snack | 39 |
| آجیل | nuts | snack | 72 |
| بیسکویت | biscuit | snack | 28 |
### نقطهٔ آزمایشی ۱ — test-1
- دسته: نقطهٔ آزمایشی GPS (test)
- نشانی: کنار کارخانهٔ روبات مارکت · 36.450276, 59.423431
- ساعت: 00:00 تا 24:00؛ ضریب قیمت 0.5
- موقعیت تعریف‌شده: GPS 36.450276, 59.423431
- فقط حالت دنیای واقعی؛ نقطهٔ آزمایشی
- توضیح: برای آزمایش حالت دنیای واقعی: با گوشی تا اینجا راه بروید
| محصول | productId | نوع | قیمت نهایی هتومان |
|---|---|---|---:|
| آب معدنی | water | drink | 8 |
| بیسکویت | biscuit | snack | 13 |
### نقطهٔ آزمایشی ۲ — test-2
- دسته: نقطهٔ آزمایشی GPS (test)
- نشانی: کنار کارخانهٔ روبات مارکت · 36.450172, 59.423209
- ساعت: 00:00 تا 24:00؛ ضریب قیمت 0.5
- موقعیت تعریف‌شده: GPS 36.450172, 59.423209
- فقط حالت دنیای واقعی؛ نقطهٔ آزمایشی
- توضیح: برای آزمایش حالت دنیای واقعی: با گوشی تا اینجا راه بروید
| محصول | productId | نوع | قیمت نهایی هتومان |
|---|---|---|---:|
| آب معدنی | water | drink | 8 |
| بیسکویت | biscuit | snack | 13 |
### نقطهٔ آزمایشی ۳ — test-3
- دسته: نقطهٔ آزمایشی GPS (test)
- نشانی: کنار کارخانهٔ روبات مارکت · 36.449976, 59.422866
- ساعت: 00:00 تا 24:00؛ ضریب قیمت 0.5
- موقعیت تعریف‌شده: GPS 36.449976, 59.422866
- فقط حالت دنیای واقعی؛ نقطهٔ آزمایشی
- توضیح: برای آزمایش حالت دنیای واقعی: با گوشی تا اینجا راه بروید
| محصول | productId | نوع | قیمت نهایی هتومان |
|---|---|---|---:|
| آب معدنی | water | drink | 8 |
| بیسکویت | biscuit | snack | 13 |
## مأموریت‌ها
| ترتیب | id | عنوان | target | XP | هتومان | شرط تکمیل واقعی |
|---:|---|---|---|---:|---:|---|
| 1 | factory | در دفتر فنی مهندسی کارخانه از دستگاه وندینگ خرید کن | factory | 100 | 20 | وجود خرید factory |
| 2 | first | با ماشین تا بوستان ملت برو و اولین خرید شهری را انجام بده | mellat-park | 150 | 30 | وجود خرید mellat-park |
| 3 | school | قبل از تعطیلی مدرسه (۱۳:۳۰) از دستگاه مدرسه خرید کن | school-rahil | 200 | 40 | وجود خرید school-rahil؛ ساعت خرید از اعتبارسنجی خرید می‌آید |
| 4 | campus | به دانشگاه فردوسی برو و یک خوراکی بخر | ferdowsi-university | 200 | 40 | خرید snack از ferdowsi-university |
| 5 | metro | از دستگاه ایستگاه مترو آزادی خرید کن | azadi-metro | 150 | 30 | وجود خرید azadi-metro |
| 6 | mall | با ماشین تا مشهد مال برو و خرید کن | mashhad-mall | 250 | 50 | وجود خرید mashhad-mall |
| 7 | explorer | از ۵ مکان متفاوت شهر خرید کن | پویا/نزدیک‌ترین بازدیدنشده | 400 | 80 | حداقل ۵ machineId متفاوت در پنج دستهٔ شهری؛ factory/test حذف |
«پنج مکان» با «پنج دسته» متفاوت است: explorer مکان متمایز می‌شمارد؛ پاداش allCategories دسته متمایز. خریدهای از پیش انجام‌شده می‌توانند مأموریت غیر فعال را هم تکمیل کنند. رسیدن جغرافیایی یا سوارشدن ماشین در شرط مأموریت ذخیره نمی‌شود.
## نقاط ثابت
مرکز کارخانه X=-10308.4, Z=-14964.2 و محور (0.7071067811865476, 0.7071067811865476)؛ مکان دقیق ماشین و خانواده از factory.start/car محاسبه می‌شود.