Jetpack Compose للواقع الممتد
| آخر تحديث | الإصدار المستقر | إصدار محتمل | الإصدار التجريبي | الإصدار الأولي |
|---|---|---|---|---|
| 21 أكتوبر 2026 | - | - | 1.0.0-beta02 | - |
تحديد الاعتماديات
لإضافة اعتمادية على XR Compose، يجب تضمين مستودع Google Maven في مشروعك. اطّلِع على مستودع Maven من Google لمزيد من المعلومات.
أضِف الاعتماديات الخاصة بالعناصر التي تحتاج إليها في ملف build.gradle لتطبيقك أو وحدتك:
Groovy
dependencies { implementation "androidx.xr.compose:compose:1.0.0-beta02" // Use to write unit tests testImplementation "androidx.xr.compose:compose-testing:1.0.0-beta02" }
Kotlin
dependencies { implementation("androidx.xr.compose:compose:1.0.0-beta02") // Use to write unit tests testImplementation("androidx.xr.compose:compose-testing:1.0.0-beta02") }
لمزيد من المعلومات حول الاعتماديات، يُرجى الاطّلاع على إضافة اعتماديات الإصدار.
الملاحظات
تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إعلامنا إذا اكتشفت مشاكل جديدة أو كانت لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مشكلة جديدة. يمكنك إضافة تصويتك إلى مشكلة حالية من خلال النقر على زر النجمة.
يُرجى الاطّلاع على مستندات Issue Tracker لمزيد من المعلومات.
الإصدار 1.0
الإصدار 1.0.0-beta02
21 أكتوبر 2026
تم طرح androidx.xr.compose:compose:1.0.0-beta02 وandroidx.xr.compose:compose-testing:1.0.0-beta02. يتضمّن الإصدار 1.0.0-beta02 هذه التعديلات.
التغييرات في واجهة برمجة التطبيقات
- تستهدف المكتبات الآن الإصدار 2.2 من Kotlin وتتطلّب الإصدار 2.2 من kotlinc (I82396، b/498369605)
- تمت إعادة تسمية المَعلمة
halfLifeMsفيFollowMode.soft()إلىhalfLifeMillis. (I39187) - تم تحويل
PitchLimitsإلى@JvmInline value classمع تجميع قيمتَين عائمتَين فيLongلإزالة عمليات تخصيص العناصر. (Id43c3) - تمت إضافة مَعلمة جديدة لـ
FollowMode.soft: المَعلماتhalfLifeMsوstartDelayوstartThresholds. تمت إزالة المَعلمةdurationMsلأنّها لم تعد مطلوبة أثناء الانتقال من خوارزميةsmoothStepإلى خوارزميةexponentialDecay. (If0140) - أزِل التحميل الزائد لـ
SpatialActivityPanelالذي تم إيقافه نهائيًا. استخدِم التحميل الزائد لـSpatialActivityPanelالذي يقبلSpatialActivityPanelControllerبدلاً من ذلك. (I5abc3) - يمكنك تفعيل الانتقالات بين المحتوى الثلاثي الأبعاد والثنائي الأبعاد القابل للتركيب ضمن نشاط واحد في
FullSpaceMode. يتم التحكّم في هذا التغيير من خلالSpatialComposeFlags.isMainPanelResetOnSubspaceDisposeEnabled. (I4e237) - تم عرض تحميل زائد تجريبي لـ
Subspaceيأخذ مَعلمةFollowTargetلدعم المحتوى التالي. (Iec1a9) - تمت إزالة المعدِّلات القابلة للنقل التي تم إيقافها نهائيًا. استخدِم بدلاً من ذلك المعدِّل الجديد القابل للنقل والذي يقبل
MovePolicyالجديد كمَعلمة. (Ib135d) - إزالة
DragPolicyالمتوقّف نهائيًا يمكنك استخدامSubspaceModifier.movable()كبديل. (I108d4) - تم إيقاف التحميلات الزائدة لـ
SliderوRangeSliderغير المعتمدة على الحالة نهائيًا لصالح الإصدارات المعتمدة على الحالة. تمت إعادة تسميةactiveRangeStartوactiveRangeEndفيRangeSliderStateإلىstartValueوendValue، مع إيقاف واجهات برمجة التطبيقات القديمة غير المروَّج لها والتجريبية لـ Slider واستبدالها بـDeprecationLevel.HIDDEN. (If8995)
إصلاح الأخطاء
- تم إصلاح
RotateToLookAtUserمن خلال تقديمposeInActivitySpaceلضمان حساب الوضعية الصحيحة لجميع أنواع المساحات الفرعية، بما في ذلك تلك المرتبطة بالمثبّتات أو المستخدمين.Ica367b - تم إصلاح عطل في "القيود" (Constraints) عند ربط Orbiter بلوحات كبيرة (I8c4bf)
- تم إصلاح خلل في
SubspaceLayoutNodeحيث تسبّبremoveAll()في تخصيصاتArrayListغير ضرورية. تم أيضًا إصلاح أداء احتساب العمق. I34a10a - تم تحديث تبعية
androidx.lifecycle:lifecycle-runtimeإلى الإصدار 2.10.0. هذا الإصدار مطلوب لتشغيل عمليات فحص lint المجمّعة لوقت تشغيل مراحل النشاط مع الإصدار 9.5.0-alpha04 من AGP أو الإصدارات الأحدث. (I99bfd، b/556807521) - تحسين kdocs ذات الصلة بـ
AudioOutputProviderلتوضيح أنّه يجب عدم إعادة استخدامها مع نُسخ متعددة منExoPlayer(I6b18e) - إصلاح الأخطاء الإملائية والنحوية البسيطة في kdoc (Id3ba6)
المشاكل المعروفة
- يعتمد هذا الإصدار من "
androidx.xr.compose" على "androidx.xr.scenecore:1.0.0-rc01" الذي يتضمّن مشكلة تسرُّب ذاكرة معروفة. في إعدادات التصميم، يمكنك تجاوز تبعيةSceneCoreبشكل صريح إلى الإصدار1.0.0، والذي يتضمّن إصلاحًا لمشكلة تسرُّب الذاكرة.
الإصدار 1.0.0-beta01
23 سبتمبر 2026
تم طرح androidx.xr.compose:compose:1.0.0-beta01 وandroidx.xr.compose:compose-testing:1.0.0-beta01. يتضمّن الإصدار 1.0.0-beta01 هذه التعديلات.
التغييرات في واجهة برمجة التطبيقات
- تمت إزالة
DragPolicyالتي تم إيقافها نهائيًا. يمكنك استخدامSubspaceModifier.movable()كبديل. (I108d4) - تمت إزالة السمة
ResizePolicyالمتوقفة نهائيًا واستخداماتها فيSpatialPanelوSpatialExternalSurface. إزالة دالةSubspaceModifier.resizableتم إيقافها نهائيًا استخدِمSubspaceModifier.resizableالجديد معResizePolicyجديد بدلاً من ذلك. (I59e6b) - تمت إضافة المَعلمة
isPitchUpdateEnabledللسماح بتفعيل تتبُّع درجة الصوت أو إيقافه بشكل مستقل. (Ie9e86) - تمت إزالة إمكانية قبول القيمة الفارغة من
pitchLimitsوتمت إعادة تسميةPitchLimits.UNCONSTRAINEDإلىPitchLimits.FullRange. (I0154f) - أصبحت دالة
ExposedDropdownMenuالآن دالة إضافة فيExposedDropdownMenuBoxScopeبدلاً من دالة تابعة. قد تحتاج إلى تعديل الرمز من خلال استيراد جديد. (Ie8a65) - تمت إزالة فئة
SurfaceProtectionالمتوقفة نهائيًا. يمكنك استخدامSpatialExternalSurfaceProtectionكبديل. (Iab2c6) - تم إيقاف دالة Orbiter التي تستخدم
OrbiterPoseProviderنهائيًا لصالح الدالة التي تستخدمSpatialAlignment. (I4d12b) - يتطلّب
SpatialActivityPanelالآن استخدامSpatialActivityPanelController(يتم إنشاء مثيل له باستخدامrememberSpatialActivityPanelController) لتشغيل الأنشطة المضمّنة وإدارتها. (Id25c6) - تمت إزالة المَعلمة
upDirectionمنrotateToLookAtUserوإضافة مَعلمات قيود التدوير (isYawUpdateEnabledوpitchLimits). (I1370a)
إصلاح الأخطاء
- تم إصلاح مشاكل متنوّعة في
InteractionPolicy. حدث عطل في حال وقوع حدث إدخال مباشرةً عند بدء دالة مركّبة أو دالة فرعية (مثل Orbiter) تسلسل التخلص من الموارد. يتم أيضًا إصلاح مشكلة تلقّي عنصر فرعي لأحداث التمرير. (Ifc477) - تم تقليل حجم اللوحة في
RotateToLookAtUserActivityلمنع اقتصاص المحتوى على الأجهزة ذات مجال الرؤية الأصغر. (I8d672)
المشاكل المعروفة
- هناك مشكلة في لوحات Compose XR، حيث قد يؤدي إنشاء العديد من اللوحات في نشاط واحد إلى حدوث بعض التلف في ما يتم عرضه حتى بعد إزالة اللوحات.
الإصدار 1.0.0-alpha17
12 أغسطس 2026
تم طرح androidx.xr.compose:compose:1.0.0-alpha17 وandroidx.xr.compose:compose-testing:1.0.0-alpha17. يتضمّن الإصدار 1.0.0-alpha17 هذه التعديلات.
التغييرات في واجهة برمجة التطبيقات
- يجب إزالة فئة القيمة
Meter، لأنّه تم استبدالها بـvirtualPixelDensityفيScenecore. (I690ee) - أصبحت واجهة برمجة التطبيقات
SpatialGltfModelتجريبية الآن ويجب الموافقة على استخدامها. (I4557e) - السماح بتغيير حجم
systemوجعله قابلاً للإلغاء (Ib0093) - تم عرض
DensityفيSubspaceSemanticsInfoللاختبار. (I2e826) - إعادة تسمية الخيار التلقائي
ResizePolicyإلىsystemوإضافة خيارDefaultجديد بدون مَعلمات (Ic8b16) - وضع علامة "تجريبي" على
FollowTargetأصبحت واجهة برمجة التطبيقاتFollowingSubspaceبأكملها تجريبية الآن. (Id4ee3) - إزالة واجهات برمجة التطبيقات
GltfAnimation(Ic2894) - تمت إعادة تسمية طريقة
MovePolicy.default()التي تتضمّن مَعلمات إلىMovePolicy.system(). تم تقديم سمةval MovePolicy.Defaultلتمثيل سلوك الحركة التلقائي العادي. (Iedcc9) - توسيع متطلبات الموافقة على
ExperimentalMoveAnchorPolicyلتشملPlaneSemanticوPlaneOrientation(Ief927) - إزالة
resetMinsمنVolumeConstraints.offset(Ib2f2f) - تمت إزالة الدالة
SceneCoreEntitySizeAdapterالتي تم إيقافها نهائيًا. (Ib6722) - تمت إزالة التحميل الزائد المتوقّف نهائيًا لـ
SubspaceباستخدامallowUnboundedSubspace. (I8e97f) - تمت إزالة التحميل الزائد لمعدِّل الدلالات المتوقّفة نهائيًا. (I4ac10)
إصلاح الأخطاء
- تم إصلاح مشكلة تسبُّب العناصر الفرعية لـ
ComposableمعInteractionPolicyفي تشغيل أحداث الإدخال (Icdba6)
الإصدار 1.0.0-alpha16
15 يوليو 2026
تم طرح androidx.xr.compose:compose:1.0.0-alpha16 وandroidx.xr.compose:compose-testing:1.0.0-alpha16. يتضمّن الإصدار 1.0.0-alpha16 هذه التعديلات.
التغييرات في واجهة برمجة التطبيقات
- إزالة واجهات برمجة التطبيقات
ComponentOverride(I820c4) - تم تصنيف واجهتَي برمجة التطبيقات
GltfAnimationوSpatialGltfModelAnimationعلى أنّهما تجريبيتان. تم تحويل بعض السمات إلى دوال getter. (I8d689، b/524771027) - تم إصلاح سلوك الكثافة الإجمالي من خلال ضبط التحويل بين المتر ووحدات البكسل ليكون ثابتًا. تم إيقاف Meter.kt نهائيًا، ويمكن الآن استخدام
Session.scene.virtualPixelDensityكبديل. (I122ff، b/430097855، b/474168798) - تعديل المُعدِّل القابل لتغيير الحجم لاستخدام
ResizePolicyبدلاً من مُعدِّلَين (I7fb0f، b/496257436، b/519672992) - تمت إضافة مَعلمة tolerance:
Dp = Dp(0.5f)إلى جميع تأكيدات المساواة العامة في الموضع والسمات ذات النقطة العائمة فيSubspaceAssertions.kt. تم توثيق سلوك التسامح التلقائي (0.5.dp) بالكامل. (I266cb، b/521491915) - تمت إضافة دالة overload قابلة للنقل مع مَعلمة
movePolicyوإيقافtransformingMovableوmovableنهائيًا (Ic88c1، b/481781189) - تمت إضافة خيارات جديدة غير تفاعلية لعنصر القائمة العادي وعنصر القائمة المقسَّمة التي تتّبع مواصفات Material Expressive. تم إيقاف الإصدار غير التعبيري نهائيًا. (Ide4de، b/491994186)
- بالنسبة إلى Subspace، تم إيقاف المَعلمة
allowUnboundedSubspaceنهائيًا وإخفاؤها. يجب الآن تحقيق السلوك غير المحدود باستخدامSubspaceModifier.requiredSizeIn(maxWidth=Dp.Infinity,maxHeight=Dp.Infinity,maxDepth=Dp.Infinity) في معدِّل Subspace. تمّت إزالة المَعلمةallowUnboundedSubspaceمنFollowingSubspace. (Ia72ae، b/433624021) - تم تحويل
Session.createإلى دالة تعليق. (I5d27f) - تمت إضافة
SubspaceModifier.spatializedAudioOutputالذي يسمح بتشغيل الصوت المكاني من خلالExoPlayerأو من خلالSoundEffectPlayer(I46697، b/489421980، b/497867019) - تم تعديل
ComponentActivity.requestHomeSpace()وrequestFullSpace()لعرضSpaceRequestResultمن أجل التحقّق من الحالة. (If1672) - تم تعديل
AnchorEntityليصبح اسمهAnchorSpace(Ifa95e، b/513619219) - تمت إزالة القيود عن طريقة
fromResourceمنSpatialGltfModelSource(I1f5a1، b/503047416) - أعضاء
SubspaceSemanticsMatcherمتاحون للجميع: السمةdescription، وأساليب المصنع المصاحبة (expectValueوkeyIsDefinedوkeyNotDefined)، ودوال الأعضاء (matchesوmatchesAny)، وعوامل التشغيل (andوorوnot). (I972a4، b/460427288) - تم تعديل
SubspaceModifier.semanticsوSubspaceModifier.testTagوSubspaceSemanticsInfoوSubspaceSemanticsModifierNodeلاستخدام أنواع الدلالات المكانية المنظَّمة. (I80dea، b/460427288) - تمت إعادة تسمية
positionإلىalignفيSpatialAlignmentوإزالة طرق الإزاحة الاتجاهية الفردية لصالح واجهة برمجة تطبيقاتalignموحّدة. (I9bdb2، b/479805937) - تمت إزالة واجهات برمجة التطبيقات المتوقّفة نهائيًا الخاصة بوضع المساحة من
SpatialConfiguration. (I1ef5c، b/458712461) - تم طرح
SubspaceSemanticsConfiguration. هذا هو إعداد سمات الدلالات لعقدة مكانية. تعرض هذه الفئة طرق طلب البحث بأمان لدلالات ثلاثية الأبعاد بدون تسريب إمكانات الدلالات الأساسية ثنائية الأبعاد إلى المستهلكين الخارجيين. (Id025e، b/460427288) - تم تقديم
SubspaceSemanticsPropertyReceiver: وهو برنامج تضمين مخصّص يقتصر على خصائص حاوية التنسيق الثلاثي الأبعاد للحقول الصالحة (في البدايةtestTagوcontentDescription). (I5cf5c، b/460427288)
إصلاح الأخطاء
- تم تعديل السمة
hasContentDescriptionالخاصة بالمعدِّل الدلالي ليتم ضبطها تلقائيًا على مطابقة السلسلة الفرعية. (I08214) - تمت إضافة
FollowBehavior.ExponentialDecay()المقيّد الذي يوفّر سلوك تتبُّع سلسًا موجَّهًا بواسطة الفيزياء المرنة. (I7449c، b/485639909، b/500493335)
ستتأثر معظم واجهات برمجة التطبيقات بهذا التغيير. على وجه التحديد، سيتم الآن حلّ LocalSession CompositionLocal وجميع CompositionLocals التي تعتمد على LocalSession (مثل LocalSpatialConfiguration وLocalSpatialCapabilities وما إلى ذلك) إلى null أو إصداراته غير المتوافقة مع XR قبل بدء Session.
بعد توفّر Session، سيتم تشغيل إعادة الإنشاء بالحالة الصحيحة. (I0cfa4، b/514712835، b/514712835)
- تم توضيح المستندات الخاصة بـ
ComponentActivity.requestHomeSpaceوComponentActivity.requestFullSpaceفي ما يتعلق بسلوك التعليق والإلغاء والتزامن. تم تعديل الاختبارات للتحقّق من انتشارCancellationException. (I22f75، b/493289528)
الإصدار 1.0.0-alpha15
17 يونيو 2026
تم طرح androidx.xr.compose:compose:1.0.0-alpha15 وandroidx.xr.compose:compose-testing:1.0.0-alpha15. يتضمّن الإصدار 1.0.0-alpha15 هذه التعديلات.
التغييرات في واجهة برمجة التطبيقات
- تم إيقاف
ResizePolicyنهائيًا والمعدِّل القديم القابل لتغيير الحجم، وتم استبدالهما بـSubspaceModifier.resizableجديد وSubspaceModifier.transformingResizable. (I9e4bc) - تم تعديل واجهات برمجة التطبيقات
SpatialGltfModel: تمت إضافة ميزة تحميل النماذج من الموارد عبرSpatialGltfModelSource.fromResource، وتمت إعادة تسمية السرعة إلىplaybackSpeedفيSpatialGltfModelAnimation، وتمت إضافة طريقة resume(). SpatialGltfModelStatus.Loaded وLoading هما الآن عنصران. (I523de) - تم وضع علامة على
rotateToLookAtUserكواجهة برمجة تطبيقات تجريبية. (I86c16) - تم نقل المتغيّر المحمي
targetCurrentPoseوإعادة تسميته إلى المتغيّر المحليcurrentTargetPoseMeter. (Ia557c) - تعديل مستندات kdocs الخاصة بـ
SpatialPanelوSpatialExternalSurfaceلتشمل مكان عرض العنصر ضمن حجم تنسيقه (I72104) - تم تضمين منطق تحميل
SpatialGltfModelضمنSpatialGltfModelStateوتوضيح سلوك الفشل. (Ibe98b) - Clarified
depthinSubspaceModifer.sizekdocs (I0f84f)
الإصدار 1.0.0-alpha14
19 مايو 2026
تم طرح androidx.xr.compose:compose:1.0.0-alpha14 وandroidx.xr.compose:compose-testing:1.0.0-alpha14. يتضمّن الإصدار 1.0.0-alpha14 هذه التعديلات.
التغييرات في واجهة برمجة التطبيقات
- تم تقديم
transformingMovableللحركة الثلاثية الأبعاد التلقائية التي يتعامل معها النظام، وتم تقديم تحميل زائد جديد لـmovableللتعامل مع سلوكيات الحركة المخصّصة. (I50960) - تمت إزالة الحقل "
SpatialGltfModel.fromData()". (I4d083) - تمت إضافة واجهة جديدة لعقدة المُعدِّل، وهي
SubspaceMeasuredSizeAwareModifierNode، والتي توفّر دالة ردّ اتصالonRemeasuredبعد مرحلة القياس.SubspaceLayoutAwareModifierNodeالآن هذه الواجهة الجديدة. تم تعديل المُعدِّلonSizeChangedلاستخدامonRemeasured، ما يضمن تفعيل دالة الاستدعاء بعد القياس مباشرةً، وليس بعد تحديد الموضع. (Iafbae) - تم تعديل
InteractionPolicyإلىInterface(I0ff30) - تم تحديث Compose
compileSdkإلى واجهة برمجة التطبيقات 37. وهذا يعني أنّه يجب استخدام الإصدار 9.2.0 أو إصدار أحدث من "مكوّن Android الإضافي لـ Gradle" عند استخدام Compose. (Id45cd) - تم تعديل
Sizeمستند kdoc (Iefa9a)
الإصدار 1.0.0-alpha13
6 مايو 2026
تم طرح androidx.xr.compose:compose:1.0.0-alpha13 وandroidx.xr.compose:compose-testing:1.0.0-alpha13. يتضمّن الإصدار 1.0.0-alpha13 هذه التعديلات.
التغييرات في واجهة برمجة التطبيقات
- لا تزال واجهة برمجة التطبيقات Orbiter API في انتظار تغييرات إضافية، لذا ننصحك بإيقاف إشعارات الإيقاف النهائي لـ Orbiters ومتابعة تغييرات Orbiter في الإصدارات القادمة.
- على المستخدمين الذين يستعينون بـ
SceneCoreEntityلعرض ملفات glTF التأكّد من تمريرsession.scene.activitySpaceإلى المَعلمةparentلطلبGltfModel.createلضمان عرض ملفات glTF. - إضافة واجهة برمجة التطبيقات
SpatialGltfModelللسماح للمطوّرين بإضافة ملفات Gltf إلى تطبيقات Compose For XR ويمكن للمطوّرين أيضًا الاستعلام عن الصور المتحركة والعُقد داخل نماذج Gltf. (I8b542، b/495422586) - تم تغيير
SceneCoreEntitySizeAdapterمن فئة إلى واجهة (I5a784، b/475292310) - تمت إعادة تسمية "
SurfaceProtection" إلى "SpatialExternalSurfaceProtection". تم تعديلSpatialExternalSurfaceمستند kdoc (Ifad0a، b/485231082) - إيقاف
currentWindowAdaptiveInfoنهائيًا وتقديم الإصدار الثاني منه (I40ecf، b/424442112) - أصبح المُعدِّل
resizableمتاحًا للجميع ويمكن تطبيقه على المجموعات (مثلSpatialRow). (I2bcf6، b/348483527، b/489753178، b/479530787) - أصبح المعدِّل "
movable" متاحًا للجميع الآن. يعمل هذا المُعدِّل بشكل جيد حاليًا معSpatialPanelsوSpatialExternalSurface، ولكن الهدف هو إتاحة هذه الميزة بشكل جيد لجميعSubspaceComposables. (I9a3cd، b/479530787، b/478935063، b/478935063) - تم وضع علامة
@ImmutableعلىSpatialEnterTransitionوSpatialExitTransition(If1710، b/487757837) - تم وضع علامة "محظور" على واجهة برمجة التطبيقات
SpatialGltfModelلهذا الإصدار في انتظار إجراء اختبارات إضافية. (Ibf003، b/466090694) - تمت إعادة تسمية
DeviceTrackingMode.LAST_KNOWNإلىSPATIAL_LAST_KNOWN(مع استخدام عنصر احتياطي متوقّف نهائيًا)، وتمت إضافةINERTIAL_LAST_KNOWNلتتبُّع 3DoF، وتمت إضافةTRACKING_DEGRADEDإلىTrackingState. (Ie661c، b/445466590) - إزالة
SpatialLayoutSpacerالمتوقفة نهائيًا (I7b36c) - إزالة واجهة برمجة التطبيقات الخاصة بالحشو التي تم إيقافها نهائيًا (If1886)
- تمت إضافة
floatRangeإلى قيم الانحياز. تمت إزالة القيمة التلقائية للسمةLayoutDirection(I9d74e)
إصلاح الأخطاء
- تمت إضافة عيّنات تعليمات برمجية ومستندات KDoc لـ
SpatialColumnوSpatialRowوSpatialCurvedRow. (Iaf54f، b/495777633)
الإصدار 1.0.0-alpha12
25 مارس 2026
تم طرح androidx.xr.compose:compose:1.0.0-alpha12 وandroidx.xr.compose:compose-testing:1.0.0-alpha12. يتضمّن الإصدار 1.0.0-alpha12 هذه التعديلات.
التغييرات في واجهة برمجة التطبيقات
- أضِف واجهة برمجة التطبيقات
SpatialGltfModelوواجهات برمجة التطبيقاتSpatialGltfModelAnimationلعرض ملفات glTF والتحكّم في الصور المتحركة. تم تغييرSpatialGltfModelStateإلىAutoCloseable، ويجب الآن إغلاقه لإخلاء موارده. (I11fde، b/466065486، b/481379924). ومع ذلك، تم وضع علامة على واجهة برمجة التطبيقاتSpatialGltfModelعلى أنّها محظورة لهذا الإصدار في انتظار إجراء اختبارات إضافية. (Ibf003، b/466090694) - تمت إضافة تحميل زائد فارغ متوقّف نهائيًا لـ
SubspaceModifier.rotate. (Idceb6) - تمت إعادة تسمية الدالة
SpatialSmoothFeatheringEffectإلىspatialSmoothFeatheringEffectونقلها إلى وحدة رسم. تم تعديل قيمة التمويه التلقائية فيSpatialExternalSurfaceإلى "فارغة"، ما يحاكي وظيفة ZeroFeatheringEffect القديمة. (I5fdaa، b/460426800) - تمت إزالة جهة الاتصال "
onPointSourceParamsAvailable". ستتوفّر واجهة برمجة تطبيقات مختلفة للصوت المكاني في المستقبل القريب. (I86507، b/458513439) - تمت إضافة سلوك RTL لمعدِّلات المساحة الفرعية للإزاحة. تمت أيضًا إضافة
absoluteOffsetلتجاهل اتجاه التنسيق. (I30e4b، b/474409165)
الإصدار 1.0.0-alpha11
25 فبراير 2026
تم طرح androidx.xr.compose:compose:1.0.0-alpha11 وandroidx.xr.compose:compose-testing:1.0.0-alpha11. يتضمّن الإصدار 1.0.0-alpha11 هذه التعديلات.
الميزات الجديدة
- إضافة المَعلمة
SuperSamplingإلىSpatialExternalSurfaces (Icd4d1)
المشاكل المعروفة
- يمكن أن تؤدي مشكلة في
SurfaceEntityفي SceneCore إلى تعطُّل التطبيقات عند إنشاء نُسخ منSpatialExternalSurface. تم حلّ هذه المشكلة في الإصدارينandroidx.xr.scenecore:scenecore-*:1.0.0-alpha13وandroidx.xr.compose:compose:1.0.0-alpha12والإصدارات اللاحقة. يجب تحديث التطبيقات المتأثرة إلى أحدث الإصدارات.
التغييرات في واجهة برمجة التطبيقات
- تغييرات في حشو معدِّل Subspace لمراعاة اتجاه التنسيق (I53e25)
- تم إغلاق "
SpatialCapabilities" الآن ولا يمكن تمديدها. (I07aef) - تم إيقاف واجهتَي برمجة التطبيقات
SpatialRowوSpatialColumnاللتين تقبلان مَعلمةSpatialAlignmentعامة نهائيًا. بدلاً من ذلك، استخدِم واجهات برمجة التطبيقات التي تقبل إماverticalAlignmentأوhorizontalAlignmentلـSpatialRowوSpatialColumnعلى التوالي. (Iec390) - دمج واجهات برمجة التطبيقات الخاصة بدالة
SubspaceLayoutالتي تتيح التحميل الزائد (Idd30a) - تمت إعادة تسمية
SubspaceModifier.lookAtUserإلىrotateToLookAtUserوالمعلمةupإلىupDirection. (Icafb8) - جعل
SpatialRowدالة مضمّنة (Ia2f20) - جعل
SpatialColumnدالة مضمّنة (I681be) - تمت إزالة واجهة برمجة التطبيقات الخاصة باللوحة الإعلانية (Ib76cd)
الإصدار 1.0.0-alpha10
28 يناير 2026
تم طرح androidx.xr.compose:compose:1.0.0-alpha10 وandroidx.xr.compose:compose-testing:1.0.0-alpha10. يتضمّن الإصدار 1.0.0-alpha10 هذه التعديلات.
التغييرات في واجهة برمجة التطبيقات
- إزالة واجهة برمجة التطبيقات المتوقّفة نهائيًا -
ApplicationSubspace(Ia6596، b/468345186) - تم تعديل
SpatialShapeإلى واجهة مغلقة (I7e3f5، b/460426800) - إزالة واجهات برمجة التطبيقات المتوقفة نهائيًا في الإصدار
SpatialAlignment(Ib0b61، b/468011887) - سيتم إيقاف
SpatialLayoutSpacerنهائيًا وإطلاقSpatialSpacer. (I2ebf3، b/466071383) - تم تعديل واجهة برمجة التطبيقات
UserSubspaceلاستبدال مصطلح "القفل البطيء" بـ "القفل المؤقت". (I9ded1، b/464035984)
الإصدار 1.0.0-alpha09
3 ديسمبر 2025
تم طرح androidx.xr.compose:compose:1.0.0-alpha09 وandroidx.xr.compose:compose-testing:1.0.0-alpha09. يتضمّن الإصدار 1.0.0-alpha09 هذه التعديلات.
التغييرات في واجهة برمجة التطبيقات
- إضافة معدِّلات
LookAtUserوBillboard التي تتيح للمحتوى مواجهة المستخدم دائمًا (I49b99) - تضيف هذه السمة إمكانية ضبط
InteractionPolicyعلىSpatialExternalSurfacesوSpatialPanels، ما يسمح برصد النقرات وأحداث الإدخال الثلاثية الأبعاد الأخرى. (Iae155) - تمت إضافة الحجم وتحميل زائد للمعدِّل
requiredSizeمع العرض والارتفاع والعمق كقيم Dp. (I92f79) - تمتد واجهة
ParentLayoutParamsModifierالآن إلىDelegatableSubspaceNode. (I1a6d4) - تم إيقاف
ApplicationSubspaceنهائيًا لصالح واجهة برمجة التطبيقات Subspace API.- تم تغيير سلوك واجهة Subspace API لتوفير مساحة فرعية على مستوى التطبيق فقط بالوضعية والمقياس المقترحَين.
- تم تقديم واجهة برمجة التطبيقات
PlanarEmbeddedSubspaceلتوفير مساحات فرعية مضمّنة في سياقات ثنائية الأبعاد. (Id3343)
- تمت إضافة العلامة
shouldAutoInvalidateإلى واجهة برمجة التطبيقاتSubspaceModifier.Node. (I93902) - تمت إضافة
required(Size|Width|Depth|Height)في واجهات برمجة التطبيقات التي تسمح للمطوّرين بتقييد حجم@SubspaceComposableبنطاق معيّن، مع تجاهل قيود القياس الواردة من العنصر الرئيسي. (Ifaa78) - تمت إضافة
SubspaceModifier.onSizeChangedالذي يوفّر دالة رد اتصال بسيطة ومحدّدة للمطوّرين للتفاعل عند تغيُّر حجم@SubspaceComposable. (I994f9) - تمت إزالة واجهة برمجة التطبيقات Volume API. يجب استخدام واجهة برمجة التطبيقات
SceneCoreEntityبدلاً من واجهة برمجة التطبيقات Volume API. (I4162b) - تقسيم
SubspaceLayoutModifierNode.requestRelayoutإلىinvalidateMeasurement/invalidatePlacement(I14805) - تمت إضافة واجهة برمجة التطبيقات
SpatialGltfModelالتي تتيح للمطوّرين عرض ملفات glTF في Compose. (Icc91f) - تم تقديم واجهة برمجة التطبيقات
SpatialGltfModelالقابلة للإنشاء لعرض ملفات glTF بسهولة (Iade67)
إصلاح الأخطاء
- تم إصلاح خطأ في التنسيق في
SceneCoreEntity. من المفترض أن يلتزم الآن بالقيود المفروضة عليه. (I11bb8) - Lower jxr-compose modules to
Compile sdk = 34(I2d5db)
الإصدار 1.0.0-alpha08
22 أكتوبر 2025
تم طرح androidx.xr.compose:compose:1.0.0-alpha08 وandroidx.xr.compose:compose-testing:1.0.0-alpha08. يتضمّن الإصدار 1.0.0-alpha08 هذه التعديلات.
التغييرات في واجهة برمجة التطبيقات
- تم تغيير
ResizePolicyلقبولonResizeStartوonResizeUpdateوonResizeEnd. (I7e21f)
إصلاح الأخطاء
- تم منع حدوث عطل عند إغلاق نشاط يتضمّن مساحة فرعية. (I595a1)
الإصدار 1.0.0-alpha07
24 سبتمبر 2025
تم طرح androidx.xr.compose:compose:1.0.0-alpha07 وandroidx.xr.compose:compose-testing:1.0.0-alpha07. يتضمّن الإصدار 1.0.0-alpha07 هذه التعديلات.
التغييرات في واجهة برمجة التطبيقات
- تم تحسين KDocs لـ
SpatialMainPanel. (I27b70، b/444467891) - تم تقديم السمة
SpatialArrangementلترتيب العناصر الفرعية على طول المحور الرئيسي في التنسيقات الثلاثية الأبعاد، مثلSpatialRowوSpatialColumn. توفّر واجهة برمجة التطبيقات الجديدة هذه خيارات ترتيب مألوفة من 2D Compose، بما في ذلكStartوEndوCenterوSpaceBetweenوSpaceAroundوSpaceEvenly، مع دعم كامل لاتجاهات التنسيق من اليسار إلى اليمين ومن اليمين إلى اليسار. (I7db38، b/436289959) - تمت إضافة واجهة أساسية لـ
SubspaceModifier.Nodeلتحسين منع أخطاء الكتابة وسهولة استخدام واجهات الإضافات، مثلCompositionLocalConsumerSubspaceModifierNodeLayoutCoordinatesAwareModifierNodeSubspaceLayoutModifierNode-
CoreEntityNode(داخلي) (Iede00، b/440599394، b/440599394)
SpatialExternalSurface(I33315، b/439646773)- تمت إضافة
SubspaceModifierإلى الدوال المركّبة في Subspace واستبدال مَعلمة القيود بـSubspaceModifierمعSubspaceModifiersذات الصلة بالحجم. إذا كانت قيمةallowUnboundedSubspaceصحيحة، يمكن أن تظلّ المساحات الفرعية تتضمّن قيودًا غير محدودة. (Ib06e6، b/433331675) - إيقاف
SubspaceModifiersالقابلة للنقل وتغيير الحجم نهائيًا بعد أن أصبحتDragPolicy()وResizePolicy()جزءًا من واجهة برمجة التطبيقاتSpatialPanelوSpatialExternalSurface(I397bf، b/437924639) - تمت إضافة ميزة "
LayoutDirection" في التنسيقات المكانية. ستضع الدالة المركّبة التي تستخدمSpatialAlignmentالعناصر بشكل صحيح في سياقات اللغات التي تُكتب من اليسار إلى اليمين ومن اليمين إلى اليسار. (I964bb، b/436300273) - إضافة مَعلمتَي Resizable وMovable إلى واجهات برمجة التطبيقات
Panelلضمان تطبيق هذه السلوكيات على الحاويات المتوافقة فقط (Id491c) - تمت إضافة
sizeInوwidthInوheightInوdepthInSubspaceModifiersالتي تتيح لك ضبط الحد الأدنى والأقصى الدقيق للعرض والارتفاع والعمق. (I1af09، b/433330761)
الإصدار 1.0.0-alpha06
13 أغسطس 2025
تم طرح androidx.xr.compose:compose:1.0.0-alpha06 وandroidx.xr.compose:compose-testing:1.0.0-alpha06. يتضمّن الإصدار 1.0.0-alpha06 هذه التعديلات.
إصلاح الأخطاء
- إعادة إنشاء
ComposeXrOwnerLocalsعند تدمير مالك مراحل النشاط (9123ce1)
الإصدار 1.0.0-alpha05
30 يوليو 2025
تم طرح androidx.xr.compose:compose:1.0.0-alpha05 وandroidx.xr.compose:compose-testing:1.0.0-alpha05. يتضمّن الإصدار 1.0.0-alpha05 هذه التعديلات.
الميزات الجديدة
- تم تغيير فئة التعليقات التوضيحية "
SubspaceComposable" لتصبح متاحة للجميع. (Ic2a34، b/399432430) - دالتان مركّبتان جديدتان في
SpatialExternalSurfaceتمثّلان كرتَين بزاوية 180 و360 درجة (I40ef2، b/391705799) - تمت إضافة
SubspaceModifier.aspectRatio(Ide5ab، b/399729509، b/414762147) - تمت إضافة واجهة برمجة التطبيقات
SceneCoreEntityلتحسين إمكانية التشغيل التفاعلي بينSceneCoreوCompose for XR. (I50bb3، b/423020989) - تم توفير واجهة برمجة التطبيقات
GravityAlignedsubspaceلإتاحة ميزة "GravityAligned" غير المُعدَّلة (I07359)
التغييرات في واجهة برمجة التطبيقات
- سيتبع "
SpatialDialog()" إعدادات الضغط على "SpatialDialogProperties.dismissOnBack". (Ib453b، b/416797132) - يجب تعديل السمة "
minimumPanelDimension" إلى حجم تلقائي جديد يبلغDimensions(0.1f, 0.1f, 0.1f)لأنّها تمثّل الأبعاد بالأمتار. (Ib852a) - ستحتفظ الآن المساحات الفرعية وOrbiters بحالتها الداخلية في المساحة الرئيسية وعندما يكون التطبيق في الخلفية. في وضع "مساحات منزلية"، سيواصل Subspace إعداد المشهد استعدادًا للتبديل إلى وضع "مساحات كاملة". (I40317، b/416037751)
- سيتم الآن الاحتفاظ بحالة "
SpatialDialogs" عندما يكون التطبيق في الخلفية. (I6aa56) - سيتم الآن تطبيق الحجم والموضع المقترحَين من النظام على "
ApplicationSubspace". (I4565f، b/418834194) - تمت إضافة رسالة خطأ أفضل وتشغيل الخطأ في وقت سابق عند استخدام
SubspaceComposableفي سياق غيرSubspaceComposable. (Iee2ae، b/416484684) - يتم تعديل
ExperimentalSubspaceVolumeApiمن "تحذير" إلى "خطأ" لأنّه غالبًا ما يتم تجاهل التحذيرات عند إساءة استخدام واجهات برمجة التطبيقات القابلة للإنشاء. (I427aa، b/424864286) - أصبحت المساحة الفرعية و"
ApplicationSubspace" مقيّدَين الآن من خلال "recommendedContentBoxInFullSpace". في السابق، كان ذلك مقيّدًا بمجال الرؤية في "SpatialUser". (I41015، b/423074142) - تم تعديل
SpatialElevationلاستخدام الحد الأدنى للحجم بدلاً من الحجم غير القابل للتغيير في البرنامج (I2dbe6، b/427785338) - تعديل طريقة عرض
SpatialAcitivityPanelلتعديلها عند تعديل متغيّر رئيسي (I0f64d، b/427999029) - يجب إزالة
VolumeConstraints.Unboundedوضبط قيم القيود التلقائية على القيمة المكافئة. (Ie24ec، b/407938414) -
SpatialFeatheringSizeلم يعُد متاحًا للجميع (I1c15b، b/399432430) - تمت إعادة تسمية XR
PlaceableإلىSubspacePlaceableلتمييزه عنPlaceableفي Compose. (I74874) - تتم إزالة إعدادات Orbiter وإضافة
shouldRenderInNonSpatialكمَعلمة جديدة. بالإضافة إلى ذلك، ستتم إزالة الفئةEdgeOffsetوإضافةorbiterOffsetTypeكمَعلمة جديدة لدمج دوالOrbiter(). بالإضافة إلى إعادة تسمية "OrbiterEdge" إلى "ContentEdge". (Iebf3d) - تمت إعادة تسمية
MeasurableإلىSubspaceMeasurableلتمييز النوع عن نوعMeasurableفي Compose. (I9726c) - تمّت إعادة تسمية
MeasureResultإلىSubspaceMeasureResult(I9f34d) - تمت إزالة واجهة برمجة التطبيقات
setSubspaceContentواستخدام واجهة برمجة التطبيقاتsetContentفي Compose مع الدالة المركّبةSubspace. (Ifff4c، b/421427391، b/421427391) - تمت إعادة تسمية "
MeasurePolicy" إلى "SubspaceMeasurePolicy". (I37a9b، b/422553904) - يجب تحويل
SubspaceSemanticsInfoإلى واجهة مغلقة لأنّه لن يكون بإمكاننا إضافة أعضاء بدون الإعدادات التلقائية. (I372f9، b/423704068) - تم تعديل مستندات
SpatialExternalSurface، وتمت إعادة تسميةContentSecurityLevelإلىSurfaceProtection(I3c460، b/420982808) - تم توفير دالة إنشائية مثقلة لمعدِّل قابل للنقل يسمح بالتثبيت. (Ic0c70)
- تمت إضافة المزيد من موفّري المواضع لـ "تلميحات الشاشة"، ما يتيح للمطوّرين الآن التحكّم في ما إذا كان سيتم وضع تلميح الشاشة أعلى نقطة الارتساء أو أسفلها أو على يسارها أو يمينها. إضافة واجهة برمجة تطبيقات تستخدم Shape لمؤشرات الإدراج، ما يتيح توفير المزيد من الأشكال المخصّصة (Ie513c، b/374766087، b/418854637)
- تمت إزالة "
CoreEntity" من دور "PublishedApi" (Ifee05)
إصلاح الأخطاء
- تم إصلاح المشكلة المتمثّلة في وميض "
SpatialDialog" عند عرضه. (Ife73c، b/401619909) - تم إصلاح المشكلة المتمثّلة في عدم تمكُّن "
SpatialDialog" من تعتيم "لوحة النشاط". (I8ca6c، b/367442109) - تم إصلاح مشكلة عدم عرض بعض المحتوى في مربّع حوار XR (I17cd5، b/418062437)
- تم إصلاح مشكلة إغلاق "
SpatialPopup" عند النقر داخل المحتوى. (If262c، b/417245722) - تم إصلاح المشكلة المتمثّلة في تعذُّر تغيير حجم SpatialPanel بشكل صحيح إلى الحجم الجديد عند ربط
resizable().movable(). (I02ee3، b/422264230) - تم إصلاح مشكلة تداخل
topBarمع القائمة فيSpatialComposeVideoPlayer(Id33bc، b/427168167) - تم إصلاح مشكلة عدم عرض نصف قطر الزاوية (I975fe، b/428261830)
الإصدار 1.0.0-alpha04
7 مايو 2025
تم طرح androidx.xr.compose:compose:1.0.0-alpha04 وandroidx.xr.compose:compose-testing:1.0.0-alpha04. يتضمّن الإصدار 1.0.0-alpha04 هذه التعديلات.
الميزات الجديدة
- تمّت إضافة واجهة
CompositionLocalConsumerSubspaceModifierNodeللسماح لأنواعSubspaceModifierالمخصّصة بالوصول إلى القيم المحلية للإنشاء. - تمت إضافة واجهة برمجة تطبيقات
SpatialPanelجديدة تتّبع أسلوب تنفيذAndroidViewفي Compose، وتم إيقاف واجهة برمجة التطبيقاتViewBased SpatialPanelالسابقة. - تمت إضافة عنصر مصاحب
VolumeConstraints.Unboundedيمثّل قيودًا غير محدودة. - تمت إضافة
SubspaceModifier.onPointSourceParamsللسماح بمصدر صوت مكاني. - تمت إضافة
ApplicationSubspaceعلني يوفّرVolumeConstraintsاختياريًا لتحديد منطقة ثلاثية الأبعاد يمكن للتطبيق عرض المحتوى المكاني فيها. في حال عدم تحديد أي قيود، سيتم تلقائيًا تقييد المساحة الفرعية بعرض وارتفاع مجال الرؤية الحالي فيSpatialUser. يمكن للمستخدمين تقديم قيود لاستخدامها في حال تعذّر تحديد مجال الرؤية. وإلا، يتم استخدام القيم التلقائية لعرض مجال الرؤية وارتفاعه. - تمت إضافة
SpatialExternalSurface، والتي يمكن استخدامها لعرض المحتوى المجسّم. يمكن تخصيصSpatialExternalSurfaceباستخدام المعدِّلات (باستثناء ألفا) وتأثير تمويه الحواف. - تمت إضافة معدِّل مساحة فرعية جديد
pointerHoverIconيسمح للمستخدمين بضبط رمز المؤشر المكاني.
التغييرات في واجهة برمجة التطبيقات
- تمت إزالة قيود
RequiresApi(34)على جميع حزم Jetpack XR. كان هذا القيد متكررًا لأنّ Jetpack XR لا يتوفّر حاليًا إلا على الأجهزة التي تعمل بالمستوى 34 من واجهة برمجة التطبيقات أو الإصدارات الأحدث. (Iae0f8) - تتطلّب المشاريع التي تم إصدارها باستخدام Kotlin 2.0 استخدام الإصدار 2.0.0 من KGP أو إصدار أحدث. (Idb6b5)
- ستعمل ميزة "الرجوع" الآن على اللوحات المكانية بدون أنشطة مضمّنة. لكي تعمل ميزة "التعامل مع زر الرجوع"، عليك تحديد
android:enableOnBackInvokedCallback="true"في ملف بيان Android. - ستعمل ميزة Backhandling الآن على مربّعات الحوار المكانية. لكي تعمل ميزة "التعامل مع زر الرجوع"، عليك تحديد
android:enableOnBackInvokedCallback="true"في ملف بيان Android. - يمكن الآن تغيير حجم
SpatialPanelالمستندة إلى Compose والمستندة إلى العرض استنادًا إلى محتواها. - يمكن للمطوّرين الآن ضبط قيم
SpatialElevationLevelالمخصّصة، ولا يقتصر ذلك على المستويات المحدّدة مسبقًا. - يمكن الآن تخصيص مستوى ارتفاع Orbiter من خلال المَعلمة
elevation. - يمكن الآن تحديد المساحة الفرعية تلقائيًا حسب عرض وارتفاع مجال الرؤية في
SpatialUser. إذا تعذّر تحديد مجال الرؤية، يتم استخدام القيم التلقائية لعرض مجال الرؤية وارتفاعه. - تمت إضافة عمليات الاستدعاء الجديدة
onMoveStartوonMoveEndإلى المُعدِّلMovable. يتم استدعاء دالتَي الاستدعاءonMoveStartوonMoveEndعندما يبدأ المستخدم في نقل دالة مركّبة في مساحة فرعية باستخدام المُعدِّل القابل للنقل وينهي ذلك. - تمّت إزالة المَعلمة
nameمن واجهات برمجة التطبيقات المكانية، مثلSpatialRowوSpatialPanel. لتصحيح أخطاء شجرات الإنشاء المكانية، استخدِمSubspaceModifier.testTagبدلاً من ذلك. - تمت إزالة تحميل زائد غير متوافق لـ
SpatialPopupيحتوي فقط علىspatialElevationLevelوcontent. يُرجى استخدام الواجهة التي تتيح استخدامonDimissRequest. - تمّت إزالة دالة الاستدعاء
onPoseChangeمن المبدّل Movable. يمكنك استخدامonMoveكبديل. - لن يتم تطبيق تأثيرات "
SubspaceModifiers" بعد الآن إذا تم فصلها أو إذا كانت قيد الفصل حاليًا. - تم تقسيم واجهة برمجة التطبيقات
SpatialRowالحالية إلىSpatialRowوSpatialCurvedRow. إذا كنت تستخدم في السابق المَعلمةcurveRadiusفيSpatialRow، استخدِم الآنSpatialCurvedRowبدلاً منها، فهي تقدّم السلوك نفسه. - لم يعُد
MainPanelوActivityPanelيتضمّنان أشرطة عناوين عند تشغيلهما على نسخة نظام حديثة مماثلة. - أصبح من الممكن الآن تجميع معدِّلات الشفافية والحجم، وسيتم ضرب قيمها للحصول على قيمة الشفافية أو الحجم النهائية المطبَّقة.
- تم تحسين دالة الاستدعاء
onPoseChangeمن المُعدِّل Movable لتنفيذ حركة وضعية أكثر سلاسة. - ستنفّذ الآن المعدِّلات القابلة للنقل وتغيير الحجم عمليات الاستدعاء على سلسلة التعليمات الرئيسية لضمان أنّ تغييرات الحالة ستؤدي إلى إعادة الإنشاء.
- تمت إضافة ميزة رصد الحالة إلى مرحلتَي التنسيق والقياس لضمان أنّ تغييرات الحالة في
SubspaceLayoutستؤدي إلى إعادة التنسيق. - تم تحسين تعديلات سلسلة المُعدِّلات لإعادة استخدام المُعدِّلات الحالية بشكل أفضل.
إصلاح الأخطاء
- تم إيقاف التعتيم عند عرض
SpatialDialog. (Ic4594) - سيتم الآن تجاهل طلبات إعادة التنسيق التي يتم إجراؤها أثناء فصل عُقد المُعدِّل.
- تمّت إزالة مراحل إعادة التنسيق التي يتم تفعيلها من خلال المبدّلَين Movable وResizable.
- تم إصلاح عطل في الدالة المركّبة
MainPanel()كان يحدث عند ضبط أي من البُعدَين على صفر، إما مباشرةً أو أثناء عملية حسابية للتنسيق، مثل عملية حسابية لـSpatialRow/SpatialColumn. سيتم الآن إخفاء اللوحة بدلاً من ذلك. يُرجى العِلم أنّ هذا الإصلاح يعالج تحديدًا الأعطال التي تحدث أثناء مرحلة التنسيق، وسيتم التعامل بشكل منفصل مع تغيير حجم اللوحة إلى الصفر من خلال تفاعل المستخدم. تفتقر اللوحة المخفية إلى إمكانيات واجهة المستخدم. - تم إصلاح المشكلة المتعلّقة بـ
maintainAspectRatioمن المُعدِّل القابل لتغيير الحجم. يُفترض أن يتم الحفاظ على نسبة العرض إلى الارتفاع الآن. - تم إصلاح مشكلة في المساحات الفرعية المتداخلة حيث يتم وضعها بشكل غير صحيح في إطار واحد.
- تم إصلاح مشكلة عدم تطبيق الزوايا المستديرة في بعض الأحيان عندما كان من المفترض تطبيقها.
- لن يظهر "
NestedSubspaces" بعد الآن في إطار واحد في الموقع الجغرافي غير الصحيح.
الإصدار 1.0.0-alpha03
26 فبراير 2025
تم إصدار androidx.xr.compose:compose:1.0.0-alpha03 وandroidx.xr.compose:compose-testing:1.0.0-alpha03 بدون أي تغييرات ملحوظة منذ آخر إصدار أوّلي. يتضمّن الإصدار 1.0.0-alpha03 هذه التعديلات.
الإصدار 1.0.0-alpha02
12 فبراير 2025
تم طرح androidx.xr.compose:compose:1.0.0-alpha02 وandroidx.xr.compose:compose-testing:1.0.0-alpha02. يتضمّن الإصدار 1.0.0-alpha02 هذه التعديلات.
الميزات الجديدة
- يمكن الآن للوحة النشاط حجب محتواها عند تفعيل مربّع حوار مكاني.
- أصبحت واجهة برمجة التطبيقات
Orbiterقابلة للاستخدام الآن في سياقاتSubspaceComposable، وستربط Orbiters بأقرب دالة مركّبة رئيسية مستندة إلىSubspaceLayout. - تم تقديم
LayoutCoordinatesAwareModifierNodeللسماح بالمعدِّلات المخصّصة المستندة إلى الموضع. - تمّت إضافة طرق مراحل النشاط الخاصة بالإرفاق/الفصل إلى
SubspaceModifier.Node. - تمت إضافة
scaleWithDistanceإلى المعدِّل القابل للنقل. عند تفعيل ميزة "scaleWithDistance"، سيتمدّد عنصر المساحة الفرعية الذي تم نقله أو يتقلّص. سيحافظ أيضًا على أي مقياس صريح كان لديه قبل الحركة.
التغييرات في واجهة برمجة التطبيقات
- تمّت إزالة
SessionCallbackProviderواستخدامSpatialCapabilitiesبدلاً منه.
التغييرات الأخرى
- تم خفض قيمة
minSDKإلى 24. تتطلّب جميع واجهات برمجة تطبيقات Jetpack XR المستوى 34 من واجهة برمجة التطبيقات في وقت التشغيل. - لم تعُد دوال الإنشاء
OrbiterEdgeOffset.innerوEdgeOffset.outerوEdgeOffset.overlapدوال@Composable، ما يسمح باستخدامها في سياقات غير مركّبة. - تعديل مستويات الارتفاع المكاني لتتطابق مع أحدث مواصفات تجربة المستخدم
- تنفيذ واجهة
SubspaceSemanticsInfoفيMeasurableLayout - تمت إعادة تسمية "
SubspaceModifierElement" إلى "SubspaceModifierNodeElement".
إصلاح الأخطاء
- إصلاحات لتحسين ثبات طلبات
SubspaceModifierمن المفترض أن يعمل "SubspaceModifier" بشكل أكثر موثوقية. من المفترض أن يكون من الممكن الآن استخدام معدّلات الإزاحة والتدوير وتغيير الحجم والتحريك وتغيير الحجم بأي ترتيب.
الإصدار 1.0.0-alpha01
12 ديسمبر 2024
تم طرح androidx.xr.compose:compose-*1.0.0-alpha01.
ميزات الإصدار الأولي
الإصدار الأوّلي من Jetpack Compose للمطوّرين في الواقع الممتد استخدِم مفاهيم Compose المألوفة، مثل الصفوف والأعمدة، لإنشاء تصاميم واجهة مستخدم مكانية في الواقع الممتد، سواء كنت تنقل تطبيقًا ثنائي الأبعاد حاليًا إلى الواقع الممتد أو تنشئ تطبيقًا جديدًا للواقع الممتد من الصفر. توفّر هذه المكتبة دوال مركّبة للمساحة الفرعية والمساحة المكانية، مثل اللوحات المكانية والمدارات، والتي تتيح لك وضع واجهة المستخدم الحالية المستندة إلى Compose أو Views ثنائية الأبعاد في تنسيق مكاني. ويقدّم هذا الإصدار الدالة المركّبة للمساحة الفرعية Volume، والتي تتيح لك وضع كيانات SceneCore، مثل النماذج الثلاثية الأبعاد، بالنسبة إلى واجهة المستخدم. مزيد من المعلومات في دليل المطوِّر:
Subspace: يمكن وضع هذه الدالة المركّبة في أي مكان ضمن التسلسل الهرمي لواجهة المستخدم في تطبيقك، ما يتيح لك الحفاظ على تنسيقات واجهة المستخدم الثنائية الأبعاد والمكانية بدون فقدان السياق بين الملفات. يسهّل ذلك مشاركة عناصر مثل بنية التطبيق الحالية بين الواقع الممتد وأشكال الأجهزة الأخرى بدون الحاجة إلى رفع الحالة من خلال شجرة واجهة المستخدم بأكملها أو إعادة تصميم تطبيقك.SpatialPanel: هي دالة مركّبة في المساحة الفرعية تتيح لك عرض محتوى التطبيق، مثل تشغيل الفيديو أو الصور الثابتة أو أي محتوى آخر في لوحة مكانية.
Orbiter: هو مكوّن واجهة مستخدم مكاني. وهي مصمَّمة ليتم إرفاقها بلوحة مكانية مقابلة، وتحتوي على عناصر تنقّل وإجراءات مستنِدة إلى السياق ذات صلة بتلك اللوحة المكانية. على سبيل المثال، إذا أنشأت لوحة مكانية لعرض محتوى فيديو، يمكنك إضافة عناصر التحكّم في تشغيل الفيديو داخل لوحة عائمة.
Volume: يمكنك وضع عناصر SceneCore، مثل النماذج الثلاثية الأبعاد، بالنسبة إلى واجهة المستخدم.
التنسيق المكاني: يمكنك إنشاء لوحات مكانية متعددة ووضعها ضمن تنسيق مكاني باستخدام
SpatialRowوSpatialColumnوSpatialBoxوSpatialLayoutSpacer. استخدِمSubspaceModifierلتخصيص التنسيق.مكوّنات واجهة المستخدم المكانية: يمكن إعادة استخدام هذه العناصر في واجهة المستخدم الثنائية الأبعاد، ولن تظهر سماتها المكانية إلا عند تفعيل الإمكانات المكانية.
SpatialDialog: سيتم دفع اللوحة قليلاً إلى الخلف في عمق المحور Z لعرض مربّع حوار مرتفع.-
SpatialPopUp: ستتراجع اللوحة قليلاً في عمق المحور Z لعرض نافذة منبثقة مرتفعة SpatialElevation: يمكن ضبطSpatialElevationLevelلإضافة ارتفاع.
SpatialCapabilities: يمكن أن تتغيّر الإمكانات المكانية عندما يتفاعل المستخدمون مع تطبيقك أو النظام، أو يمكن أن يغيّرها تطبيقك نفسه، على سبيل المثال، عند الانتقال إلى Home Space أو Full Space. لتجنُّب المشاكل، يحتاج تطبيقك إلى التحقّق من
LocalSpatialCapabilities.currentلتحديد واجهات برمجة التطبيقات المتوافقة مع البيئة الحالية.isSpatialUiEnabled: عناصر واجهة المستخدم المكانية (مثل SpatialPanel)isContent3dEnabled: العناصر الثلاثية الأبعادisAppEnvironmentEnabled: البيئةisPassthroughControlEnabled: ما إذا كان بإمكان التطبيق التحكّم في حالة العرض المباشر أم لاisSpatialAudioEnabled: الصوت المكاني
المشاكل المعروفة
- في الوقت الحالي، يجب استخدام الإصدار 30 من minSDK لاستخدام Jetpack Compose for XR. كحل بديل، يمكنك إضافة إدخال البيان التالي
<uses-sdk tools:overrideLibrary="androidx.xr.scenecore, androidx.xr.compose"/>لتتمكّن من إنشاء التطبيق وتشغيله باستخدام الإصدار 23 من minSDK. - تتطلّب تطبيقات Jetpack XR حاليًا طلب إذن
android.permission.SCENE_UNDERSTANDINGفي ملف AndroidManifest. - عندما يتم تشغيل تطبيق مباشرةً في "مساحة كاملة" باستخدام السمة
PROPERTY_XR_ACTIVITY_START_MODEفي ملف البيان، يتم فتح الأنشطة/التطبيقات في البداية في "مساحة الشاشة الرئيسية" قبل الانتقال إلى "مساحة كاملة". - قد تومض ملفات glTF في Volume Composables في البداية في الموقع الجغرافي غير الصحيح.
- سيؤدي استخدام SpatialDialog في لوحة تم نقلها بشكل كبير إلى دفع المحتوى في الاتجاه الخاطئ.