XR-এর জন্য Jetpack Compose
| লেটেস্ট আপডেট | স্টেবল রিলিজ | রিলিজ ক্যান্ডিডেট | বিটা রিলিজ | আলফা রিলিজ |
|---|---|---|---|---|
| ২১ অক্টোবর, ২০২৬ | - | - | 1.0.0-beta02 | - |
ডিপেন্ডেন্সি ঘোষণা করা
XR কম্পোজে ডিপেন্ডেন্সি যোগ করতে, আপনার প্রোজেক্টে 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" }
কোটলিন
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.0-beta02
২১ অক্টোবর, ২০২৬
androidx.xr.compose:compose:1.0.0-beta02 ও androidx.xr.compose:compose-testing:1.0.0-beta02 রিলিজ করা হয়েছে। 1.0.0-beta02 ভার্সনে এইসব কমিট আছে।
API-তে পরিবর্তন
- লাইব্রেরি এখন Kotlin 2.2-কে টার্গেট করে এবং kotlinc 2.2-এর প্রয়োজন হয় (I82396, b/498369605)
FollowMode.soft()-এরhalfLifeMsপ্যারামিটারের নাম পরিবর্তন করেhalfLifeMillisকরা হয়েছে। (I39187)PitchLimits-কে@JvmInline value class-এ কনভার্ট করা হয়েছে অবজেক্ট অ্যালোকেশন বাদ দিতে দুটি ফ্লোটকে একটিLong-এ প্যাক করা হচ্ছে। (Id43c3)FollowMode.soft-এর জন্য নতুন প্যারামিটার যোগ করা হয়েছে:halfLifeMs,startDelayএবংstartThresholdsপ্যারামিটার।durationMsপ্যারামিটার সরিয়ে দেওয়া হয়েছে কারণsmoothStepঅ্যালগরিদম থেকেexponentialDecayঅ্যালগরিদমে ট্রানজিশন করার ফলে এটির আর প্রয়োজন নেই। (If0140)- বন্ধ হয়ে যাওয়া
SpatialActivityPanelওভারলোড সরিয়ে দিন। পরিবর্তেSpatialActivityPanel-এর ওভারলোড ব্যবহার করুন যাSpatialActivityPanelControllerগ্রহণ করে। (I5abc3) FullSpaceMode-এ একটি অ্যাক্টিভিটির মধ্যে 3D এবং 2D কম্পোজেবল কন্টেন্টের মধ্যে ট্রানজিশন চালু করুন। এই পরিবর্তনSpatialComposeFlags.isMainPanelResetOnSubspaceDisposeEnabled-এর মাধ্যমে গেট করা হয়েছে। (I4e237)- নিম্নলিখিত কন্টেন্টকে সাপোর্ট করার জন্য
FollowTargetপ্যারামিটার নিয়ে এক্সপেরিমেন্টালSubspaceওভারলোড এক্সপোজ করা হয়েছে। (Iec1a9) - শীঘ্রই বন্ধ করা হবে এমন মুভেবল মডিফায়ার সরান। পরিবর্তে নতুন মুভেবল মডিফায়ার ব্যবহার করুন যা প্যারামিটার হিসেবে নতুন
MovePolicyগ্রহণ করে। (Ib135d) DragPolicy-এর অবচিত ভার্সন সরিয়ে দিন। পরিবর্তেSubspaceModifier.movable()ব্যবহার করুন। (I108d4)- স্টেটফুল ভার্সনের জন্য ডেপ্রিকেট করা স্টেটলেস
SliderএবংRangeSliderওভারলোড।RangeSliderState-এactiveRangeStartএবংactiveRangeEnd-এর নাম পরিবর্তন করেstartValueএবংendValueকরা হয়েছে,DeprecationLevel.HIDDEN-এর সাথে পুরনো প্রোমোট না করা এবং পরীক্ষামূলক স্লাইডার API-এর ব্যবহার বন্ধ করা হয়েছে। (If8995)
ত্রুটি সমাধান
- অ্যাঙ্কর বা ব্যবহারকারীদের সাথে অ্যাটাচ করা সহ সব সাবস্পেস ধরনের জন্য সঠিক পোজ গণনা নিশ্চিত করতে
poseInActivitySpaceচালু করেRotateToLookAtUserঠিক করা হয়েছে।Ica367b - অরবিটার বড় প্যানেলের সাথে অ্যাটাচ করা থাকলে কনস্ট্রেইন্ট ক্র্যাশ সংক্রান্ত সমস্যার সমাধান করা (I8c4bf)
SubspaceLayoutNode-এ একটি সমস্যার সমাধান করা হয়েছে যেখানেremoveAll()-এর কারণে অপ্রয়োজনীয়ArrayListবরাদ্দ করা হচ্ছিল। এছাড়াও, ডেপথ ক্যালকুলেশন পারফর্ম্যান্স ঠিক করা হয়েছে। I34a10aandroidx.lifecycle:lifecycle-runtimeডিপেন্ডেন্সি 2.10.0-এ আপডেট করা হয়েছে। AGP ভার্সন 9.5.0-alpha04 বা তার পরবর্তী ভার্সনের সাথে বান্ডেল করা লাইফসাইকেল রানটাইম লিন্ট চেক চালানোর জন্য এই ভার্সনটি প্রয়োজন। (I99bfd, b/556807521)AudioOutputProvider-এর সাথে সম্পর্কিত kdocs উন্নত করুন যাতে হাইলাইট করা যায় যে এটি একাধিক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 ভার্সনে এইসব কমিট আছে।
API-তে পরিবর্তন
- পুরনো হয়ে যাওয়া
DragPolicyসরানো হয়েছে। পরিবর্তেSubspaceModifier.movable()ব্যবহার করুন। (I108d4) ResizePolicy-এর অবচিত ভার্সন এবংSpatialPanelওSpatialExternalSurface-এ এটির ব্যবহার সরিয়ে দেওয়া হয়েছে। পুরনো হয়ে যাওয়াSubspaceModifier.resizableফাংশন সরিয়ে দিন। পরিবর্তে নতুনResizePolicy-এর সাথে নতুনSubspaceModifier.resizableব্যবহার করুন। (I59e6b)isPitchUpdateEnabledপ্যারামিটার যোগ করা হয়েছে যাতে পিচ ট্র্যাকিং স্বাধীনভাবে চালু বা বন্ধ করা যায়। (Ie9e86)pitchLimits-এর নালেবিলিটি সরিয়ে দেওয়া হয়েছে এবংPitchLimits.UNCONSTRAINED-এর নাম পরিবর্তন করেPitchLimits.FullRangeকরা হয়েছে। (I0154f)ExposedDropdownMenuএখনExposedDropdownMenuBoxScope-এ মেম্বারের পরিবর্তে এক্সটেনশন ফাংশন হিসেবে কাজ করে। নতুন ইম্পোর্টের মাধ্যমে আপনাকে কোড আপডেট করতে হতে পারে। (Ie8a65)- পুরনো
SurfaceProtectionক্লাস সরানো হয়েছে। পরিবর্তেSpatialExternalSurfaceProtectionব্যবহার করুন। (Iab2c6) OrbiterPoseProviderব্যবহার করে এমন Orbiter ফাংশন বন্ধ করে দেওয়া হয়েছে এবং তার পরিবর্তেSpatialAlignmentব্যবহার করে এমন Orbiter ফাংশন ব্যবহার করা হচ্ছে। (I4d12b)- এম্বেড করা অ্যাক্টিভিটি লঞ্চ ও ম্যানেজ করতে
SpatialActivityPanel-এর এখনSpatialActivityPanelController(rememberSpatialActivityPanelControllerব্যবহার করে ইনস্ট্যান্টিয়েট করা) প্রয়োজন। (Id25c6) rotateToLookAtUserথেকেupDirectionপ্যারামিটার সরানো হয়েছে এবং রোটেশন কনস্ট্রেন্ট প্যারামিটার (isYawUpdateEnabledএবংpitchLimits) যোগ করা হয়েছে। (I1370a)
ত্রুটি সমাধান
InteractionPolicyসংক্রান্ত বিভিন্ন সমস্যার সমাধান করা হয়েছে। কম্পোজেবল বা চাইল্ড (যেমন, অরবিটার) ডিসপোজাল সিকোয়েন্স শুরু করার ঠিক পরেই ইনপুট ইভেন্ট ঘটলে ক্র্যাশ হয়। এছাড়াও, কোনও চাইল্ড হোভার ইভেন্ট পেলে যে সমস্যা হয় তা সমাধান করে। (Ifc477)- ছোট FOV ডিভাইসে ক্লিপিং আটকাতে
RotateToLookAtUserActivity-এ প্যানেলের সাইজ কমানো হয়েছে। (I8d672)
পরিচিত সমস্যা
- Compose XR প্যানেলে একটি সমস্যা আছে যেখানে একটি অ্যাক্টিভিটিতে অনেক প্যানেল তৈরি করলে প্যানেলগুলি ধ্বংস হয়ে যাওয়ার পরেও যা দেখা হচ্ছে তাতে কিছু সমস্যা হতে পারে।
Version 1.0.0-alpha17
১২ আগস্ট, ২০২৬
androidx.xr.compose:compose:1.0.0-alpha17 ও androidx.xr.compose:compose-testing:1.0.0-alpha17 রিলিজ করা হয়েছে। ভার্সন 1.0.0-alpha17-এ এইসব কমিট রয়েছে।
API-তে পরিবর্তন
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) PlaneSemanticএবংPlaneOrientation-এExperimentalMoveAnchorPolicyঅপ্ট-ইন করার প্রয়োজনীয়তা বাড়ান (Ief927)VolumeConstraints.offset(Ib2f2f) থেকেresetMinsসরানSceneCoreEntitySizeAdapterফাংশন সরিয়ে দেওয়া হয়েছে। (Ib6722)allowUnboundedSubspace-এর সাথে বন্ধ হয়ে যাওয়াSubspaceওভারলোড সরানো হয়েছে। (I8e97f)- Removed deprecated semantics modifier overload. (I4ac10)
ত্রুটি সমাধান
InteractionPolicyঅ্যাটাচ করা আছে এমনComposable-এর চাইল্ড ট্রিগার ইনপুট ইভেন্ট (Icdba6) সংক্রান্ত সমস্যার সমাধান করা হয়েছে
ভার্সন 1.0.0-alpha16
১৫ জুলাই, ২০২৬
androidx.xr.compose:compose:1.0.0-alpha16 ও androidx.xr.compose:compose-testing:1.0.0-alpha16 রিলিজ করা হয়েছে। ভার্সন 1.0.0-alpha16-এ এইসব কমিট রয়েছে।
API-তে পরিবর্তন
ComponentOverrideAPI (I820c4) সরিয়ে দিনGltfAnimationএবংSpatialGltfModelAnimationAPI-কে পরীক্ষামূলক হিসেবে চিহ্নিত করা হয়েছে। কিছু প্রপার্টি গেটারে পরিবর্তন করা হয়েছে। (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) বন্ধ করা হয়েছে- স্ট্যান্ডার্ড তালিকা আইটেম এবং সেগমেন্টেড তালিকা আইটেমের নতুন নন-ইন্টার্যাক্টিভ ভেরিয়েন্ট যোগ করা হয়েছে যা মেটেরিয়াল এক্সপ্রেসিভ স্পেসিফিকেশন মেনে চলে। নন-এক্সপ্রেসিভ ভার্সন বন্ধ করা হয়েছে। (Ide4de, b/491994186)
- Subspace-এর জন্য,
allowUnboundedSubspaceপ্যারামিটার এখন বন্ধ করা হয়েছে এবং লুকানো আছে। Unbounded behavior should now be achieved by usingSubspaceModifier.requiredSizeIn(maxWidth=Dp.Infinity,maxHeight=Dp.Infinity,maxDepth=Dp.Infinity) on the Subspace modifier.FollowingSubspaceথেকেallowUnboundedSubspaceপ্যারামিটার সরিয়ে দেওয়া হয়েছে। (Ia72ae, b/433624021) Session.create-কে সাসপেন্ড ফাংশনে কনভার্ট করা হয়েছে। (I5d27f)SubspaceModifier.spatializedAudioOutputযোগ করা হয়েছে যাExoPlayerবাSoundEffectPlayer-এর মাধ্যমে স্পেশিয়ালাইজিং অডিও প্লেব্যাক করার অনুমতি দেয় (I46697, b/489421980, b/497867019)- স্ট্যাটাস যাচাইকরণের জন্য
SpaceRequestResultরিটার্ন করতেComponentActivity.requestHomeSpace()এবংrequestFullSpace()আপডেট করা হয়েছে। (If1672) - Updated
AnchorEntityto be calledAnchorSpace(Ifa95e, b/513619219) SpatialGltfModelSourceথেকেfromResourceপদ্ধতি আনরেস্ট্রিক্ট করা হয়েছে (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) SpatialAlignment-এposition-এর নাম পরিবর্তন করেalignকরা হয়েছে এবং ইউনিফায়েডalignAPI-এর জন্য স্বতন্ত্র ডিরেকশনাল অফসেট পদ্ধতি সরিয়ে দেওয়া হয়েছে। (I9bdb2, b/479805937)SpatialConfigurationথেকে বন্ধ হয়ে যাওয়া স্পেস মোড API সরানো হয়েছে। (I1ef5c, b/458712461)SubspaceSemanticsConfigurationচালু করা হয়েছে। এটি স্পেশিয়াল নোডের জন্য সিম্যান্টিক প্রপার্টির কনফিগারেশন। এই ক্লাসটি বাহ্যিক গ্রাহকদের কাছে ফাউন্ডেশনাল 2D সিম্যান্টিক ক্ষমতা ফাঁস না করে 3D সিম্যান্টিক্সের জন্য কোয়েরি পদ্ধতিগুলি নিরাপদে প্রকাশ করে। (Id025e, b/460427288)SubspaceSemanticsPropertyReceiverচালু করা হয়েছে: একটি নির্দিষ্ট র্যাপার যা 3D লেআউট কন্টেনার প্রপার্টিকে সঠিক ফিল্ডে (প্রাথমিকভাবেtestTagএবংcontentDescription) সীমাবদ্ধ করে। (I5cf5c, b/460427288)
ত্রুটি সমাধান
- সেম্যান্টিক মডিফায়ারের
hasContentDescriptionআপডেট করে সাবস্ট্রিং ম্যাচিংয়ে ডিফল্ট করা হয়েছে। (I08214) - রেস্ট্রিকটেড
FollowBehavior.ExponentialDecay()যোগ করা হয়েছে যা ইলাস্টিক ফিজিক্স দ্বারা পরিচালিত একটি সফট ফলো আচরণ প্রদান করে। (I7449c, b/485639909, b/500493335)
বেশিরভাগ API এর দ্বারা প্রভাবিত হবে। নির্দিষ্টভাবে, LocalSession CompositionLocal এবং LocalSession-এর উপর নির্ভরশীল সব CompositionLocals (যেমন, LocalSpatialConfiguration, LocalSpatialCapabilities ইত্যাদি) এখন Session শুরু হওয়ার আগে null বা এর নন-XR ভার্সনে সমাধান করবে।
Session উপলভ্য হলে, সঠিক স্ট্যাটাস সহ রিকম্পোজিশন ট্রিগার করা হবে। (I0cfa4, b/514712835, b/514712835)
- সাসপেন্ড করা, বাতিল করা এবং কনকারেন্সি সংক্রান্ত আচরণের জন্য
ComponentActivity.requestHomeSpaceএবংComponentActivity.requestFullSpace-এর ডকুমেন্টেশন স্পষ্ট করা হয়েছে।CancellationExceptionপ্রোপাগেশন যাচাই করার জন্য টেস্ট আপডেট করা হয়েছে। (I22f75, b/493289528)
Version 1.0.0-alpha15
১৭ জুন, ২০২৬
androidx.xr.compose:compose:1.0.0-alpha15 ও androidx.xr.compose:compose-testing:1.0.0-alpha15 রিলিজ করা হয়েছে। ভার্সন 1.0.0-alpha15-এ এইসব কমিট রয়েছে।
API-তে পরিবর্তন
ResizePolicyএবং পুরনো রিসাইজ করা যায় এমন মডিফায়ার বাতিল করা হয়েছে, এটি একটি নতুনSubspaceModifier.resizableওভারলোড এবংSubspaceModifier.transformingResizableদিয়ে পরিবর্তন করা হয়েছে। (I9e4bc)- আপডেট করা
SpatialGltfModelAPI:SpatialGltfModelSource-এর মাধ্যমে রিসোর্স থেকে মডেল লোড করার জন্য সহায়তা যোগ করা হয়েছে।fromResource.SpatialGltfModelAnimation-এ স্পিডের নাম পরিবর্তন করেplaybackSpeedকরা হয়েছে এবং resume() পদ্ধতি যোগ করা হয়েছে।SpatialGltfModelStatus.Loaded এবং Loading এখন অবজেক্ট। (I523de) rotateToLookAtUser-কে পরীক্ষামূলক API হিসেবে চিহ্নিত করা হয়েছে। (I86c16)- সুরক্ষিত ভেরিয়েবল
targetCurrentPoseসরিয়ে এবং নাম পরিবর্তন করে লোকাল ভেরিয়েবলcurrentTargetPoseMeterকরা হয়েছে। (Ia557c) SpatialPanelএবংSpatialExternalSurfacekdocs আপডেট করুন যাতে অবজেক্টটি তার লেআউট সাইজের মধ্যে কোথায় রেন্ডার করা হয়েছে তা অন্তর্ভুক্ত করা যায় (I72104)SpatialGltfModelState-এর মধ্যেSpatialGltfModelলোডিং লজিক এনক্যাপসুলেট করা হয়েছে এবং ব্যর্থতার আচরণ স্পষ্ট করা হয়েছে। (Ibe98b)SubspaceModifer.sizekdocs-এdepthব্যাখ্যা করা হয়েছে (I0f84f)
Version 1.0.0-alpha14
১৯ মে, ২০২৬
androidx.xr.compose:compose:1.0.0-alpha14 ও androidx.xr.compose:compose-testing:1.0.0-alpha14 রিলিজ করা হয়েছে। ভার্সন 1.0.0-alpha14-এ এইসব কমিট রয়েছে।
API-তে পরিবর্তন
- ডিফল্ট সিস্টেম-হ্যান্ডেল করা 3D মুভমেন্টের জন্য
transformingMovableএবং কাস্টম মুভমেন্ট আচরণ হ্যান্ডেল করার জন্যmovable-এর জন্য একটি নতুন ওভারলোড চালু করা হয়েছে। (I50960) SpatialGltfModel.fromData()সরানো হয়েছে। (I4d083)- একটি নতুন মডিফায়ার নোড ইন্টারফেস,
SubspaceMeasuredSizeAwareModifierNodeযোগ করা হয়েছে, যা পরিমাপ পাস করার পরে একটিonRemeasuredকলব্যাক প্রদান করে।SubspaceLayoutAwareModifierNodeএখন এই নতুন ইন্টারফেসের মেয়াদ বাড়িয়েছে।onSizeChangedমডিফায়ার আপডেট করেonRemeasuredব্যবহার করা হয়েছে, যাতে প্লেসমেন্টের পরে নয়, পরিমাপের ঠিক পরেই কলব্যাক ট্রিগার করা হয়। (Iafbae) InteractionPolicy-কেInterface(I0ff30)-এ আপডেট করা হয়েছে- Compose
compileSdkথেকে API 37-এ আপডেট করা হয়েছে। এর অর্থ হল, Compose ব্যবহার করার সময় AGP-এর ন্যূনতম 9.2.0 ভার্সন প্রয়োজন। (Id45cd) Sizekdocs আপডেট করা হয়েছে (Iefa9a)
Version 1.0.0-alpha13
৬ মে, ২০২৬
androidx.xr.compose:compose:1.0.0-alpha13 ও androidx.xr.compose:compose-testing:1.0.0-alpha13 রিলিজ করা হয়েছে। ভার্সন 1.0.0-alpha13-এ এইসব কমিট আছে।
API-তে পরিবর্তন
- Orbiter API-তে অতিরিক্ত পরিবর্তন করা বাকি আছে, আমরা Orbiter-এর জন্য বন্ধ হয়ে যাওয়া সংক্রান্ত বিজ্ঞপ্তি বন্ধ করে দেওয়ার এবং আসন্ন রিলিজে Orbiter-এ হওয়া পরিবর্তনের উপর নজর রাখার সাজেশন দিই।
- যারা glTF রেন্ডার করার জন্য
SceneCoreEntityব্যবহার করছেন তাদের নিশ্চিত করতে হবে যে তারাsession.scene.activitySpace-কেparentপ্যারামিটারেGltfModel.createকলের মাধ্যমে পাস করছেন যাতে তাদের 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)- অতিরিক্ত টেস্টিং বাকি থাকার কারণে এই রিলিজের জন্য
SpatialGltfModelAPI-কে সীমাবদ্ধ হিসেবে চিহ্নিত করা হয়েছে। (Ibf003, b/466090694) DeviceTrackingMode.LAST_KNOWN-এর নাম পরিবর্তন করেSPATIAL_LAST_KNOWNকরা হয়েছে (একটি বাতিল করা ফলব্যাক সহ), 3DoF ট্র্যাকিংয়ের জন্যINERTIAL_LAST_KNOWNযোগ করা হয়েছে এবংTrackingState-এTRACKING_DEGRADEDযোগ করা হয়েছে। (Ie661c, b/445466590)- বন্ধ হয়ে যাওয়া
SpatialLayoutSpacer(I7b36c) সরানো হচ্ছে - বন্ধ হয়ে যাওয়া প্যাডিং API (If1886) সরানো হচ্ছে
- পক্ষপাতিত্বের ভ্যালুতে
floatRangeযোগ করা হয়েছে।LayoutDirection-এর জন্য ডিফল্ট ভ্যালু সরানো হয়েছে (I9d74e)
ত্রুটি সমাধান
SpatialColumn,SpatialRowওSpatialCurvedRow-এর জন্য কোড স্যাম্পেল ও KDoc ডকুমেন্টেশন যোগ করা হয়েছে। (Iaf54f, b/495777633)
ভার্সন 1.0.0-alpha12
২৫ মার্চ, ২০২৬
androidx.xr.compose:compose:1.0.0-alpha12 ও androidx.xr.compose:compose-testing:1.0.0-alpha12 রিলিজ করা হয়েছে। 1.0.0-alpha12 ভার্সনে এইসব কমিট আছে।
API-তে পরিবর্তন
- glTF রেন্ডার করতে এবং অ্যানিমেশন কন্ট্রোল করতে
SpatialGltfModelAPI এবংSpatialGltfModelAnimationAPI যোগ করুন।SpatialGltfModelStateপরিবর্তন করেAutoCloseableকরা হয়েছে, এর রিসোর্স খালি করার জন্য এখন এটি বন্ধ করতে হবে। (I11fde, b/466065486, b/481379924). তবে, অতিরিক্ত টেস্টিং বাকি থাকার কারণে এই রিলিজের জন্যSpatialGltfModelAPI-কে সীমাবদ্ধ হিসেবে চিহ্নিত করা হয়েছে। (Ibf003, b/466090694) SubspaceModifier.rotate-এর জন্য একটি বাতিল করা খালি ওভারলোড যোগ করা হয়েছে। (Idceb6)SpatialSmoothFeatheringEffectফাংশনের নাম পরিবর্তন করেspatialSmoothFeatheringEffectকরা হয়েছে এবং এটি ড্র মডিউলে সরানো হয়েছে।SpatialExternalSurface-এর ডিফল্ট ফেদারিং ভ্যালু আপডেট করে নাল করা হয়েছে, যা পুরনো ZeroFeatheringEffect কার্যকারিতাকে নকল করে। (I5fdaa, b/460426800)onPointSourceParamsAvailableসরানো হয়েছে। অদূর ভবিষ্যতে একটি ভিন্ন অডিও স্পেশিয়ালাইজেশন API উপলভ্য হবে। (I86507, b/458513439)- অফসেট সাবস্পেস মডিফায়ারের জন্য RTL আচরণ যোগ করা হয়েছে। এছাড়াও, লেআউট ডিরেকশন উপেক্ষা করতে
absoluteOffsetযোগ করা হয়েছে। (I30e4b, b/474409165)
Version 1.0.0-alpha11
২৫ ফেব্রুয়ারি, ২০২৬
androidx.xr.compose:compose:1.0.0-alpha11 ও androidx.xr.compose:compose-testing:1.0.0-alpha11 রিলিজ করা হয়েছে। 1.0.0-alpha11 ভার্সনে এইসব কমিট রয়েছে।
নতুন ফিচার
SpatialExternalSurfaces-এSuperSamplingপ্যারামিটার যোগ করা হচ্ছে (Icd4d1)
পরিচিত সমস্যা
- SceneCore-এ
SurfaceEntity-এর সাথে সম্পর্কিত কোনও সমস্যার কারণেSpatialExternalSurface-এর ইনস্ট্যান্স তৈরি করার সময় অ্যাপ ক্র্যাশ করতে পারে। এই সমস্যার সমাধানandroidx.xr.scenecore:scenecore-*:1.0.0-alpha13,androidx.xr.compose:compose:1.0.0-alpha12এবং এর পরবর্তী রিলিজে করা হয়েছে। প্রভাবিত অ্যাপগুলি লেটেস্ট ভার্সনে আপডেট করতে হবে।
API-তে পরিবর্তন
- লেআউট ডিরেকশন সম্পর্কে সচেতনতার জন্য সাবস্পেস মডিফায়ার প্যাডিং পরিবর্তন। (I53e25)
SpatialCapabilitiesএখন সিল করা হয়েছে এবং এর মেয়াদ বাড়ানো যাবে না। (I07aef)SpatialRowএবংSpatialColumnAPI যা জেনেরিকSpatialAlignmentপ্যারামিটার গ্রহণ করে তা বন্ধ করা হয়েছে; এর পরিবর্তে, API ব্যবহার করুন যা যথাক্রমেSpatialRowএবংSpatialColumn-এর জন্যverticalAlignmentবাhorizontalAlignmentগ্রহণ করে। (Iec390)- ওভারলোডিং
SubspaceLayoutফাংশন API (Idd30a) একত্রিত করা হচ্ছে SubspaceModifier.lookAtUser-এর নাম পরিবর্তন করেrotateToLookAtUserএবংupপ্যারামিটারের নাম পরিবর্তন করেupDirectionকরা হয়েছে। (Icafb8)SpatialRow-কে ইনলাইন ফাংশন করা (Ia2f20)SpatialColumn-কে ইনলাইন ফাংশন (I681be) হিসেবে তৈরি করা হচ্ছে- বিলবোর্ড API (Ib76cd) সরানো হয়েছে
Version 1.0.0-alpha10
২৮ জানুয়ারি, ২০২৬
androidx.xr.compose:compose:1.0.0-alpha10 ও androidx.xr.compose:compose-testing:1.0.0-alpha10 রিলিজ করা হয়েছে। ভার্সন 1.0.0-alpha10-এ এইসব কমিট রয়েছে।
API-তে পরিবর্তন
- বন্ধ হয়ে যাওয়া API সরানো হচ্ছে -
ApplicationSubspace(Ia6596, b/468345186) SpatialShape-কে সিল করা ইন্টারফেসে আপডেট করা হয়েছে (I7e3f5, b/460426800)SpatialAlignment-এ বন্ধ হয়ে যাওয়া API সরানো হচ্ছে। (Ib0b61, b/468011887)SpatialLayoutSpacerবন্ধ করেSpatialSpacerচালু করা হচ্ছে। (I2ebf3, b/466071383)- "লেজি লকিং" পরিভাষা "সফ্ট লকিং" দিয়ে পরিবর্তন করতে
UserSubspaceAPI আপডেট করা হয়েছে। (I9ded1, b/464035984)
ভার্সন 1.0.0-alpha09
৩ ডিসেম্বর, ২০২৫
androidx.xr.compose:compose:1.0.0-alpha09 ও androidx.xr.compose:compose-testing:1.0.0-alpha09 রিলিজ করা হয়েছে। ভার্সন 1.0.0-alpha09-এ এইসব কমিট রয়েছে।
API-তে পরিবর্তন
LookAtUserএবং বিলবোর্ড মডিফায়ার যোগ করা হচ্ছে যা কন্টেন্টকে সবসময় ব্যবহারকারীর দিকে মুখ করে থাকতে দেয়। (I49b99)InteractionPolicy-কেSpatialExternalSurfacesওSpatialPanels-এ সেট করার ক্ষমতা যোগ করে, যার ফলে ক্লিক ও অন্যান্য 3D ইনপুট ইভেন্ট শনাক্ত করা যায়। (Iae155)- Dp ভ্যালু হিসেবে প্রস্থ, উচ্চতা ও গভীরতার সাথে সাইজ ও
requiredSizeমডিফায়ার ওভারলোড যোগ করা হয়েছে। (I92f79) ParentLayoutParamsModifierইন্টারফেস এখনDelegatableSubspaceNodeএক্সটেন্ড করে। (I1a6d4)- Subspace API-এর জন্য
ApplicationSubspaceবন্ধ করা হয়েছে।- Subspace API-এর আচরণ পরিবর্তন করা হয়েছে যাতে এটি শুধুমাত্র সাজেস্ট করা পোজ ও স্কেলে অ্যাপ্লিকেশন-ব্যাপী সাবস্পেস প্রদান করে।
- 2D প্রসঙ্গে এম্বেড করা সাবস্পেস প্রদান করার জন্য
PlanarEmbeddedSubspaceAPI চালু করা হয়েছে। (Id3343)
SubspaceModifier.NodeAPI-তেshouldAutoInvalidateফ্ল্যাগ যোগ করা হয়েছে। (I93902)required(Size|Width|Depth|Height)যোগ করা হয়েছেAPI-তে যা ডেভেলপারদের প্যারেন্টের ইনকামিং পরিমাপের সীমাবদ্ধতা উপেক্ষা করে, একটি নির্দিষ্ট রেঞ্জে@SubspaceComposable-এর সাইজ সীমাবদ্ধ করার অনুমতি দেয়। (Ifaa78)SubspaceModifier.onSizeChangedযোগ করা হয়েছে যা@SubspaceComposable-এর সাইজ পরিবর্তন হলে ডেভেলপারদের প্রতিক্রিয়া জানানোর জন্য একটি সহজ, ফোকাসড কলব্যাক প্রদান করে। (I994f9)- ভলিউম API সরানো হয়েছে। ভলিউম API-এর পরিবর্তে
SceneCoreEntityAPI ব্যবহার করা উচিত। (I4162b) SubspaceLayoutModifierNode.requestRelayout-কেinvalidateMeasurement/invalidatePlacement-এ স্প্লিট করুন। (I14805)SpatialGltfModelAPI যোগ করা হয়েছে যা ডেভেলপারদের কম্পোজে glTF রেন্ডার করার অনুমতি দেয়। (Icc91f)- সহজে glTF রেন্ডার করার জন্য
SpatialGltfModelকম্পোজেবল API চালু করা হয়েছে (Iade67)
ত্রুটি সমাধান
SceneCoreEntity-এ লেআউট সংক্রান্ত সমস্যার সমাধান করা হয়েছে। এটি এখন সঠিকভাবে এর সীমাবদ্ধতা মেনে চলবে। (I11bb8)- jxr-compose মডিউল
Compile sdk = 34-এ নামিয়ে আনুন (I2d5db)
ভার্সন 1.0.0-alpha08
২২ অক্টোবর, ২০২৫
androidx.xr.compose:compose:1.0.0-alpha08 ও androidx.xr.compose:compose-testing:1.0.0-alpha08 রিলিজ করা হয়েছে। 1.0.0-alpha08 ভার্সনে এইসব কমিট আছে।
API-তে পরিবর্তন
ResizePolicyপরিবর্তন করেonResizeStart,onResizeUpdateওonResizeEndগ্রহণ করা হয়েছে। (I7e21f)
ত্রুটি সমাধান
- সাবস্পেস সহ কোনও অ্যাক্টিভিটি নষ্ট করার সময় ক্র্যাশ হওয়া আটকান। (I595a1)
Version 1.0.0-alpha07
২৪ সেপ্টেম্বর, ২০২৫
androidx.xr.compose:compose:1.0.0-alpha07 ও androidx.xr.compose:compose-testing:1.0.0-alpha07 রিলিজ করা হয়েছে। ভার্সন 1.0.0-alpha07-এ এইসব কমিট আছে।
API-তে পরিবর্তন
SpatialMainPanel-এর জন্য উন্নত KDocs। (I27b70, b/444467891)SpatialRowওSpatialColumn-এর মতো 3D লেআউটে প্রধান অক্ষ বরাবর চিলড্রেন সাজানোর জন্যSpatialArrangementচালু করা হয়েছে। এই নতুন API, 2D Compose থেকে পরিচিত অ্যারেঞ্জমেন্ট বিকল্প প্রদান করে, যার মধ্যেStart,End,Center,SpaceBetween,SpaceAroundএবংSpaceEvenlyঅন্তর্ভুক্ত এবং এটি LTR ও RTL লেআউট ডিরেকশন, দুটির জন্যই সম্পূর্ণ সহায়তা প্রদান করে। (I7db38, b/436289959)- টাইপ নিরাপত্তা ও এক্সটেনশন ইন্টারফেসের ব্যবহারযোগ্যতা উন্নত করতে
SubspaceModifier.Node-এর জন্য একটি বেস ইন্টারফেস যোগ করা হয়েছে; যেমনCompositionLocalConsumerSubspaceModifierNodeLayoutCoordinatesAwareModifierNodeSubspaceLayoutModifierNodeCoreEntityNode(ইন্টার্নাল) (Iede00, b/440599394, b/440599394)
SpatialExternalSurface-এর উপর থেকে বিধিনিষেধ তুলে নিন (I33315, b/439646773)- Subspace কম্পোজেবলে
SubspaceModifierযোগ করুন এবংSubspaceModifier-এর সাথে কনস্ট্রেন্ট প্যারামিটারকে সাইজ-সম্পর্কিতSubspaceModifiersদিয়ে পরিবর্তন করুন।allowUnboundedSubspaceসত্য হলে, সাবস্পেসে এখনও সীমাহীন সীমাবদ্ধতা থাকতে পারে। (Ib06e6, b/433331675) SubspaceModifiers-এর সরানো ও ছোট বড় করার সুবিধা বন্ধ করা হচ্ছে কারণDragPolicy()ওResizePolicy()এখনSpatialPanelওSpatialExternalSurfaceAPI-এর অংশ (I397bf, b/437924639)- স্পেশিয়াল লেআউটে
LayoutDirection-এর জন্য সহায়তা যোগ করা হয়েছে।SpatialAlignmentব্যবহার করে কম্পোজেবল এখন LTR এবং RTL উভয় কন্টেক্সটে এলিমেন্ট সঠিকভাবে পজিশন করবে। (I964bb, b/436300273) PanelAPI-তে রিসাইজ ও সরানো যায় এমন প্যারামিটার যোগ করুন যাতে এইসব আচরণ শুধু কাজ করে এমন কন্টেনারে প্রয়োগ করা যায়। (Id491c)sizeIn,widthIn,heightIn,depthInSubspaceModifiersযোগ করা হয়েছে যা আপনাকে প্রস্থ, উচ্চতা ও গভীরতার জন্য সঠিক ন্যূনতম ও সর্বাধিক সীমাবদ্ধতা সেট করতে দেয়। (I1af09, b/433330761)
Version 1.0.0-alpha06
১৩ আগস্ট, ২০২৫
androidx.xr.compose:compose:1.0.0-alpha06 ও androidx.xr.compose:compose-testing:1.0.0-alpha06 রিলিজ করা হয়েছে। 1.0.0-alpha06 ভার্সনে এইসব কমিট রয়েছে।
ত্রুটি সমাধান
- লাইফসাইকেল মালিক ধ্বংস হয়ে গেলে
ComposeXrOwnerLocalsআবার তৈরি করুন। (9123ce1)
Version 1.0.0-alpha05
৩০ জুলাই, ২০২৫
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কম্পোজেবল ১৮০ এবং ৩৬০ ডিগ্রি স্ফিয়ারকে উপস্থাপন করে। (I40ef2, b/391705799) SubspaceModifier.aspectRatioযোগ করা হয়েছে (Ide5ab, b/399729509, b/414762147)SceneCoreএবং Compose for XR-এর মধ্যে ইন্টারঅপারেবিলিটি উন্নত করতেSceneCoreEntityAPI যোগ করা হয়েছে। (I50bb3, b/423020989)- আনস্কেল করা এবং
GravityAlignedফিচার (I07359) কাজ করার জন্যGravityAlignedsubspaceAPI প্রদান করা হয়েছে
API-তে পরিবর্তন
SpatialDialog(),SpatialDialogProperties.dismissOnBackপ্রেস কনফিগারেশন অনুসরণ করবে। (Ib453b, b/416797132)minimumPanelDimension-কে মিটারে দেখানোর জন্যDimensions(0.1f, 0.1f, 0.1f)-এর নতুন ডিফল্ট ডাইমেনশন সাইজে আপডেট করুন। (Ib৮৫২a)- Subspaces এবং Orbiters এখন হোম স্পেসে এবং অ্যাপ ব্যাকগ্রাউন্ডে থাকাকালীন তাদের ইন্টার্নাল স্টেট ধরে রাখবে। হোম স্পেস মোডে, ফুল স্পেস মোডে পাল্টানোর প্রস্তুতি হিসেবে Subspace এখনও তার দৃশ্য সেট-আপ করবে। (I40317, b/416037751)
- অ্যাপ ব্যাকগ্রাউন্ডে থাকলে
SpatialDialogsএখন তার স্ট্যাটাস বজায় রাখবে। (I6aa56) ApplicationSubspaceএখন সিস্টেম থেকে সাজেস্ট করা স্কেল ও পজিশন ইনহেরিট করবে। (I4565f, b/418834194)- আরও ভাল ত্রুটি মেসেজ যোগ করা হয়েছে এবং
SubspaceComposable-এর প্রাসঙ্গিকতা নেই এমন ক্ষেত্রেSubspaceComposableব্যবহার করা হলে, আগে থেকেই ত্রুটি ট্রিগার করা হয়েছে। (Iee2ae, b/416484684) ExperimentalSubspaceVolumeApi-কে সতর্কতা থেকে সমস্যা হিসেবে আপডেট করা হচ্ছে কারণ কম্পোজেবল API-এর অপব্যবহারের সময় সতর্কতা প্রায়ই এড়িয়ে যাওয়া হয়। (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)- Compose-এর
Placeableথেকে আলাদা করার জন্য XRPlaceable-এর নাম পরিবর্তন করেSubspacePlaceableকরা হয়েছে। (I74874) - Orbiter সেটিংস সরানো এবং নতুন প্যারামিটার হিসেবে
shouldRenderInNonSpatialযোগ করা হচ্ছে। এছাড়াও,Orbiter()ফাংশন একত্রিত করতে ক্লাসEdgeOffsetসরানো এবং নতুন প্যারামিটার হিসেবেorbiterOffsetTypeযোগ করা হচ্ছে। সেইসাথেOrbiterEdge-এর নাম পরিবর্তন করেContentEdgeকরা হয়েছে। (Iebf3d) - Compose-এর
Measurableটাইপ থেকে আলাদা করার জন্যMeasurable-এর নাম পরিবর্তন করেSubspaceMeasurableকরা হয়েছে। (I9726c) MeasureResult-এর নাম পরিবর্তন করেSubspaceMeasureResult(I9f34d) করুনSubspaceকম্পোজেবলের সাথে Compose-এরsetContentব্যবহার করার জন্যsetSubspaceContentAPI সরিয়ে দেওয়া হয়েছে। (Ifff4c, b/421427391, b/421427391)MeasurePolicy-এর নাম পরিবর্তন করেSubspaceMeasurePolicyকরা হয়েছে। (I37a9b, b/422553904)SubspaceSemanticsInfo-কে সিল করা ইন্টারফেসে পরিণত করুন কারণ ডিফল্ট ছাড়া আমরা মেম্বার যোগ করতে পারব না। (I372f9, b/423704068)SpatialExternalSurfaceডকুমেন্টেশন আপডেট করা হয়েছে,ContentSecurityLevel-এর নাম পরিবর্তন করেSurfaceProtectionকরা হয়েছে (I3c460, b/420982808)- মুভেবল মডিফায়ারের জন্য ওভারলোড করা কনস্ট্রাক্টর প্রদান করা হয়েছে যা অ্যাঙ্করিংয়ের অনুমতি দেয়। (Ic0c70)
- টুলটিপের জন্য আরও পজিশন প্রোভাইডার যোগ করুন যাতে ডেভেলপাররা এখন টুলটিপ অ্যাঙ্করের উপরে, নিচে, বাঁদিকে বা ডানদিকে রাখা হয়েছে কিনা তা নিয়ন্ত্রণ করতে পারেন। এমন একটি API যোগ করুন যা ক্যারেটের জন্য একটি শেপ নেয়, যাতে আরও কাস্টম শেপ প্রদান করা যায়। (Ie513c, b/374766087, b/418854637)
PublishedApiহিসেবেCoreEntity-কে সরিয়ে দেওয়া হয়েছে (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)
Version 1.0.0-alpha04
৭ মে, ২০২৫
androidx.xr.compose:compose:1.0.0-alpha04 ও androidx.xr.compose:compose-testing:1.0.0-alpha04 রিলিজ করা হয়েছে। ভার্সন 1.0.0-alpha04-এ এইসব কমিট রয়েছে।
নতুন ফিচার
- কাস্টম
SubspaceModifierপ্রকারকে কম্পোজিশন লোকাল ভ্যালু অ্যাক্সেস করার অনুমতি দিতেCompositionLocalConsumerSubspaceModifierNodeইন্টারফেস যোগ করা হয়েছে। - নতুন
SpatialPanelAPI যোগ করা হয়েছে যা কম্পোজAndroidViewপ্রয়োগের স্টাইল অনুসরণ করে এবং আগেরViewBased SpatialPanelবন্ধ করে দেয়। VolumeConstraints.Unboundedকম্প্যানিয়ন অবজেক্ট যোগ করা হয়েছে যা আনবাউন্ডেড কনস্ট্রেন্টকে দেখায়।- স্পেশিয়ালাইজড অডিও সোর্সকে অনুমতি দিতে
SubspaceModifier.onPointSourceParamsযোগ করা হয়েছে। - একটি পাবলিক
ApplicationSubspaceযোগ করা হয়েছে, যা 3D এরিয়া নির্ধারণ করার জন্য ঐচ্ছিকVolumeConstraintsঅফার করে যেখানে অ্যাপ স্পেশিয়াল কন্টেন্ট রেন্ডার করতে পারে। ডিফল্ট হিসেবে, কোনও সীমাবদ্ধতা উল্লেখ করা না থাকলে, সাবস্পেসটিSpatialUser-এর বর্তমান ফিল্ড অফ ভিউয়ের প্রস্থ এবং উচ্চতা দ্বারা সীমাবদ্ধ থাকবে। ফিল্ড অফ ভিউ নির্ধারণ করা না গেলে, ব্যবহারকারীরা ব্যবহার করার জন্য সীমাবদ্ধতা প্রদান করতে পারেন। অন্যথায়, ফিল্ড অফ ভিউয়ের প্রস্থ ও উচ্চতার ডিফল্ট ভ্যালু ব্যবহার করা হয়। SpatialExternalSurfaceযোগ করা হয়েছে, যা ঘনদর্শনমূলক কন্টেন্ট রেন্ডার করতে ব্যবহার করা যেতে পারে।SpatialExternalSurfaceমডিফায়ার (আলফা ছাড়া) ও এজ ফেদারিং এফেক্টের মাধ্যমে কাস্টমাইজ করা যায়।- নতুন
pointerHoverIconসাবস্পেস মডিফায়ার যোগ করা হয়েছে যা ব্যবহারকারীদের স্পেশাল পয়েন্টারের জন্য আইকন সেট করার অনুমতি দেয়।
API-তে পরিবর্তন
- সব Jetpack XR প্যাকেজে
RequiresApi(34)সংক্রান্ত বিধিনিষেধ সরিয়ে দেওয়া হয়েছে। এই বিধিনিষেধটি অপ্রয়োজনীয় ছিল কারণ Jetpack XR বর্তমানে শুধুমাত্র API লেভেল ৩৪+ সহ ডিভাইসে উপলভ্য। (Iae0f8) - Kotlin 2.0-এর সাথে রিলিজ করা প্রোজেক্টের জন্য KGP 2.0.0 বা তার পরবর্তী ভার্সন প্রয়োজন। (Idb6b5)
- এম্বেড করা অ্যাক্টিভিটি ছাড়াই স্পেশাল প্যানেলে এখন ব্যাক হ্যান্ডলিং কাজ করবে। ব্যাক হ্যান্ডলিং কাজ করার জন্য আপনাকে Android ম্যানিফেস্টে
android:enableOnBackInvokedCallback="true"উল্লেখ করতে হবে। - ব্যাকহ্যান্ডলিং এখন স্পেশিয়াল ডায়ালগে কাজ করবে। ব্যাকহ্যান্ডলিং কাজ করার জন্য আপনাকে Android ম্যানিফেস্টে
android:enableOnBackInvokedCallback="true"উল্লেখ করতে হবে। - Compose-ভিত্তিক এবং View-ভিত্তিক
SpatialPanelএখন তাদের কন্টেন্টের উপর ভিত্তি করে নিজেদের সাইজ নির্ধারণ করতে পারে। - ডেভেলপাররা এখন তাদের নিজস্ব কাস্টম
SpatialElevationLevelমান সেট করতে পারেন এবং পূর্বনির্ধারিত লেভেলে সীমাবদ্ধ নন। elevationপ্যারামিটারের মাধ্যমে এখন অরবিটার এলিভেশন লেভেল কাস্টমাইজ করা যেতে পারে।- সাবস্পেস এখন ডিফল্ট হিসেবে প্রস্থ ও উচ্চতায়
SpatialUser-এর ফিল্ড অফ ভিউ দ্বারা সীমাবদ্ধ করা যেতে পারে। ফিল্ড অফ ভিউ নির্ধারণ করা না গেলে, ফিল্ড অফ ভিউয়ের প্রস্থ ও উচ্চতার ডিফল্ট ভ্যালু ব্যবহার করা হয়। Movableমডিফায়ারে নতুন কলব্যাকonMoveStartএবংonMoveEndযোগ করা হয়েছে। ব্যবহারকারী যখন মুভেবল মডিফায়ারের সাথে সাবস্পেস কম্পোজেবল সরানো শুরু এবং শেষ করেন তখনonMoveStartএবংonMoveEndকলব্যাকগুলি কল করা হয়।nameপ্যারামিটারটিSpatialRowএবংSpatialPanel-এর মতো স্পেশিয়াল API থেকে সরিয়ে দেওয়া হয়েছে। স্পেশিয়াল কম্পোজ ট্রি ডিবাগ করার জন্য পরিবর্তেSubspaceModifier.testTagব্যবহার করুন।SpatialPopup-এর কাজ করে না এমন ওভারলোড সরিয়ে দেওয়া হয়েছে, যাতে শুধুspatialElevationLevelওcontentআছে।onDimissRequestকাজ করে এমন ইন্টারফেস ব্যবহার করুন।- Movable মডিফায়ার থেকে
onPoseChangeকলব্যাক সরিয়ে দেওয়া হয়েছে। পরিবর্তেonMoveব্যবহার করুন। SubspaceModifiers-এর এফেক্ট আলাদা করা হলে বা বর্তমানে আলাদা করা হচ্ছে এমন হলে, সেগুলি আর প্রয়োগ করা হবে না।- আগে থেকে থাকা
SpatialRowAPI-কেSpatialRowএবংSpatialCurvedRow-এ ভাগ করা হয়েছে। আগেSpatialRow-এরcurveRadiusপ্যারামিটার ব্যবহার করে থাকলে, এখন তার পরিবর্তেSpatialCurvedRowব্যবহার করুন যা একই ধরনের আচরণ অফার করে। - একই ধরনের সাম্প্রতিক সিস্টেম ইমেজে রান করলে
MainPanelএবংActivityPanel-এ আর কোনও টাইটেল বার থাকে না। - আলফা ও স্কেল মডিফায়ার এখন স্ট্যাক করা যাবে এবং চূড়ান্তভাবে প্রয়োগ করা আলফা বা স্কেল ভ্যালুর জন্য তাদের ভ্যালু গুণ করা হবে।
- আরও মসৃণভাবে পোজ মুভমেন্ট পারফর্ম করার জন্য Movable মডিফায়ার থেকে
onPoseChangeকলব্যাক অপ্টিমাইজ করা হয়েছে। - মুভ করা ও ছোট-বড় করা যায় এমন মডিফায়ার এখন মূল থ্রেডে তাদের কলব্যাক পারফর্ম করবে যাতে স্ট্যাটাস পরিবর্তন রিকম্পোজিশন ট্রিগার করে।
- লেআউট এবং পরিমাপের ফেজে স্টেট অবজার্ভেশন যোগ করা হয়েছে যাতে
SubspaceLayout-এ স্টেট পরিবর্তন হলে রিলেআউট ট্রিগার হয়। - আগে থেকে থাকা মডিফায়ার আরও ভালোভাবে ব্যবহার করার জন্য অপ্টিমাইজ করা মডিফায়ার চেইন আপডেট।
ত্রুটি সমাধান
SpatialDialogদেখানো হলে স্ক্রিমিং বন্ধ করা হয়েছে। (Ic4594)- মডিফায়ার নোড ডিটাচ করা থাকাকালীন রিলেআউট অনুরোধ করা হলে তা এখন থেকে উপেক্ষা করা হবে।
- সরানো যায় ও সাইজ পরিবর্তন করা যায় এমন মডিফায়ার দ্বারা ট্রিগার করা রিলেআউট ফেজ সরানো হয়েছে।
MainPanel()কম্পোজেবলে একটি ক্র্যাশ ঠিক করা হয়েছে যা সরাসরি বা লেআউট গণনা করার সময়, যেমনSpatialRow/SpatialColumnগণনা করার সময়, যেকোনও ডাইমেনশন শূন্যে সেট করা হলে ঘটে। পরিবর্তে, প্যানেলটি এখন লুকানো থাকবে। মনে রাখবেন যে এই সমাধানটি বিশেষভাবে লেআউট ফেজের সময় ক্র্যাশ সংক্রান্ত সমস্যার সমাধান করে; ব্যবহারকারীর ইন্টারঅ্যাকশনের মাধ্যমে প্যানেলের সাইজ শূন্যে পরিবর্তন করার বিষয়টি আলাদাভাবে ম্যানেজ করা হবে। লুকানো প্যানেলে UI অ্যাফর্ডেন্স নেই।- ছোট-বড় করার মডিফায়ার থেকে
maintainAspectRatio-এর সমস্যা সমাধান করা হয়েছে। অ্যাস্পেক্ট রেশিও এখন বজায় রাখতে হবে। - নেস্টেড সাবস্পেসের ক্ষেত্রে একটি সমস্যা সমাধান করা হয়েছে যেখানে একটি ফ্রেমের জন্য সেগুলি ভুলভাবে পজিশন করা হচ্ছিল।
- কখনও কখনও রাউন্ডেড কর্নার প্রয়োগ না হওয়ার সমস্যা সমাধান করা হয়েছে।
NestedSubspacesআর ভুল লোকেশনে একটি ফ্রেমে দেখা যাবে না।
ভার্সন 1.0.0-alpha03
২৬ ফেব্রুয়ারি, ২০২৫
শেষ আলফা ভার্সনের পর থেকে 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
১২ ফেব্রুয়ারি, ২০২৫
androidx.xr.compose:compose:1.0.0-alpha02 ও androidx.xr.compose:compose-testing:1.0.0-alpha02 রিলিজ করা হয়েছে। 1.0.0-alpha02 ভার্সনে এইসব কমিট রয়েছে।
নতুন ফিচার
- স্পেশিয়াল ডায়ালগ অ্যাক্টিভেট করা হলে, অ্যাক্টিভিটি প্যানেল এখন এর কন্টেন্ট স্ক্রিম করতে পারে।
OrbiterAPI এখনSubspaceComposableপ্রসঙ্গে ব্যবহারযোগ্য এবং এটি Orbiter-কে তার নিকটতমSubspaceLayout-ভিত্তিক কম্পোজেবল পেরেন্টের সাথে অ্যাটাচ করবে।- কাস্টম পজিশনিং-ভিত্তিক মডিফায়ারকে অনুমতি দিতে
LayoutCoordinatesAwareModifierNodeচালু করা হয়েছে। SubspaceModifier.Node-এ অ্যাটাচ/ডিটাচ লাইফসাইকেল পদ্ধতি যোগ করা হয়েছে।- মুভেবল মডিফায়ারে
scaleWithDistanceযোগ করা হয়েছে।scaleWithDistanceচালু করা থাকলে, সরানো সাবস্পেস এলিমেন্ট বড় বা ছোট হবে। এছাড়াও, সরানোর আগে এটির যে এক্সপ্লিসিট স্কেল ছিল সেটিও বজায় রাখবে।
API-তে পরিবর্তন
SpatialCapabilities-এর জন্যSessionCallbackProviderসরানো হয়েছে।
অন্যান্য পরিবর্তন
minSDKকমিয়ে ২৪ করা হয়েছে। রানটাইমে সব Jetpack XR API-এর জন্য API 34 প্রয়োজন।OrbiterEdgeOffset.inner,EdgeOffset.outerএবংEdgeOffset.overlapকনস্ট্রাক্টর আর@Composableপদ্ধতি নয়, যা তাদের কম্পোজ করা যায় না এমন প্রসঙ্গে ব্যবহার করার অনুমতি দেয়।- লেটেস্ট UX স্পেসিফিকেশনের সাথে ম্যাচ করাতে স্পেশিয়াল এলিভেশন লেভেল আপডেট করুন।
MeasurableLayout-এSubspaceSemanticsInfoইন্টারফেস প্রয়োগ করুন।SubspaceModifierElement-এর নাম পরিবর্তন করেSubspaceModifierNodeElementকরা হয়েছে।
সমস্যার সমাধান
SubspaceModifierঅর্ডার করার প্রসেসকে আরও স্থিতিশীল করার জন্য সমাধান।SubspaceModifier-এর আরও নির্ভরযোগ্যভাবে আচরণ করা উচিত। অফসেট, রোটেট, স্কেল, মুভেবল ও রিসাইজেবল মডিফায়ার এখন যেকোনও ক্রমে ব্যবহার করা যাবে।
ভার্সন 1.0.0-alpha01
১২ ডিসেম্বর, ২০২৪
androidx.xr.compose:compose-*1.0.0-alpha01 রিলিজ করা হয়েছে।
প্রাথমিক রিলিজের ফিচার
XR-এর জন্য Jetpack Compose-এর প্রাথমিক ডেভেলপার রিলিজ। আপনি আগে থেকে থাকা কোনও 2D অ্যাপ XR-এ পোর্ট করছেন বা একদম শুরু থেকে নতুন XR অ্যাপ তৈরি করছেন, যাই হোক না কেন, XR-এ স্পেশিয়াল UI লেআউট তৈরি করতে, সারি ও কলামের মতো পরিচিত Compose কনসেপ্ট ব্যবহার করুন। এই লাইব্রেরি সাবস্পেস এবং স্পেশিয়াল কম্পোজেবল প্রদান করে: যেমন স্পেশিয়াল প্যানেল এবং অরবিটার, যা আপনাকে স্পেশিয়াল লেআউটে আপনার বিদ্যমান 2D কম্পোজ বা ভিউ-ভিত্তিক UI রাখতে দেয়। এটি ভলিউম সাবস্পেস কম্পোজেবল চালু করে, যা আপনাকে আপনার UI-এর সাথে সম্পর্কিত 3D মডেলের মতো SceneCore এন্টিটি রাখতে দেয়। এই ডেভেলপার নির্দেশিকা থেকে আরও জানুন:
Subspace: এই কম্পোজেবল আপনার অ্যাপের UI হায়ারার্কির মধ্যে যেকোনও জায়গায় রাখা যেতে পারে, যা আপনাকে ফাইলের মধ্যে কন্টেক্সট না হারিয়ে 2D এবং স্পেশাল UI-এর জন্য লেআউট বজায় রাখতে দেয়। এর ফলে, আপনার সম্পূর্ণ UI ট্রি জুড়ে স্টেট হোস্ট না করে বা আপনার অ্যাপের আর্কিটেকচার আবার তৈরি না করেই, XR এবং অন্যান্য ফর্ম ফ্যাক্টরের মধ্যে বর্তমান অ্যাপ আর্কিটেকচারের মতো জিনিস শেয়ার করা সহজ হয়।SpatialPanel: স্পেশাল প্যানেল হল একটি সাবস্পেস কম্পোজেবল যা আপনাকে অ্যাপ কন্টেন্ট দেখাতে দেয়–যেমন, আপনি স্পেশাল প্যানেলে ভিডিও প্লেব্যাক, স্থির ছবি বা অন্য কোনও কন্টেন্ট দেখাতে পারেন।
Orbiter: Orbiter হল একটি স্পেশিয়াল UI কম্পোনেন্ট। এটি সংশ্লিষ্ট স্পেশিয়াল প্যানেলের সাথে অ্যাটাচ করার জন্য ডিজাইন করা হয়েছে এবং এতে সেই স্পেশিয়াল প্যানেল সম্পর্কিত নেভিগেশন এবং প্রাসঙ্গিক অ্যাকশন আইটেম রয়েছে। যেমন, আপনি ভিডিও কন্টেন্ট দেখানোর জন্য স্পেশাল প্যানেল তৈরি করলে, অরবিটারের মধ্যে ভিডিও প্লেব্যাক কন্ট্রোল যোগ করতে পারবেন।
ভলিউম: আপনার UI-এর সাথে সম্পর্কিত 3D মডেলের মতো SceneCore এন্টিটি প্লেস করুন।
স্পেশিয়াল লেআউট: আপনি একাধিক স্পেশিয়াল প্যানেল তৈরি করতে এবং
SpatialRow,SpatialColumn,SpatialBoxএবংSpatialLayoutSpacerব্যবহার করে স্পেশিয়াল লেআউটের মধ্যে সেগুলি রাখতে পারবেন। আপনার লেআউট কাস্টমাইজ করতেSubspaceModifierব্যবহার করুন।স্পেশিয়াল UI কম্পোনেন্ট: এই এলিমেন্টগুলি আপনার 2D UI-তে আবার ব্যবহার করা যেতে পারে এবং স্পেশিয়াল ক্ষমতা চালু থাকলে তবেই তাদের স্পেশিয়াল অ্যাট্রিবিউট দেখা যাবে।
SpatialDialog: একটি এলিভেটেড ডায়ালগ দেখানোর জন্য প্যানেলটি z-ডেপথে সামান্য পিছনে ঠেলে দেওয়া হবে।SpatialPopUp: একটি এলিভেটেড পপ-আপ দেখানোর জন্য প্যানেলটি z-ডেপ্থে কিছুটা পিছনে ঠেলে দেবেSpatialElevation: উচ্চতা যোগ করার জন্যSpatialElevationLevelসেট করা যেতে পারে।
SpatialCapabilities: ব্যবহারকারী আপনার অ্যাপ বা সিস্টেমের সাথে ইন্টার্যাক্ট করলে, স্পেশাল ক্যাপাবিলিটি পরিবর্তন হতে পারে, এমনকি আপনার অ্যাপও এটি পরিবর্তন করতে পারে—যেমন, হোম স্পেস বা ফুল স্পেসে যাওয়া। সমস্যা এড়াতে, বর্তমান পরিবেশে কোন API কাজ করে তা নির্ধারণ করতে আপনার অ্যাপকে
LocalSpatialCapabilities.currentচেক করতে হবে।isSpatialUiEnabled: স্পেশিয়াল UI এলিমেন্ট (যেমন, SpatialPanel)isContent3dEnabled: 3D অবজেক্টisAppEnvironmentEnabled: এনভায়রনমেন্টisPassthroughControlEnabled: অ্যাপ্লিকেশন পাসথ্রু স্ট্যাটাস নিয়ন্ত্রণ করতে পারবে কিনাisSpatialAudioEnabled: স্পেশিয়াল অডিও
পরিচিত সমস্যা
- বর্তমানে XR-এর জন্য Jetpack Compose ব্যবহার করতে minSDK ৩০ প্রয়োজন। বিকল্প হিসেবে, আপনি নিম্নলিখিত ম্যানিফেস্ট এন্ট্রি
<uses-sdk tools:overrideLibrary="androidx.xr.scenecore, androidx.xr.compose"/>যোগ করতে পারেন যাতে minSDK 23-এর মাধ্যমে বিল্ড ও রান করা যায়। - Jetpack XR অ্যাপের জন্য বর্তমানে AndroidManifest-এ
android.permission.SCENE_UNDERSTANDINGঅনুমতি অনুরোধ করতে হয়। - কোনও অ্যাপ তার ম্যানিফেস্টে
PROPERTY_XR_ACTIVITY_START_MODEপ্রপার্টি ব্যবহার করে সরাসরি ফুল স্পেসে লঞ্চ হলে, ফুল স্পেসে ট্রানজিশন করার আগে অ্যাক্টিভিটি/অ্যাপ্লিকেশন প্রাথমিকভাবে হোম স্পেসে খোলা হয়। - ভলিউম কম্পোজেবলে glTF প্রথমে ভুল লোকেশনে ফ্লিকার করতে পারে।
- অনেকটা সরানো হয়েছে এমন প্যানেলে SpatialDialog ব্যবহার করলে কন্টেন্ট ভুল দিকে চলে যাবে।