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

Google தனது Apps Experience Program-இல் குறிப்பிடும் அணுகுமுறைகள் Cubiq-இல் செயல்படுத்தப்பட்டுள்ளன: 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-ஐ அறியுங்கள்