एक्सआर के लिए Jetpack Compose
| नया अपडेट | स्टेबल रिलीज़ | रिलीज़ कैंडिडेट | बीटा रिलीज़ | ऐल्फ़ा रिलीज़ |
|---|---|---|---|---|
| 23 सितंबर, 2026 | - | - | 1.0.0-beta01 | - |
डिपेंडेंसी का एलान करना
XR Compose पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़नी होगी. ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी पढ़ें.
अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle फ़ाइल में उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:
ग्रूवी
dependencies { implementation "androidx.xr.compose:compose:1.0.0-beta01" // Use to write unit tests testImplementation "androidx.xr.compose:compose-testing:1.0.0-beta01" }
Kotlin
dependencies { implementation("androidx.xr.compose:compose:1.0.0-beta01") // Use to write unit tests testImplementation("androidx.xr.compose:compose-testing:1.0.0-beta01") }
डिपेंडेंसी के बारे में ज़्यादा जानने के लिए, बिल्ड डिपेंडेंसी जोड़ना लेख पढ़ें.
सुझाव/राय दें या शिकायत करें
आपके सुझाव, शिकायत या राय से Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या आपके पास इस लाइब्रेरी को बेहतर बनाने के लिए सुझाव हैं, तो हमें बताएं. कृपया नई समस्या सबमिट करने से पहले, इस लाइब्रेरी में शामिल मौजूदा समस्याओं को देखें. स्टार बटन पर क्लिक करके, किसी मौजूदा समस्या के लिए वोट किया जा सकता है.
ज़्यादा जानकारी के लिए, Issue Tracker का दस्तावेज़ देखें.
संस्करण 1.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से nullability को हटाया गया और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से जुड़ी कई समस्याएं ठीक की गईं. अगर कंपोज़ेबल या चाइल्ड (जैसे कि ऑर्बिटर) के डिस्पोज़ल की प्रोसेस शुरू होने के दौरान कोई इनपुट इवेंट होता है, तो क्रैश हो जाता है. इस अपडेट में, उस समस्या को भी ठीक किया गया है जिसमें बच्चे को होवर इवेंट मिलते थे. (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वैल्यू क्लास को हटाएं. इसेScenecoreमेंvirtualPixelDensityसे बदल दिया गया है. (I690ee)SpatialGltfModelAPI अब एक्सपेरिमेंट के तौर पर उपलब्ध है. इसका इस्तेमाल करने के लिए, आपको ऑप्ट-इन करना होगा. (I4557e)systemको फिर से साइज़ बदलने लायक और शून्य हो सकने वाला बनाएं (Ib0093)- टेस्टिंग के लिए,
SubspaceSemanticsInfoमेंDensityको दिखाया गया. (I2e826) ResizePolicyडिफ़ॉल्ट विकल्प का नाम बदलकरsystemकर दिया गया है. साथ ही, बिना पैरामीटर वाला नयाDefaultविकल्प जोड़ा गया है (Ic8b16)FollowTargetको एक्सपेरिमेंट के तौर पर मार्क करें. पूराFollowingSubspaceAPI अब एक्सपेरिमेंट के तौर पर उपलब्ध है. (Id4ee3)GltfAnimationAPI हटाएं (Ic2894)- पैरामीटर वाले
MovePolicy.default()तरीके का नाम बदलकरMovePolicy.system()कर दिया गया है. स्टैंडर्ड डिफ़ॉल्ट मूवमेंट के तरीके को दिखाने के लिए,val MovePolicy.Defaultप्रॉपर्टी जोड़ी गई है. (Iedcc9) ExperimentalMoveAnchorPolicyके लिए ऑप्ट इन करने की ज़रूरी शर्तों कोPlaneSemanticऔरPlaneOrientationतक बढ़ाना (Ief927)VolumeConstraints.offset(Ib2f2f) सेresetMinsहटाया गया- अब इस्तेमाल में नहीं आने वाले
SceneCoreEntitySizeAdapterफ़ंक्शन को हटाया गया. (Ib6722) allowUnboundedSubspaceके साथ, अब सेवा में नहीं रहेSubspaceओवरलोड को हटाया गया. (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 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
ComponentOverrideAPI हटाएं (I820c4)GltfAnimationऔरSpatialGltfModelAnimationएपीआई को एक्सपेरिमेंटल के तौर पर मार्क किया गया है. कुछ प्रॉपर्टी को गेटर में बदल दिया गया है. (I8d689, b/524771027)- मीटर और पिक्सल के बीच कन्वर्ज़न को स्थिर करके, कुल डेनसिटी के व्यवहार को ठीक किया गया. Meter.kt को बंद कर दिया गया है. अब
Session.scene.virtualPixelDensityका इस्तेमाल विकल्प के तौर पर किया जा सकता है. (I122ff, b/430097855, b/474168798) - दो मॉडिफ़ायर (I7fb0f, b/496257436, b/519672992) के बजाय
ResizePolicyका इस्तेमाल करने के लिए, साइज़ बदलने वाले मॉडिफ़ायर को अपडेट करें SubspaceAssertions.ktमें, सभी सार्वजनिक फ़्लोटिंग-पॉइंट डाइमेंशन और पोज़िशन की समानता के दावे मेंDp = Dp(0.5f)पैरामीटर जोड़ा गया. डिफ़ॉल्ट टॉलरेंस बिहेवियर (0.5.dp) के बारे में पूरी जानकारी दी गई है. (I266cb, b/521491915)movePolicyपैरामीटर के साथ, मूव किए जा सकने वाले ओवरलोड को जोड़ा गया है. साथ ही,transformingMovableऔरmovableको बंद कर दिया गया है (Ic88c1, b/481781189)- स्टैंडर्ड लिस्ट आइटम और सेगमेंट किए गए लिस्ट आइटम के नए नॉन-इंटरैक्टिव वैरिएंट जोड़े गए हैं. ये वैरिएंट, Material Expressive की खास बातों के मुताबिक हैं. नॉन-एक्सप्रेसिव वर्शन अब काम नहीं करता है. (Ide4de, b/491994186)
- Subspace के लिए,
allowUnboundedSubspaceपैरामीटर का इस्तेमाल अब बंद कर दिया गया है और इसे छिपा दिया गया है. अब Subspace मॉडिफ़ायर परSubspaceModifier.requiredSizeIn(maxWidth=Dp.Infinity,maxHeight=Dp.Infinity,maxDepth=Dp.Infinity) का इस्तेमाल करके, अनबाउंडेड व्यवहार हासिल किया जाना चाहिए.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) के तौर पर अपडेट किया गयाSpatialGltfModelSource(I1f5a1, b/503047416) सेfromResourceके लिए बिना पाबंदी वाली विधिSubspaceSemanticsMatcherके सदस्य सार्वजनिक होते हैं:descriptionप्रॉपर्टी, कंपैनियन फ़ैक्ट्री के तरीके (expectValue,keyIsDefined,keyNotDefined), सदस्य फ़ंक्शन (matches,matchesAny), और ऑपरेटर (and,or,not). (I972a4, b/460427288)- चुने गए स्पेशल सिमैंटिक्स टाइप का इस्तेमाल करने के लिए,
SubspaceModifier.semantics,SubspaceModifier.testTag,SubspaceSemanticsInfo,SubspaceSemanticsModifierNodeको अपडेट किया गया. (I80dea, b/460427288) SpatialAlignmentमेंpositionका नाम बदलकरalignकर दिया गया है. साथ ही, अलग-अलग दिशा में ऑफ़सेट करने के तरीकों को हटाकर, एक हीalignएपीआई का इस्तेमाल किया गया है. (I9bdb2, b/479805937)SpatialConfigurationसे, स्पेस मोड के बंद किए गए एपीआई हटा दिए गए हैं. (I1ef5c, b/458712461)SubspaceSemanticsConfigurationको लॉन्च किया गया. यह किसी स्पैटियल नोड के लिए सिमैंटिक प्रॉपर्टी का कॉन्फ़िगरेशन है. यह क्लास, 3D सिमैंटिक के लिए क्वेरी के तरीकों को सुरक्षित तरीके से दिखाता है. साथ ही, बाहरी उपभोक्ताओं को 2D सिमैंटिक की बुनियादी क्षमताओं के बारे में जानकारी नहीं देता. (Id025e, b/460427288)SubspaceSemanticsPropertyReceiverको लॉन्च किया गया: यह एक खास रैपर है. यह 3D लेआउट कंटेनर की प्रॉपर्टी को मान्य फ़ील्ड (शुरुआत मेंtestTagऔरcontentDescription) तक सीमित करता है. (I5cf5c, b/460427288)
गड़बड़ियां ठीक की गईं
- सिमैंटिक मॉडिफ़ायर के
hasContentDescriptionको अपडेट किया गया है, ताकि यह डिफ़ॉल्ट रूप से सबस्ट्रिंग मैचिंग पर सेट हो. (I08214) - पाबंदी वाला
FollowBehavior.ExponentialDecay()जोड़ा गया है. यह इलास्टिक फ़िज़िक्स के हिसाब से, धीरे-धीरे फ़ॉलो करने की सुविधा देता है. (I7449c, b/485639909, b/500493335)
ज़्यादातर एपीआई पर इसका असर पड़ेगा. खास तौर पर, LocalSession CompositionLocal और LocalSession पर निर्भर सभी CompositionLocals (जैसे कि LocalSpatialConfiguration, LocalSpatialCapabilities वगैरह) अब Session के शुरू होने से पहले, null या इसके नॉन-एक्सआर वर्शन पर रीडायरेक्ट हो जाएंगे.
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.SpatialGltfModelAnimationमें स्पीड का नाम बदलकरplaybackSpeedकर दिया गया है. साथ ही, resume() तरीका जोड़ा गया है.SpatialGltfModelStatus.Loaded और Loading अब ऑब्जेक्ट हैं. (I523de)rotateToLookAtUserको एक्सपेरिमेंटल एपीआई के तौर पर मार्क किया गया है. (I86c16)- सुरक्षित वैरिएबल
targetCurrentPoseको लोकल वैरिएबलcurrentTargetPoseMeterमें ले जाया गया और उसका नाम बदल दिया गया. (Ia557c) SpatialPanelऔरSpatialExternalSurfaceके दस्तावेज़ों को अपडेट करें, ताकि यह जानकारी शामिल की जा सके कि ऑब्जेक्ट को लेआउट के साइज़ (I72104) में कहां रेंडर किया गया हैSpatialGltfModelStateमेंSpatialGltfModelलोडिंग लॉजिक को शामिल किया गया है. साथ ही, गड़बड़ी होने पर क्या होगा, इसके बारे में बताया गया है. (Ibe98b)SubspaceModifer.sizekdocs (I0f84f) मेंdepthके बारे में ज़्यादा जानकारी दी गई
वर्शन 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 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- सिस्टम की ओर से हैंडल की जाने वाली 3D मूवमेंट के लिए,
transformingMovableको पेश किया गया है. साथ ही, कस्टम मूवमेंट के लिएmovableके लिए एक नया ओवरलोड पेश किया गया है. (I50960) SpatialGltfModel.fromData()हटाया गया. (I4d083)- एक नया मॉडिफ़ायर नोड इंटरफ़ेस,
SubspaceMeasuredSizeAwareModifierNodeजोड़ा गया है. यह मेज़र पास के बादonRemeasuredकॉलबैक उपलब्ध कराता है.SubspaceLayoutAwareModifierNodeअब इस नए इंटरफ़ेस के साथ उपलब्ध है.onSizeChangedमॉडिफ़ायर को अपडेट करकेonRemeasuredका इस्तेमाल किया गया है. इससे यह पक्का होता है कि मेज़रमेंट के तुरंत बाद कॉलबैक ट्रिगर हो, न कि प्लेसमेंट के बाद. (Iafbae) InteractionPolicyकोInterface(I0ff30) में अपडेट किया गया- Compose
compileSdkको एपीआई 37 पर अपडेट किया गया. इसका मतलब है कि Compose का इस्तेमाल करने के लिए, AGP का कम से कम 9.2.0 वर्शन होना ज़रूरी है. (Id45cd) Sizekdocs अपडेट किए गए (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 में कुछ और बदलाव होने बाकी हैं. हमारा सुझाव है कि आप Orbiter के लिए, बंद होने की सूचनाओं को छिपाएं. साथ ही, आने वाले वर्शन में Orbiter से जुड़े बदलावों पर नज़र रखें.
- glTF को रेंडर करने के लिए
SceneCoreEntityका इस्तेमाल करने वाले लोगों को यह पक्का करना चाहिए कि वेGltfModel.createकॉल केparentपैरामीटर कोsession.scene.activitySpaceपास कर रहे हों, ताकि उनके glTF रेंडर हो सकें. SpatialGltfModelAPI जोड़ा गया है, ताकि डेवलपर अपने Compose For XR ऐप्लिकेशन में Gltf जोड़ सकें. डेवलपर, अपने Gltf मॉडल में मौजूद ऐनिमेशन और नोड के बारे में भी क्वेरी कर सकते हैं. (I8b542, b/495422586)- क्लास से इंटरफ़ेस में
SceneCoreEntitySizeAdapterबदलाव (I5a784, b/475292310) SurfaceProtectionका नाम बदलकरSpatialExternalSurfaceProtectionकर दिया गया.SpatialExternalSurfacekdocs (Ifad0a, b/485231082) अपडेट किए गएcurrentWindowAdaptiveInfoको बंद किया गया और इसका V2 वर्शन लॉन्च किया गया (I40ecf, b/424442112)resizableमॉडिफ़ायर अब सार्वजनिक तौर पर उपलब्ध है और ग्रुप पर लागू होता है. जैसे,SpatialRow. (I2bcf6, b/348483527, b/489753178, b/479530787)movableमॉडिफ़ायर अब सार्वजनिक तौर पर उपलब्ध है. फ़िलहाल, यह मॉडिफ़ायरSpatialPanelsऔरSpatialExternalSurfaceके लिए अच्छी तरह से काम करता है. हालांकि, हमारा मकसद यह है कि यह सभीSubspaceComposablesके लिए अच्छी तरह से काम करे. (I9a3cd, b/479530787, b/478935063, b/478935063)SpatialEnterTransitionऔरSpatialExitTransitionको@Immutableके तौर पर मार्क किया गया (If1710, b/487757837)SpatialGltfModelएपीआई को इस रिलीज़ के लिए, पाबंदी वाला एपीआई के तौर पर मार्क किया गया है. ऐसा तब तक रहेगा, जब तक इसकी टेस्टिंग पूरी नहीं हो जाती. (Ibf003, b/466090694)DeviceTrackingMode.LAST_KNOWNका नाम बदलकरSPATIAL_LAST_KNOWNकर दिया गया है. हालांकि, अब भी इसका इस्तेमाल किया जा सकता है. साथ ही, 3DoF ट्रैकिंग के लिएINERTIAL_LAST_KNOWNजोड़ा गया है. इसके अलावा,TRACKING_DEGRADEDकोTrackingStateमें जोड़ा गया है. (Ie661c, b/445466590)- अब काम न करने वाले
SpatialLayoutSpacer(I7b36c) को हटाया जा रहा है - पैडिंग एपीआई (If1886) को हटाया जा रहा है
- पूर्वाग्रह की वैल्यू में
floatRangeजोड़ा गया.LayoutDirection(I9d74e) एट्रिब्यूट की डिफ़ॉल्ट वैल्यू हटाई गई
गड़बड़ियां ठीक की गईं
SpatialColumn,SpatialRow, औरSpatialCurvedRowके लिए कोड सैंपल और KDoc दस्तावेज़ जोड़े गए. (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 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- glTF रेंडर करने और ऐनिमेशन कंट्रोल करने के लिए,
SpatialGltfModelएपीआई औरSpatialGltfModelAnimationएपीआई जोड़ें.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)- ऑफ़सेट सबस्पेस मॉडिफ़ायर के लिए, आरटीएल बिहेवियर जोड़ा गया. लेआउट की दिशा को अनदेखा करने के लिए,
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 में ये बदलाव शामिल हैं.
नई सुविधाएं
SpatialExternalSurfaces(Icd4d1) मेंSuperSamplingपैरामीटर जोड़ा गया
मौजूदा समस्याएं
- SceneCore में
SurfaceEntityसे जुड़ी समस्या की वजह से,SpatialExternalSurfaceके इंस्टेंस बनाते समय ऐप्लिकेशन क्रैश हो सकते हैं. इस समस्या कोandroidx.xr.scenecore:scenecore-*:1.0.0-alpha13,androidx.xr.compose:compose:1.0.0-alpha12, और इनके बाद के वर्शन में ठीक कर दिया गया है. जिन ऐप्लिकेशन पर असर पड़ा है उन्हें नए वर्शन पर अपडेट किया जाना चाहिए.
एपीआई में हुए बदलाव
- लेआउट की दिशा के बारे में जानकारी देने के लिए, सबस्पेस मॉडिफ़ायर की पैडिंग में बदलाव किए गए हैं. (I53e25)
SpatialCapabilitiesअब सील कर दिया गया है और इसे बढ़ाया नहीं जा सकता. (I07aef)SpatialRowऔरSpatialColumnएपीआई, अब काम नहीं करते. ये एपीआई, सामान्यSpatialAlignmentपैरामीटर स्वीकार करते थे. इसके बजाय, ऐसे एपीआई का इस्तेमाल करें जोSpatialRowऔरSpatialColumnके लिए, क्रमशःverticalAlignmentयाhorizontalAlignmentस्वीकार करते हैं. (Iec390)- ओवरलोडिंग
SubspaceLayoutफ़ंक्शन एपीआई (Idd30a) को कंबाइन करना SubspaceModifier.lookAtUserका नाम बदलकरrotateToLookAtUserऔरupपैरामीटर का नाम बदलकरupDirectionकर दिया गया है. (Icafb8)SpatialRowको इनलाइन फ़ंक्शन (Ia2f20) बनानाSpatialColumnको इनलाइन फ़ंक्शन बनाना (I681be)- बिलबोर्ड API (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
03 दिसंबर, 2025
androidx.xr.compose:compose:1.0.0-alpha09 और androidx.xr.compose:compose-testing:1.0.0-alpha09 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha09 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
LookAtUserऔर बिलबोर्ड मॉडिफ़ायर जोड़ना. इससे कॉन्टेंट हमेशा उपयोगकर्ता की ओर दिखेगा. (I49b99)- इस सुविधा से,
SpatialExternalSurfacesऔरSpatialPanelsके लिएInteractionPolicyसेट किया जा सकता है. इससे क्लिक और अन्य 3D इनपुट इवेंट का पता लगाया जा सकता है. (Iae155) - चौड़ाई, ऊंचाई, और गहराई को डीपी वैल्यू के तौर पर इस्तेमाल करके, साइज़ और
requiredSizeमॉडिफ़ायर ओवरलोड जोड़ा गया. (I92f79) ParentLayoutParamsModifierइंटरफ़ेस अबDelegatableSubspaceNodeतक बढ़ गया है. (I1a6d4)- Subspace API के पक्ष में
ApplicationSubspaceको बंद कर दिया गया है.- Subspace API के व्यवहार में बदलाव किया गया है, ताकि सुझाए गए पोज़ और स्केल पर सिर्फ़ ऐप्लिकेशन-वाइड सबस्पेस उपलब्ध कराया जा सके.
PlanarEmbeddedSubspaceएपीआई को 2D कॉन्टेक्स्ट में एम्बेड किए गए सबस्पेस उपलब्ध कराने के लिए लॉन्च किया गया है. (Id3343)
SubspaceModifier.Nodeएपीआई मेंshouldAutoInvalidateफ़्लैग जोड़ा गया. (I93902)required(Size|Width|Depth|Height)को ऐसे एपीआई में जोड़ा गया है जो डेवलपर को@SubspaceComposableके साइज़ को किसी खास रेंज तक सीमित करने की अनुमति देते हैं. इससे पैरंट के इनकमिंग मेज़रमेंट की सीमाओं को अनदेखा किया जा सकता है. (Ifaa78)SubspaceModifier.onSizeChangedजोड़ा गया है. यह डेवलपर को एक आसान और फ़ोकस किया गया कॉलबैक उपलब्ध कराता है, ताकि@SubspaceComposableका साइज़ बदलने पर वे कार्रवाई कर सकें. (I994f9)- वॉल्यूम एपीआई को हटा दिया गया है. वॉल्यूम एपीआई के बजाय,
SceneCoreEntityएपीआई का इस्तेमाल किया जाना चाहिए. (I4162b) SubspaceLayoutModifierNode.requestRelayoutकोinvalidateMeasurement/invalidatePlacementमें बांटें. (I14805)SpatialGltfModelएपीआई जोड़ा गया है. इसकी मदद से डेवलपर, कंपोज़ में glTF रेंडर कर सकते हैं. (Icc91f)- glTF को आसानी से रेंडर करने के लिए,
SpatialGltfModelकंपोज़ेबल एपीआई लॉन्च किया गया (Iade67)
गड़बड़ियां ठीक की गईं
SceneCoreEntityमें लेआउट से जुड़ी गड़बड़ी को ठीक किया गया है. अब यह अपनी सीमाओं का सही तरीके से पालन करेगा. (I11bb8)- jxr-compose मॉड्यूल को
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)
गड़बड़ियां ठीक की गईं
- Subspace का इस्तेमाल करके किसी ऐक्टिविटी को बंद करने पर, ऐप्लिकेशन के क्रैश होने की समस्या को ठीक किया गया है. (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 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
SpatialMainPanelके लिए बेहतर KDocs. (I27b70, b/444467891)SpatialArrangementको इसलिए पेश किया गया है, ताकिSpatialRowऔरSpatialColumnजैसे 3D लेआउट में बच्चों को मुख्य ऐक्सिस के साथ व्यवस्थित किया जा सके. इस नए एपीआई में, 2D Compose की तरह ही लेआउट के विकल्प मिलते हैं. जैसे,Start,End,Center,SpaceBetween,SpaceAround, औरSpaceEvenly. साथ ही, इसमें बाएं से दाएं (एलटीआर) और दाएं से बाएं (आरटीएल) लेआउट, दोनों के लिए पूरी तरह से सहायता मिलती है. (I7db38, b/436289959)- एक्सटेंशन इंटरफ़ेस के टाइप की सुरक्षा और इस्तेमाल को बेहतर बनाने के लिए,
SubspaceModifier.Nodeके लिए एक बुनियादी इंटरफ़ेस जोड़ा गया है. जैसेCompositionLocalConsumerSubspaceModifierNodeLayoutCoordinatesAwareModifierNodeSubspaceLayoutModifierNodeCoreEntityNode(internal) (Iede00, b/440599394, b/440599394)
- Unrestrict
SpatialExternalSurface(I33315, b/439646773) - Subspace कंपोज़ेबल में
SubspaceModifierको शामिल किया गया है. साथ ही, साइज़ से जुड़ेSubspaceModifiersके साथ, कंस्ट्रेंट पैरामीटर कोSubspaceModifierसे बदल दिया गया है. अगरallowUnboundedSubspaceकी वैल्यू 'सही है' पर सेट है, तो भी सबस्पेस में असीमित कंस्ट्रेंट हो सकते हैं. (Ib06e6, b/433331675) DragPolicy()औरResizePolicy()अबSpatialPanelऔरSpatialExternalSurfaceएपीआई (I397bf, b/437924639) का हिस्सा हैं. इसलिए, अब मूव किए जा सकने वाले और साइज़ बदलने की सुविधा वालेSubspaceModifiersको बंद किया जा रहा है- स्पेशल लेआउट में
LayoutDirectionके लिए सहायता जोड़ी गई.SpatialAlignmentका इस्तेमाल करके कंपोज़ किए जा सकने वाले कॉम्पोनेंट, अब एलटीआर और आरटीएल, दोनों कॉन्टेक्स्ट में एलिमेंट को सही जगह पर रखेंगे. (I964bb, b/436300273) 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)SceneCoreऔर Compose for XR के बीच इंटरऑपरेबिलिटी को बेहतर बनाने के लिए,SceneCoreEntityएपीआई जोड़ा गया. (I50bb3, b/423020989)- बिना स्केल किए गए और
GravityAlignedसुविधा (I07359) के लिए,GravityAlignedsubspaceएपीआई उपलब्ध कराया गया
एपीआई में हुए बदलाव
SpatialDialog(),SpatialDialogProperties.dismissOnBackदबाने के कॉन्फ़िगरेशन के हिसाब से काम करेगा. (Ib453b, b/416797132)- मीटर में दिखाए जाने की वजह से,
minimumPanelDimensionकोDimensions(0.1f, 0.1f, 0.1f)के नए डिफ़ॉल्ट डाइमेंशन साइज़ में अपडेट करें. (Ib852a) - अब सबस्पेस और ऑर्बिटर, होम स्पेस में अपनी इंटरनल स्टेट को बनाए रखेंगे. साथ ही, जब ऐप्लिकेशन बैकग्राउंड में होगा, तब भी ऐसा होगा. होम स्पेस मोड में, 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) - I2dbe6, b/427785338 में हार्ड कोड किए गए साइज़ का इस्तेमाल बंद करने के लिए,
SpatialElevationको अपडेट करें, ताकि कम से कम साइज़ का इस्तेमाल किया जा सके SpatialAcitivityPanelको अपडेट करने के लिए, हम कैसे स्क्रिम करते हैं, ताकि मुख्य वैरिएबल में बदलाव होने पर उसे अपडेट किया जा सके. (I0f64d, b/427999029)- डिफ़ॉल्ट कंस्ट्रेंट वैल्यू को बराबर पर सेट करने के लिए,
VolumeConstraints.Unboundedहटाएं. (Ie24ec, b/407938414) SpatialFeatheringSizeअब सार्वजनिक नहीं है (I1c15b, b/399432430)- XR
Placeableका नाम बदलकरSubspacePlaceableकर दिया गया है, ताकि इसे Compose केPlaceableसे अलग किया जा सके. (I74874) - Orbiter की सेटिंग हटा दी गई हैं और
shouldRenderInNonSpatialको नए पैरामीटर के तौर पर जोड़ा गया है. इसके अलावा, क्लासEdgeOffsetको हटा दिया गया है औरorbiterOffsetTypeको एक नए पैरामीटर के तौर पर जोड़ा गया है, ताकिOrbiter()फ़ंक्शन को एक साथ इस्तेमाल किया जा सके. साथ ही,OrbiterEdgeका नाम बदलकरContentEdgeकर दिया गया है. (Iebf3d) - टाइप को Compose के
Measurableटाइप से अलग करने के लिए,Measurableका नाम बदलकरSubspaceMeasurableकर दिया गया है. (I9726c) MeasureResultका नाम बदलकरSubspaceMeasureResultकिया गया (I9f34d)Subspaceकंपोज़ेबल के साथ Compose केsetContentका इस्तेमाल करने के लिए,setSubspaceContentएपीआई को हटा दिया गया है. (Ifff4c, b/421427391, b/421427391)MeasurePolicyका नाम बदलकरSubspaceMeasurePolicyकर दिया गया है. (I37a9b, b/422553904)SubspaceSemanticsInfoको सील किए गए इंटरफ़ेस में बदलें, क्योंकि डिफ़ॉल्ट सेटिंग के बिना सदस्यों को नहीं जोड़ा जा सकेगा. (I372f9, b/423704068)SpatialExternalSurfaceके दस्तावेज़ अपडेट किए गए. साथ ही,ContentSecurityLevelका नाम बदलकरSurfaceProtectionकर दिया गया (I3c460, b/420982808)- मूवेबल मॉडिफ़ायर के लिए ओवरलोड किया गया कंस्ट्रक्टर उपलब्ध कराया गया है, जिससे ऐंकरिंग की जा सकती है. (Ic0c70)
- टूलटिप के लिए ज़्यादा पोज़िशन प्रोवाइडर जोड़े गए हैं. इससे अब डेवलपर यह कंट्रोल कर सकते हैं कि टूलटिप को ऐंकर के ऊपर, नीचे, बाईं ओर या दाईं ओर रखा जाए. केरेट के लिए शेप लेने वाला एपीआई जोड़ें, ताकि ज़्यादा कस्टम शेप दिए जा सकें. (Ie513c, b/374766087, b/418854637)
CoreEntityकोPublishedApi(Ifee05) के तौर पर हटाया गया
गड़बड़ियां ठीक की गईं
- उस समस्या को ठीक किया गया है जिसमें रेंडर करते समय
SpatialDialogफ़्लैश होता था. (Ife73c, b/401619909) - इस अपडेट में, उस समस्या को ठीक किया गया है जिसकी वजह से
SpatialDialog, गतिविधि पैनल को धुंधला नहीं कर पा रहा था. (I8ca6c, b/367442109) - XR डायलॉग में कुछ कॉन्टेंट न दिखने की समस्या ठीक की गई (I17cd5, b/418062437)
- उस समस्या को ठीक कर दिया गया है जिसकी वजह से कॉन्टेंट पर क्लिक करने पर
SpatialPopupबंद हो जाता था. (If262c, b/417245722) - उस समस्या को ठीक कर दिया गया है जिसमें
resizable().movable()को चेन करने पर, SpatialPanel का साइज़ नए साइज़ के हिसाब से सही तरीके से नहीं बदलता था. (I02ee3, b/422264230) SpatialComposeVideoPlayerमें मेन्यू के साथ ओवरलैप हो रहेtopBarको ठीक किया गया (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को लागू करने के तरीके के मुताबिक काम करता है. साथ ही, पिछलेViewBased SpatialPanelको बंद कर देता है. - अनबाउंडेड कंस्ट्रेंट दिखाने वाला
VolumeConstraints.Unboundedकंपैनियन ऑब्जेक्ट जोड़ा गया. - स्पैशलाइज़्ड ऑडियो सोर्स की अनुमति देने के लिए,
SubspaceModifier.onPointSourceParamsजोड़ा गया. - एक सार्वजनिक
ApplicationSubspaceजोड़ा गया है. इसमेंVolumeConstraintsको वैकल्पिक तौर पर जोड़ा जा सकता है. इससे 3D एरिया तय किया जा सकता है, जहां ऐप्लिकेशन, स्पेशल कॉन्टेंट रेंडर कर सकता है. अगर कोई सीमा तय नहीं की जाती है, तो डिफ़ॉल्ट रूप से Subspace की चौड़ाई और ऊंचाई,SpatialUserके मौजूदा फ़ील्ड ऑफ़ व्यू के हिसाब से तय की जाएगी. अगर फ़ील्ड ऑफ़ व्यू (कैमरे से दिख रहा व्यू) का पता नहीं लगाया जा सकता, तो उपयोगकर्ता कुछ पाबंदियां लगा सकते हैं. ऐसा न होने पर, फ़ील्ड ऑफ़ व्यू की चौड़ाई और ऊंचाई की डिफ़ॉल्ट वैल्यू का इस्तेमाल किया जाता है. SpatialExternalSurfaceको जोड़ा गया है. इसका इस्तेमाल, स्टीरियोस्कोपिक कॉन्टेंट को रेंडर करने के लिए किया जा सकता है.SpatialExternalSurfaceको मॉडिफ़ायर (अल्फ़ा को छोड़कर) और एज फ़ेदरिंग इफ़ेक्ट के साथ पसंद के मुताबिक बनाया जा सकता है.- एक नया
pointerHoverIconसबस्पेस मॉडिफ़ायर जोड़ा गया है. इसकी मदद से, उपयोगकर्ता स्पैटियल पॉइंटर के लिए आइकॉन सेट कर सकते हैं.
एपीआई में हुए बदलाव
- Jetpack XR के सभी पैकेज पर लगी
RequiresApi(34)पाबंदी हटा दी गई है. यह पाबंदी ज़रूरी नहीं थी, क्योंकि Jetpack XR फ़िलहाल सिर्फ़ एपीआई लेवल 34 या उसके बाद के वर्शन वाले डिवाइसों पर उपलब्ध है. (Iae0f8) - Kotlin 2.0 के साथ रिलीज़ किए गए प्रोजेक्ट के लिए, KGP 2.0.0 या इसके बाद के वर्शन की ज़रूरत होती है. (Idb6b5)
- अब एंबेड की गई गतिविधियों के बिना, बैक हैंडलिंग की सुविधा स्पैटियल पैनल पर काम करेगी. बैक हैंडलिंग की सुविधा काम करे, इसके लिए आपको Android मेनिफ़ेस्ट में
android:enableOnBackInvokedCallback="true"तय करना होगा. - बैकहैंडलिंग की सुविधा, अब स्पेस से जुड़े डायलॉग पर काम करेगी. बैकहैंडलिंग की सुविधा काम करे, इसके लिए आपको Android मेनिफ़ेस्ट में
android:enableOnBackInvokedCallback="true"तय करना होगा. - कॉम्पोज़ और व्यू पर आधारित
SpatialPanelअब अपने कॉन्टेंट के हिसाब से साइज़ बदल सकते हैं. - डेवलपर अब अपनी पसंद के मुताबिक
SpatialElevationLevelवैल्यू सेट कर सकते हैं. वे पहले से तय किए गए लेवल तक ही सीमित नहीं हैं. - अब
elevationपैरामीटर का इस्तेमाल करके, ऑर्बिटर के एलिवेशन लेवल को पसंद के मुताबिक बनाया जा सकता है. - अब सबस्पेस को डिफ़ॉल्ट रूप से, चौड़ाई और ऊंचाई में
SpatialUserके फ़ील्ड ऑफ़ व्यू के हिसाब से तय किया जा सकता है. अगर फ़ील्ड ऑफ़ व्यू का पता नहीं लगाया जा सकता, तो फ़ील्ड ऑफ़ व्यू की चौड़ाई और ऊंचाई की डिफ़ॉल्ट वैल्यू का इस्तेमाल किया जाता है. Movableमॉडिफ़ायर में नए कॉलबैकonMoveStartऔरonMoveEndजोड़े गए.onMoveStartऔरonMoveEndकॉलबैक तब कॉल किए जाते हैं, जब उपयोगकर्ता, मूव किए जा सकने वाले मॉडिफ़ायर के साथ कंपोज़ किए जा सकने वाले सबस्पेस को मूव करना शुरू और बंद करता है.nameपैरामीटर कोSpatialRowऔरSpatialPanelजैसे स्पेशल एपीआई से हटा दिया गया है. स्पेशल कंपोज़ ट्री को डीबग करने के लिए,SubspaceModifier.testTagका इस्तेमाल करें.SpatialPopupके ऐसे ओवरलोड को हटाया गया है जिसमें सिर्फ़spatialElevationLevelऔरcontentशामिल हैं. कृपया ऐसा इंटरफ़ेस इस्तेमाल करें जिस परonDimissRequestकाम करता हो.- Movable मॉडिफ़ायर से
onPoseChangeकॉलबैक को हटा दिया गया है. इसके बजाय,onMoveका इस्तेमाल करें. - अगर
SubspaceModifiersको अलग कर दिया जाता है या अलग किया जा रहा है, तो उनके इफ़ेक्ट लागू नहीं होंगे. - मौजूदा
SpatialRowएपीआई कोSpatialRowऔरSpatialCurvedRowमें बांट दिया गया है. अगर आपने पहलेSpatialRowकेcurveRadiusपैरामीटर का इस्तेमाल किया था, तो अबSpatialCurvedRowका इस्तेमाल करें. यह पैरामीटर भी उसी तरह काम करता है. MainPanelऔरActivityPanelको हाल ही के सिस्टम इमेज पर चलाने पर, अब इनमें टाइटल बार नहीं दिखते.- ऐल्फ़ा और स्केल मॉडिफ़ायर को अब स्टैक किया जा सकता है. साथ ही, ये ऐल्फ़ा या स्केल की फ़ाइनल वैल्यू के लिए अपनी वैल्यू को गुणा करेंगे.
- मूवेबल मॉडिफ़ायर से मिलने वाले
onPoseChangeकॉलबैक को ऑप्टिमाइज़ किया गया है, ताकि पोज़ को आसानी से बदला जा सके. - अब मूव किए जा सकने वाले और साइज़ बदलने वाले मॉडिफ़ायर, मुख्य थ्रेड पर अपने कॉलबैक को पूरा करेंगे. इससे यह पक्का किया जा सकेगा कि स्थिति में बदलाव होने पर, दोबारा कंपोज़िशन ट्रिगर हो.
- लेआउट और मेज़रमेंट फ़ेज़ में स्टेट ऑब्ज़र्वेशन जोड़ा गया है, ताकि यह पक्का किया जा सके कि
SubspaceLayoutमें स्टेटस बदलने पर, लेआउट फिर से ट्रिगर हो जाएगा. - मॉडिफ़ायर चेन को ऑप्टिमाइज़ किया गया है, ताकि मौजूदा मॉडिफ़ायर का बेहतर तरीके से फिर से इस्तेमाल किया जा सके.
गड़बड़ियां ठीक की गईं
SpatialDialogदिखाए जाने पर, स्क्रिमिंग बंद कर दी गई. (Ic4594)- मॉडिफ़ायर नोड के अलग होने पर, लेआउट में बदलाव करने के अनुरोधों को अब अनदेखा कर दिया जाएगा.
- मूव किए जा सकने वाले और साइज़ बदलने वाले मॉडिफ़ायर की वजह से ट्रिगर होने वाले रीलआउट फ़ेज़ हटा दिए गए हैं.
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कॉन्टेक्स्ट में किया जा सकता है. साथ ही, यह ऑर्बिटर को उनके सबसे नज़दीकीSubspaceLayout-आधारित कंपोज़ेबल पैरंट से अटैच करेगा.- कस्टम पोज़िशनिंग पर आधारित मॉडिफ़ायर की अनुमति देने के लिए,
LayoutCoordinatesAwareModifierNodeको लॉन्च किया गया. SubspaceModifier.Nodeमें अटैच/डिटैच करने के लाइफ़साइकल के तरीके जोड़े गए.- मूवेबल मॉडिफ़ायर में
scaleWithDistanceजोड़ा गया.scaleWithDistanceचालू होने पर, सबस्पेस में ले जाए गए एलिमेंट का साइज़ बढ़ या घट जाएगा. साथ ही, यह उस स्केल को भी बनाए रखेगा जो पहले से मौजूद था.
एपीआई में हुए बदलाव
SessionCallbackProviderको हटाकरSpatialCapabilitiesको शामिल किया गया.
दूसरे बदलाव
minSDKको घटाकर 24 कर दिया गया. Jetpack XR के सभी एपीआई को रनटाइम के दौरान, एपीआई 34 की ज़रूरत होती है.OrbiterEdgeOffset.inner,EdgeOffset.outer, औरEdgeOffset.overlapकंस्ट्रक्टर अब@Composableतरीके नहीं हैं. इससे इन्हें कंपोज़ न किए जा सकने वाले कॉन्टेक्स्ट में इस्तेमाल किया जा सकता है.- स्पेशल एलिवेशन लेवल को अपडेट करें, ताकि वे यूज़र एक्सपीरियंस (यूएक्स) की नई खास बातों से मेल खाएं.
MeasurableLayoutमेंSubspaceSemanticsInfoइंटरफ़ेस लागू करें.SubspaceModifierElementका नाम बदलकरSubspaceModifierNodeElementकर दिया गया.
गड़बड़ियां ठीक की गईं
SubspaceModifierऑर्डर करने की सुविधा को बेहतर बनाया गया है.SubspaceModifierको ज़्यादा भरोसेमंद तरीके से काम करना चाहिए. अब ऑफ़सेट, रोटेट, स्केल, मूव किए जा सकने वाले, और साइज़ बदलने वाले मॉडिफ़ायर का इस्तेमाल किसी भी क्रम में किया जा सकता है.
वर्शन 1.0.0-alpha01
12 दिसंबर, 2024
androidx.xr.compose:compose-*1.0.0-alpha01 रिलीज़ हो गया है.
शुरुआती रिलीज़ की सुविधाएं
Jetpack Compose for XR की डेवलपर के लिए शुरुआती रिलीज़. एक्सआर में स्पैटियल यूज़र इंटरफ़ेस (यूआई) लेआउट बनाने के लिए, Compose के जाने-पहचाने कॉन्सेप्ट का इस्तेमाल करें. जैसे, लाइनें और कॉलम. इससे कोई फ़र्क़ नहीं पड़ता कि आपको किसी मौजूदा 2D ऐप्लिकेशन को एक्सआर में पोर्ट करना है या नया एक्सआर ऐप्लिकेशन बनाना है. यह लाइब्रेरी, सबस्पेस और स्पेशल कंपोज़ेबल उपलब्ध कराती है. जैसे, स्पेशल पैनल और ऑर्बिटर. इनकी मदद से, अपने मौजूदा 2D कंपोज़ या व्यू पर आधारित यूज़र इंटरफ़ेस को स्पेशल लेआउट में रखा जा सकता है. इसमें Volume सबस्पेस कंपोज़ेबल को पेश किया गया है. इसकी मदद से, SceneCore की इकाइयों को यूज़र इंटरफ़ेस (यूआई) के हिसाब से रखा जा सकता है. जैसे, 3D मॉडल. इस डेवलपर गाइड में ज़्यादा जानें:
Subspace: इस कंपोज़ेबल को आपके ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) के किसी भी हिस्से में रखा जा सकता है. इससे आपको फ़ाइलों के बीच कॉन्टेक्स्ट को बनाए रखते हुए, 2D और स्पेशल यूज़र इंटरफ़ेस (यूआई) के लिए लेआउट बनाए रखने में मदद मिलती है. इससे, XR और अन्य डिवाइसों के साइज़, डाइमेंशन या कॉन्फ़िगरेशन के बीच मौजूदा ऐप्लिकेशन आर्किटेक्चर जैसी चीज़ें शेयर करना आसान हो जाता है. इसके लिए, आपको अपने पूरे यूज़र इंटरफ़ेस (यूआई) ट्री में स्टेट को ऊपर ले जाने या अपने ऐप्लिकेशन को फिर से आर्किटेक्ट करने की ज़रूरत नहीं होती.SpatialPanel: यह एक स्पेस में व्यवस्थित किया जा सकने वाला कंपोज़ेबल है. इसकी मदद से, ऐप्लिकेशन का कॉन्टेंट दिखाया जा सकता है. उदाहरण के लिए, किसी SpatialPanel में वीडियो प्लेबैक, इमेज या कोई अन्य कॉन्टेंट दिखाया जा सकता है.
ऑर्बिटर: ऑर्बिटर, एक स्पेशल यूज़र इंटरफ़ेस (यूआई) कॉम्पोनेंट होता है. इसे किसी स्पैटियल पैनल से अटैच करने के लिए डिज़ाइन किया गया है. इसमें उस स्पैटियल पैनल से जुड़े नेविगेशन और कॉन्टेक्स्ट के हिसाब से ऐक्शन आइटम शामिल होते हैं. उदाहरण के लिए, अगर आपने वीडियो कॉन्टेंट दिखाने के लिए कोई स्पेशल पैनल बनाया है, तो ऑर्बिटर में वीडियो चलाने के कंट्रोल जोड़े जा सकते हैं.
वॉल्यूम: SceneCore की इकाइयों, जैसे कि 3D मॉडल को अपने यूज़र इंटरफ़ेस (यूआई) के हिसाब से रखें.
स्पेशल लेआउट:
SpatialRow,SpatialColumn,SpatialBox, औरSpatialLayoutSpacerका इस्तेमाल करके, एक से ज़्यादा स्पेशल पैनल बनाए जा सकते हैं. साथ ही, उन्हें स्पेशल लेआउट में रखा जा सकता है. अपने लेआउट को पसंद के मुताबिक बनाने के लिए,SubspaceModifiers का इस्तेमाल करें.स्पेशल यूज़र इंटरफ़ेस (यूआई) कॉम्पोनेंट: इन एलिमेंट का इस्तेमाल, 2D यूज़र इंटरफ़ेस (यूआई) में फिर से किया जा सकता है. इनके स्पेशल एट्रिब्यूट सिर्फ़ तब दिखेंगे, जब स्पेशल सुविधाएं चालू होंगी.
SpatialDialog: पैनल, z-डेप्थ में थोड़ा पीछे की ओर जाएगा, ताकि एलिवेटेड डायलॉग दिखाया जा सके.SpatialPopUp: पैनल को z-डेप्थ में थोड़ा पीछे की ओर ले जाया जाएगा, ताकि एलिवेटेड पॉप-अप दिखाया जा सकेSpatialElevation: ऊंचाई जोड़ने के लिए,SpatialElevationLevelको सेट किया जा सकता है.
SpatialCapabilities: उपयोगकर्ताओं के आपके ऐप्लिकेशन या सिस्टम के साथ इंटरैक्ट करने पर, SpatialCapabilities में बदलाव हो सकता है. इसके अलावा, आपका ऐप्लिकेशन भी इसमें बदलाव कर सकता है. उदाहरण के लिए, होम स्पेस या फ़ुल स्पेस में जाना. समस्याओं से बचने के लिए, आपके ऐप्लिकेशन को
LocalSpatialCapabilities.currentकी जांच करनी होगी, ताकि यह पता चल सके कि मौजूदा एनवायरमेंट में कौनसे एपीआई काम करते हैं.isSpatialUiEnabled: स्पेशल यूज़र इंटरफ़ेस (यूआई) एलिमेंट (जैसे, SpatialPanel)isContent3dEnabled: 3D ऑब्जेक्टisAppEnvironmentEnabled: एनवायरमेंटisPassthroughControlEnabled: ऐप्लिकेशन, पासथ्रू की स्थिति को कंट्रोल कर सकता है या नहींisSpatialAudioEnabled: स्पेशल ऑडियो
मौजूदा समस्याएं
- फ़िलहाल, एक्सआर के लिए Jetpack Compose का इस्तेमाल करने के लिए, minSDK 30 की ज़रूरत होती है. हालांकि, इस समस्या को हल करने के लिए, मेनिफ़ेस्ट में यह एंट्री
<uses-sdk tools:overrideLibrary="androidx.xr.scenecore, androidx.xr.compose"/>जोड़ी जा सकती है, ताकि कम से कम SDK वर्शन 23 के साथ ऐप्लिकेशन बनाया और चलाया जा सके. - फ़िलहाल, Jetpack XR ऐप्लिकेशन को AndroidManifest में
android.permission.SCENE_UNDERSTANDINGअनुमति का अनुरोध करना होगा. - जब कोई ऐप्लिकेशन, मेनिफ़ेस्ट में मौजूद
PROPERTY_XR_ACTIVITY_START_MODEप्रॉपर्टी का इस्तेमाल करके सीधे फ़ुल स्पेस में लॉन्च होता है, तो गतिविधियां/ऐप्लिकेशन शुरू में होम स्पेस में खुलते हैं. इसके बाद, उन्हें फ़ुल स्पेस में ले जाया जाता है. - वॉल्यूम कंपोज़ेबल में मौजूद glTF, गलत जगह पर फ़्लिकर हो सकते हैं.
- अगर किसी ऐसे पैनल में SpatialDialog का इस्तेमाल किया जाता है जिसे काफ़ी हद तक मूव किया गया है, तो कॉन्टेंट गलत दिशा में चला जाएगा.