Cubiq
engineering.mdعمل درآمد

عمل درآمد

Cubiq کے اندر

کیوب کی ہر گردش ایک مخصوص نظام پر مبنی ہے: ریاضیاتی ماڈل، 3D انجن اور حل تلاش کرنے والا نظام جو سبق کے مقاصد کو مدنظر رکھتا ہے۔ Android ایپ Kotlin اور Jetpack Compose میں لکھی گئی ہے۔

منصوبے کا اسنیپ شاٹ

سورس اور متن کے وسائل کی سطریں
740 244
ایپ ماڈیول
39
ٹیسٹوں سے باہر Kotlin کی فزیکل سطریں
136 019
زبان کی صورتیں
42
ٹیسٹ ڈیکلریشنزtest* / androidTest* · @Test
1 624

stack.kt

جدید Android اسٹیک

منصوبے کا اسنیپ شاٹ
Kotlin2.4.21
Compose BOM2026.09.00
Material 31.5.0-beta01
Adaptive1.3.0
Navigation 31.2.0
AGP9.4.1
KSP2.3.12
Gradle9.7.0
  • Kotlin
  • Jetpack Compose
  • Material 3
  • Adaptive
  • Navigation 3

Jetpack Compose اور Material 3 انٹرفیس کے اجزا اور تھیم متعین کرتے ہیں۔ Adaptive ونڈو کے سائز کے مطابق لے آؤٹ سنبھالتا ہے، جبکہ Navigation 3 نیویگیشن اور اسکرین کی بحالی سنبھالتا ہے۔ حالت Coroutines اور Flow کے ذریعے آتی ہے؛ Hilt ایپ کے ماڈیول جوڑتا ہے۔

architecture.kt

ایپ کی آزاد تہیں

app01Hilt / DI
feature07Compose / ViewModel
  • onboarding
  • learning
  • lesson
  • practice
  • progress
  • settings
  • events
domain07contracts / use cases
  • learning
  • lesson
  • practice
  • portability
  • progress
  • settings
  • events
data09repositories / storage
  • content
  • storage
  • learning
  • lesson
  • practice
  • portability
  • progress
  • settings
  • events
core14UI kit / cube / solver
  • common
  • model
  • designsystem
  • uikit
  • navigation
  • analytics
  • crashlytics
  • ads
  • billing
  • push
  • hardware
  • cube
  • scrambleimage
  • solver
baselineprofile01startup / frame timing

feature → domain ← data

modulesΣ 39
  • app1
  • baselineprofile1
  • core14
  • data9
  • domain7
  • feature7
Kotlin · physical LOCΣ 136 019
feature
82 86360.9%
core
21 16715.6%
data
14 34110.5%
app
9 5147.0%
domain
6 7595.0%
buildSrc
9610.7%
baselineprofile
4140.3%

انٹرفیس، ڈومین معاہدے اور ڈیٹا الگ ماڈیولوں میں ہیں؛ Hilt عمل درآمد کو جوڑتا ہے۔ Compose ناقابلِ تبدیلی حالت اور واضح واقعات وصول کرتا ہے۔ Room تاریخ اور سیکھنے کی پیش رفت، DataStore ترتیبات محفوظ کرتا ہے، جبکہ Navigation 3 حصوں کے اسٹیکس بحال کرتا ہے۔

  • Coroutines / Flow
  • Hilt
  • Room
  • DataStore

android-ux.md

Android کی سفارشات کے مطابق UX

Cubiq میں وہ طریقے نافذ ہیں جنہیں Google اپنے Apps Experience Program میں نمایاں کرتا ہے: Compose، ڈھلنے والا لے آؤٹ اور edge-to-edge۔

ونڈو کے سائز کے مطابق
چوڑی اسکرین پر نظریہ اور مشق ساتھ ساتھ دکھتے ہیں۔ چھوٹی اسکرین پر مواد اور نیویگیشن دستیاب جگہ کے مطابق ڈھلتے ہیں؛ ونڈو کا سائز لے آؤٹ متعین کرتا ہے۔
نیٹو نیویگیشن
Edge-to-edge سسٹم بار اور کی بورڈ کو مدنظر رکھتا ہے۔ Navigation 3 حصوں کے اسٹیکس محفوظ رکھتا ہے اور واپسی کی منتقلی کے پیش منظر کے ساتھ Predictive Back کی معاونت کرتا ہے۔
پڑھنے میں آسانی اور رسائی
ہلکے اور گہرے تھیم، متن کا سائز بدلنا اور نیویگیشن میں معنوی لیبل، ایپ کو TalkBack اور کی بورڈ کے ساتھ استعمال کرنے میں مدد دیتے ہیں۔ بڑے فونٹ پر بھی حصوں کے نام اسکرین ریڈر کے لیے دستیاب رہتے ہیں۔
Google کی سفارشات · Apps Experience Program
OpenGL ES 3.0

engine.glsl

ریاضی کے مطابق جیومیٹری

moving cubies
26
facelets
54
meshes
8
triangles
2 964

GLSL شیڈرز PBR مواد، کھردراپن اور ماحول کی روشنی کا حساب کرتے ہیں۔ ماڈل اور اینیمیشن ہم آہنگ ہیں: ایک قدم پیچھے جانے سے الٹی چال لاگو ہوتی ہے، اور کیمرا پینلوں کے درمیان خالی جگہ کو مدنظر رکھتا ہے۔

  • OpenGL ES 3.0
  • GLSL
  • PBR
  • Instancing

کیوب کی حالت / فارمولے کا پلے بیک

ٹائپ شدہ نوٹیشن چالوں اور ہم آہنگ کیوب حالات میں بدلتی ہے۔ رینڈرر کی قطار تہوں کی گردش اینیمیٹ کرتی ہے، حصوں اور فیسلیٹس کی شناخت برقرار رکھتے ہوئے۔ فارمولا حقیقی چالوں کی ترتیب میں چلتا ہے، پلے، پاز اور رفتار کے کنٹرول کے ساتھ۔

  1. Notation
  2. Cube state
  3. Move queue
  4. OpenGL ES 3.0

اگلا قدم نئی چال اینیمیٹ کرتا ہے؛ پچھلا قدم الٹی چال لاگو کرتا ہے۔ کسی مقام پر جانا بنیادی منظر اور ہدف کی ترتیب بحال کرتا ہے۔ منسوخی اگلی چالیں بھیجنا روکتی ہے؛ شروع ہوئی گردش مکمل ہوتی ہے۔ EGL لائف سائیکل pause/release سنبھالتا ہے؛ GL دستیاب نہ ہو تو سیکھنے کا راستہ 3D کے بغیر باقی ہے۔

solver.kt

سبق کے مقاصد کے مطابق حل

  • BFS
  • Beam search
  • F2L

اپنا حل تلاش کرنے والا نظام موجودہ سبق کے فارمولوں اور معاون چالوں سے حل بناتا ہے۔ SolverRequest میں کیوب کی حالت، ہدف کے حصے، لاک شدہ اہداف، اجازت یافتہ فارمولے، صورتیں اور سمت ہیں۔ منصوبہ ساز سیکھنے کے اہداف کی ترتیب مانتا ہے اور حل شدہ حصے محفوظ رکھتا ہے۔

مرحلے کے مطابق منصوبہ بندی محدود BFS، بیم سرچ اور F2L صورتوں کی شناخت استعمال کرتی ہے۔ توثیق حصوں کے مجموعے، فلپس، ٹوئسٹس اور پرمیوٹیشن پیرٹی کو جانچتی ہے۔ تلاش کی پالیسی گہرائی اور بیم کی چوڑائی محدود کرتی ہے۔ سبق بدلنے سے تلاش منسوخ ہوتی ہے اور پرانا نتیجہ روکا جاتا ہے۔

نتیجہ PracticePlan ہے: قدم، فارمولے کے حوالے، ڈسپلے ٹائم لائن اور ایگزیکیوشن ٹائم لائن۔ وضاحت سبق کی سمت برقرار رکھتی ہے؛ انجن کو مکمل اجرائی ترتیب ملتی ہے۔ نتائج: plan / solved / invalid input / no constrained path۔

  1. کیوب کی حالت
  2. ماڈل کی جانچ
  3. سیکھنے کا منصوبہ
  4. 3D مشق

content.md

مواد بلڈ کے عمل سے گزرتا ہے

نظریہ 756 Markdown دستاویزات میں محفوظ ہے، اور مشق 336 مقامی زبانوں میں ڈھالے گئے منظرناموں میں متعین ہے۔ Gradle تراجم کی ساخت اور 316 اصل تصاویر کے حوالوں کی جانچ کرتا ہے۔ گرافکس Blender/Cycles میں تیار کیے گئے؛ Android انجن الگ طریقہ جاتی جیومیٹری استعمال کرتا ہے۔

workflow.md

کوڈ کی طرح دستاویزات / ایجنٹ ورک فلو

AGENTS.md
48
README.md
16

ریپوزٹری ایجنٹوں کے ساتھ ترقی کے لیے منظم ہے: AGENTS.md کی درجہ بندی ذمہ داریاں، معماری کی پابندیاں اور توثیق کے گیٹس متعین کرتی ہے؛ README.md ماڈیول معاہدے اور KDoc API اور مستقل شرائط بیان کرتے ہیں۔

معماری، ڈیزائن اور مقامی زبانوں کے معاہدے کوڈ کے ساتھ ورژن کنٹرول میں ہیں۔ PLAN.md دائرہ اور کام کی حوالگی درج کرتا ہے؛ معاہدے کی تبدیلی متعلقہ مالک کی دستاویزات بھی بدلتی ہے۔ جانچ اور جنریشن Gradle سے ہوتی ہیں؛ CI دونوں اسٹور صورتوں کا بلڈ بناتا ہے۔

physical text linesΣ 740 244
Resources / localization
399 56854.0%
Kotlin · non-test
136 01918.4%
Lesson Markdown
132 64217.9%
Kotlin · JVM tests
46 6456.3%
Kotlin · Android tests
13 6361.8%
Build tooling / web
8 9851.2%
Documentation
2 7490.4%
معیار اور گنتی کا طریقہ

ٹیسٹ ناممکن کیوب حالات، حل شدہ تہوں کے تحفظ، سیکھنے کے منصوبوں، پرانی درخواستوں کی منسوخی، سیشن کی بحالی اور ڈیٹا درآمد کا احاطہ کرتے ہیں۔ CI دونوں اسٹور صورتوں کا بلڈ بناتا ہے؛ ریلیز کی جانچ میں R8، APK/AAB، چیک سم اور 16 KB پیجز کے لیے نیٹو لائبریریوں کی الائنمنٹ شامل ہے۔

Kotlin کی مقدار فزیکل سطروں میں گنی گئی ہے، جس میں تبصرے، خالی سطریں، buildSrc اور بینچ مارک کوڈ شامل ہیں، ٹیسٹ ڈائریکٹریاں نہیں۔ ٹیسٹوں کی تعداد سے مراد 1 343 JVM ڈیکلریشنز اور 281 Android ڈیکلریشنز ہیں، چلائے جانے کی تعداد نہیں۔ دستاویزات میں متبادل متن شامل ہے؛ منظرنامہ ہونے کا مطلب ہر سبق میں مشق ہونا نہیں ہے۔

baselineprofile · @Test
3

کل متن، ٹریک کیے گئے UTF-8 سورس، ٹیسٹوں، XML/JSON وسائل، Markdown مواد، مقامی زبانوں، دستاویزات، بلڈ ٹولز اور ویب سورس کی فزیکل سطریں گنتا ہے۔ تبصرے، خالی سطریں اور زبانوں کی نقول شامل ہیں۔ میڈیا، جنریٹڈ/بلڈ آؤٹ پٹ، وینڈر کوڈ، سروس کنفیگریشن اور عارضی PLAN.md خارج ہیں۔ یہ منصوبے کے متنی اِن پٹ کا حجم ہے، قابلِ اجرا LOC نہیں۔

Cubiq کے بارے میں جانیں