এক্সআর-এর জন্য জেটপ্যাক কম্পোজ
| সর্বশেষ আপডেট | স্থিতিশীল রিলিজ | রিলিজ প্রার্থী | বিটা রিলিজ | আলফা রিলিজ |
|---|---|---|---|---|
| ২৩ সেপ্টেম্বর, ২০২৬ | - | - | ১.০.০-বিটা০১ | - |
নির্ভরতা ঘোষণা করা
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" }
কোটলিন
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") }
নির্ভরতা সম্পর্কে আরও তথ্যের জন্য, 'বিল্ড নির্ভরতা যোগ করুন ' দেখুন।
প্রতিক্রিয়া
আপনার মতামত জেটপ্যাককে আরও উন্নত করতে সাহায্য করে। আপনি যদি নতুন কোনো সমস্যা খুঁজে পান অথবা এই লাইব্রেরিটি উন্নত করার জন্য কোনো ধারণা থাকে, তবে আমাদের জানান। নতুন কোনো সমস্যা তৈরি করার আগে অনুগ্রহ করে এই লাইব্রেরির বিদ্যমান সমস্যাগুলো দেখে নিন। আপনি তারকা বোতামে ক্লিক করে কোনো বিদ্যমান সমস্যায় আপনার ভোট যোগ করতে পারেন।
আরও তথ্যের জন্য ইস্যু ট্র্যাকার ডকুমেন্টেশন দেখুন।
সংস্করণ ১.০
সংস্করণ 1.0.0-beta01
২৩ সেপ্টেম্বর, ২০২৬
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 ) -
SpatialPanelএবংSpatialExternalSurfaceথেকে অপ্রচলিতResizePolicyএবং এর ব্যবহারসমূহ সরানো হয়েছে। অপ্রচলিতSubspaceModifier.resizableফাংশনটি সরানো হয়েছে। এর পরিবর্তে নতুনResizePolicyসহ নতুনSubspaceModifier.resizableব্যবহার করুন। ( I59e6b ) - পিচ ট্র্যাকিং স্বাধীনভাবে চালু বা বন্ধ করার জন্য
isPitchUpdateEnabledপ্যারামিটার যোগ করা হয়েছে। ( Ie9e86 ) -
pitchLimitsএর নালযোগ্যতা (nullability) অপসারণ করা হয়েছে এবংPitchLimits.UNCONSTRAINEDএর নাম পরিবর্তন করেPitchLimits.FullRangeরাখা হয়েছে। ( I0154f ) -
ExposedDropdownMenuএখনExposedDropdownMenuBoxScopeএর একটি মেম্বার না হয়ে একটি এক্সটেনশন ফাংশন। আপনাকে একটি নতুন ইম্পোর্ট দিয়ে আপনার কোড আপডেট করতে হতে পারে। ( Ie8a65 ) - অপ্রচলিত
SurfaceProtectionক্লাসটি সরিয়ে ফেলা হয়েছে। এর পরিবর্তেSpatialExternalSurfaceProtectionব্যবহার করুন। ( Iab2c6 ) -
OrbiterPoseProviderগ্রহণকারী Orbiter ফাংশনটিকেSpatialAlignmentব্যবহারকারী ফাংশনের পক্ষে বাতিল করা হয়েছে। ( I4d12b ) - এমবেডেড অ্যাক্টিভিটি চালু ও পরিচালনা করার জন্য
SpatialActivityPanelএখন একটিSpatialActivityPanelController(rememberSpatialActivityPanelControllerব্যবহার করে ইনস্ট্যানশিয়েট করা) প্রয়োজন। ( Id25c6 ) -
rotateToLookAtUserথেকেupDirectionপ্যারামিটারটি সরানো হয়েছে এবং ঘূর্ণন সীমাবদ্ধতার প্যারামিটার (isYawUpdateEnabledএবংpitchLimits) যোগ করা হয়েছে। ( I1370a )
বাগ সংশোধন
- বিভিন্ন
InteractionPolicyসমস্যা সমাধান করা হয়েছে। Composable বা চাইল্ড (যেমন একটি Orbiter) যখন কোনো ডিসপোজাল সিকোয়েন্স শুরু করত, ঠিক তখনই যদি কোনো ইনপুট ইভেন্ট ঘটত, তাহলে একটি ক্র্যাশ ঘটত। এছাড়াও, চাইল্ডের হোভার ইভেন্ট গ্রহণ করার সমস্যাটিও সমাধান করা হয়েছে। ( Ifc477 ) - ছোট FOV ডিভাইসগুলিতে ক্লিপিং প্রতিরোধ করার জন্য
RotateToLookAtUserActivityতে প্যানেলের আকার কমানো হয়েছে। ( I8d672 )
পরিচিত সমস্যা
- Compose XR প্যানেলগুলিতে একটি সমস্যা রয়েছে, যেখানে একটিমাত্র অ্যাক্টিভিটিতে অনেকগুলো প্যানেল তৈরি করলে, প্যানেলগুলো ধ্বংস করার পরেও প্রদর্শিত বিষয়বস্তুতে কিছু বিকৃতি ঘটতে পারে।
সংস্করণ 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-এ এই কমিটগুলো রয়েছে।
এপিআই পরিবর্তন
-
Meterভ্যালু ক্লাসটি সরিয়ে ফেলা হয়েছে,Scenecoreএ এটিvirtualPixelDensityদ্বারা প্রতিস্থাপিত হয়েছে। ( I690ee ) -
SpatialGltfModelAPI-টি এখন পরীক্ষামূলক পর্যায়ে রয়েছে এবং এটি ব্যবহারের জন্য সম্মতি জানাতে হবে। ( I4557e ) -
systemরিসাইজযোগ্যকে নালযোগ্য করুন ( Ib0093 ) - পরীক্ষার জন্য
SubspaceSemanticsInfoতেDensityউন্মোচিত হয়েছে। ( I2e826 ) -
ResizePolicyডিফল্ট অপশনের নাম পরিবর্তন করেsystemরাখুন এবং প্যারামিটার ছাড়া একটি নতুনDefaultঅপশন যোগ করুন ( Ic8b16 ) -
FollowTargetপরীক্ষামূলক হিসেবে চিহ্নিত করুন। সম্পূর্ণFollowingSubspaceএপিআইটি এখন পরীক্ষামূলক। ( 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 )
বাগ সংশোধন
- যে সমস্যার সমাধান করা হয়েছে যেখানে একটি
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-এ এই কমিটগুলো রয়েছে।
এপিআই পরিবর্তন
-
ComponentOverrideAPI-গুলো অপসারণ করুন ( I820c4 ) -
GltfAnimationএবংSpatialGltfModelAnimationAPI-গুলোকে পরীক্ষামূলক হিসেবে চিহ্নিত করা হয়েছে। কিছু প্রোপার্টিকে গেটারে পরিণত করা হয়েছে। ( I8d689 , b/524771027 ) - মিটার এবং পিক্সেলের মধ্যে রূপান্তরকে ধ্রুবক হিসেবে স্থাপন করে সামগ্রিক ঘনত্বের আচরণ ঠিক করা হয়েছে। Meter.kt এখন আর ব্যবহার করা হয় না, এর বিকল্প হিসেবে এখন
Session.scene.virtualPixelDensityব্যবহার করা যাবে। ( I122ff , b/430097855 , b/474168798 ) - দুটি মডিফায়ারের পরিবর্তে একটি
ResizePolicyব্যবহার করার জন্য রিসাইজেবল মডিফায়ার আপডেট করুন ( I7fb0f , b/496257436 , b/519672992 ) -
SubspaceAssertions.ktএর সমস্ত পাবলিক ফ্লোটিং-পয়েন্ট ডাইমেনশন এবং পজিশন ইকুয়ালিটি অ্যাসারশনে একটি টলারেন্স:Dp = Dp(0.5f)প্যারামিটার যোগ করা হয়েছে। ডিফল্ট টলারেন্স আচরণ (0.5.dp) সম্পূর্ণরূপে নথিভুক্ত করা হয়েছে। ( I266cb , b/521491915 ) -
movePolicyপ্যারামিটার সহ movable ওভারলোড যোগ করা হয়েছে এবংtransformingMovableওmovableঅপ্রচলিত করা হয়েছে ( Ic88c1 , b/481781189 ) - স্ট্যান্ডার্ড লিস্ট আইটেম এবং সেগমেন্টেড লিস্ট আইটেমের নতুন নন-ইন্টারেক্টিভ ভ্যারিয়েন্ট যোগ করা হয়েছে, যা ম্যাটেরিয়াল এক্সপ্রেসিভ স্পেসিফিকেশন অনুসরণ করে। নন-এক্সপ্রেসিভ সংস্করণটি বাতিল করা হয়েছে। ( Ide4de , b/491994186 )
- Subspace-এর জন্য,
allowUnboundedSubspaceপ্যারামিটারটি এখন অপ্রচলিত এবং লুকানো হয়েছে। এখন থেকে Subspace মডিফায়ারেSubspaceModifier.requiredSizeIn(maxWidth=Dp.Infinity,maxHeight=Dp.Infinity,maxDepth=Dp.Infinity) ব্যবহার করে আনবাউন্ডেড আচরণ অর্জন করা উচিত।FollowingSubspaceথেকেallowUnboundedSubspaceপ্যারামিটারটি সরিয়ে ফেলা হয়েছে। ( Ia72ae , b/433624021 ) -
Session.createকে একটি suspend ফাংশনে রূপান্তর করা হয়েছে। ( I5d27f ) -
SubspaceModifier.spatializedAudioOutputযোগ করা হয়েছে, যাExoPlayerবাSoundEffectPlayerমাধ্যমে অডিও প্লেব্যাককে স্পেশিয়ালাইজ করার সুযোগ দেয় ( I46697 , b/489421980 , b/497867019 ) - স্ট্যাটাস যাচাইয়ের জন্য
ComponentActivity.requestHomeSpace()এবংrequestFullSpace()SpaceRequestResultরিটার্ন করার জন্য আপডেট করা হয়েছে। ( If1672 ) -
AnchorEntityAnchorSpaceনামে আপডেট করা হয়েছে ( 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-এর সুবিধার জন্য স্বতন্ত্র directional offset পদ্ধতিগুলো সরিয়ে দেওয়া হয়েছে। ( I9bdb2 , b/479805937 ) -
SpatialConfigurationথেকে অপ্রচলিত স্পেস মোড এপিআইগুলো সরানো হয়েছে। ( I1ef5c , b/458712461 ) -
SubspaceSemanticsConfigurationচালু করা হয়েছে। এটি একটি Spatial নোডের জন্য সিম্যান্টিকস প্রোপার্টিগুলোর একটি কনফিগারেশন। এই ক্লাসটি বাহ্যিক ব্যবহারকারীদের কাছে মৌলিক 2D সিম্যান্টিক সক্ষমতা প্রকাশ না করেই নিরাপদে 3D সিম্যান্টিকসের জন্য কোয়েরি মেথডগুলো উন্মুক্ত করে। ( 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 বা এর নন-XR ভার্সনে রিজলভ হবে।
Session উপলব্ধ হলে, সঠিক অবস্থা সহ পুনর্গঠন শুরু হবে। ( I0cfa4 , b/514712835 , b/514712835 )
-
ComponentActivity.requestHomeSpaceএবংComponentActivity.requestFullSpaceএর সাসপেন্ড আচরণ, বাতিলকরণ এবং কনকারেন্সি সংক্রান্ত ডকুমেন্টেশন স্পষ্ট করা হয়েছে।CancellationExceptionপ্রোপাগেশন যাচাই করার জন্য টেস্টগুলো আপডেট করা হয়েছে। ( I22f75 , b/493289528 )
সংস্করণ 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-এ এই কমিটগুলো রয়েছে।
এপিআই পরিবর্তন
-
ResizePolicyএবং পুরোনো resizable মডিফায়ারটি বাতিল করা হয়েছে, এবং এর পরিবর্তে নতুনSubspaceModifier.resizableওভারলোড ওSubspaceModifier.transformingResizableআনা হয়েছে। ( I9e4bc ) -
SpatialGltfModelAPI আপডেট করা হয়েছে:SpatialGltfModelSourcefromResourceমাধ্যমে রিসোর্স থেকে মডেল লোড করার জন্য সাপোর্ট যোগ করা হয়েছে।SpatialGltfModelAnimationএ speed-এর নাম পরিবর্তন করেplaybackSpeedরাখা হয়েছে এবং একটি resume() মেথড যোগ করা হয়েছে।SpatialGltfModelStatusএবং Loading এখন অবজেক্ট। ( I523de ) -
rotateToLookAtUserএকটি পরীক্ষামূলক API হিসেবে চিহ্নিত করা হয়েছে। ( I86c16 ) - protected variable
targetCurrentPoselocal variablecurrentTargetPoseMeterএ সরানো এবং নাম পরিবর্তন করা হয়েছে। ( Ia557c ) - অবজেক্টটি তার লেআউট সাইজের মধ্যে কোথায় রেন্ডার করা হয় তা অন্তর্ভুক্ত করতে
SpatialPanelএবংSpatialExternalSurfacekdocs আপডেট করুন ( I72104 ) -
SpatialGltfModelStateমধ্যেSpatialGltfModelলোডিং লজিককে আবদ্ধ করা হয়েছে এবং ব্যর্থতার আচরণ স্পষ্ট করা হয়েছে। ( Ibe98b ) -
SubspaceModifer.sizedepthkdocs ( I0f84f )-এ স্পষ্ট করা হয়েছে।
সংস্করণ 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-এ এই কমিটগুলো রয়েছে।
এপিআই পরিবর্তন
- ডিফল্ট সিস্টেম-পরিচালিত 3D মুভমেন্টের জন্য
transformingMovableচালু করা হয়েছে এবং কাস্টম মুভমেন্ট আচরণ পরিচালনার জন্যmovableএর একটি নতুন ওভারলোড চালু করা হয়েছে। ( I50960 ) -
SpatialGltfModel.fromData()সরিয়ে ফেলা হয়েছে। ( I4d083 ) - একটি নতুন মডিফায়ার নোড ইন্টারফেস,
SubspaceMeasuredSizeAwareModifierNode, যোগ করা হয়েছে, যা মেজার পাসের পরে একটিonRemeasuredকলব্যাক প্রদান করে।SubspaceLayoutAwareModifierNodeএখন এই নতুন ইন্টারফেসটিকে এক্সটেন্ড করে।onSizeChangedমডিফায়ারটিকেonRemeasuredব্যবহার করার জন্য আপডেট করা হয়েছে, যা নিশ্চিত করে যে কলব্যাকটি প্লেসমেন্টের পরে নয়, বরং মেজারমেন্টের ঠিক পরেই ট্রিগার হয়। ( Iafbae ) - একটি
Interface( I0ff30 ) জন্য আপডেট করাInteractionPolicy - Compose
compileSdkএপিআই ৩৭-এ আপডেট করা হয়েছে। এর মানে হলো, Compose ব্যবহার করার জন্য ন্যূনতম এজিপি সংস্করণ ৯.২.০ প্রয়োজন। ( Id45cd ) - আপডেট করা
Sizekdocs ( Iefa9a )
সংস্করণ 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-এ এই কমিটগুলো রয়েছে।
এপিআই পরিবর্তন
- অরবিটার এপিআই-তে আরও পরিবর্তন আসা বাকি আছে, তাই আমরা অরবিটারের জন্য ডেপ্রিকেশন নোটিসগুলো নিষ্ক্রিয় করার এবং আসন্ন রিলিজগুলোতে অরবিটারের পরিবর্তনগুলোর দিকে নজর রাখার পরামর্শ দিচ্ছি।
- যারা glTF রেন্ডার করার জন্য
SceneCoreEntityব্যবহার করছেন, তাদের নিশ্চিত করতে হবে যে তারা তাদেরGltfModel.createকলেরparentপ্যারামিটারেsession.scene.activitySpaceপাস করছেন, যাতে তাদের glTF-গুলো রেন্ডার হয়। - ডেভেলপারদের তাদের Compose For XR অ্যাপে Gltf যোগ করার সুযোগ দিতে
SpatialGltfModelAPI যুক্ত করা হয়েছে। ডেভেলপাররা তাদের 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 ) - অপ্রচলিত প্যাডিং এপিআই অপসারণ ( If1886 )
- bias মানগুলিতে
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-এ এই কমিটগুলো রয়েছে।
এপিআই পরিবর্তন
- glTF রেন্ডার করতে এবং অ্যানিমেশন নিয়ন্ত্রণ করতে
SpatialGltfModelAPI এবংSpatialGltfModelAnimationAPI যোগ করা হয়েছে।SpatialGltfModelStateAutoCloseableকরা হয়েছে, এখন থেকে এর রিসোর্স মুক্ত করতে এটিকে বন্ধ করতে হবে। ( I11fde , b/466065486 , b/481379924 )। তবে, অতিরিক্ত পরীক্ষার অপেক্ষায় এই রিলিজের জন্যSpatialGltfModelAPI-কে সীমাবদ্ধ (restricted) হিসেবে চিহ্নিত করা হয়েছে। ( Ibf003 , b/466090694 ) -
SubspaceModifier.rotateএর জন্য একটি ডেপ্রিকেটেড এম্পটি ওভারলোড যোগ করা হয়েছে। ( Idceb6 ) -
SpatialSmoothFeatheringEffectফাংশনটির নাম পরিবর্তন করেspatialSmoothFeatheringEffectরাখা হয়েছে এবং এটিকে একটি ড্র মডিউলে স্থানান্তর করা হয়েছে।SpatialExternalSurfaceডিফল্ট ফেদারিং ভ্যালু null-এ আপডেট করা হয়েছে, যা পুরোনো ZeroFeatheringEffect-এর কার্যকারিতাকে অনুকরণ করে। ( I5fdaa , b/460426800 ) -
onPointSourceParamsAvailableসরিয়ে ফেলা হয়েছে। অদূর ভবিষ্যতে একটি ভিন্ন অডিও স্পেশালাইজেশন এপিআই উপলব্ধ হবে। ( I86507 , b/458513439 ) - অফসেট সাবস্পেস মডিফায়ারগুলির জন্য RTL আচরণ যোগ করা হয়েছে। এছাড়াও লেআউটের দিক উপেক্ষা করার জন্য
absoluteOffsetযোগ করা হয়েছে। ( I30e4b , b/474409165 )
সংস্করণ 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( 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এবংSpatialColumnAPI-গুলো, যেগুলো একটি জেনেরিকSpatialAlignmentপ্যারামিটার গ্রহণ করে, সেগুলো অপ্রচলিত; এর পরিবর্তে,SpatialRowএবংSpatialColumnজন্য যথাক্রমেverticalAlignmentবাhorizontalAlignmentগ্রহণকারী API-গুলো ব্যবহার করুন। ( Iec390 ) -
SubspaceLayoutফাংশন API ওভারলোডিংয়ের সমন্বয় ( Idd30a ) -
SubspaceModifier.lookAtUserনাম পরিবর্তন করেrotateToLookAtUserএবংupপ্যারামিটারটির নাম পরিবর্তন করেupDirectionরাখা হয়েছে। ( Icafb8 ) -
SpatialRowএকটি ইনলাইন ফাংশন বানানো ( Ia2f20 ) -
SpatialColumnএকটি ইনলাইন ফাংশন বানানো ( I681be ) - বিলবোর্ড এপিআই সরানো হয়েছে ( Ib76cd )
সংস্করণ 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 অপসারণ করা হচ্ছে -
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-এ এই কমিটগুলো রয়েছে।
এপিআই পরিবর্তন
-
LookAtUserএবং Billboard মডিফায়ার যোগ করা হয়েছে, যা কন্টেন্টকে সর্বদা ব্যবহারকারীর দিকে মুখ করে রাখতে সাহায্য করে। ( I49b99 ) -
SpatialExternalSurfacesএবংSpatialPanelsএ একটিInteractionPolicyসেট করার ক্ষমতা যোগ করে, যা ক্লিক এবং অন্যান্য 3D ইনপুট ইভেন্ট সনাক্ত করতে দেয়। ( Iae155 ) - Dp মান হিসাবে width, height, এবং depth সহ size এবং
requiredSizeমডিফায়ার ওভারলোড যোগ করা হয়েছে। ( I92f79 ) -
ParentLayoutParamsModifierইন্টারফেসটি এখনDelegatableSubspaceNodeএক্সটেন্ড করে। ( I1a6d4 ) -
ApplicationSubspaceঅপ্রচলিত ঘোষণা করে Subspace API ব্যবহার করা হচ্ছে।- সাবস্পেস এপিআই-এর আচরণ পরিবর্তন করা হয়েছে, যাতে এটি শুধুমাত্র প্রস্তাবিত পোজ এবং স্কেলে একটি অ্যাপ্লিকেশন-ব্যাপী সাবস্পেস প্রদান করে।
- 2D প্রেক্ষাপটে এমবেডেড সাবস্পেস প্রদানের জন্য
PlanarEmbeddedSubspaceAPI চালু করা হয়েছে। ( Id3343 )
-
SubspaceModifier.NodeAPI-তেshouldAutoInvalidateফ্ল্যাগ যোগ করা হয়েছে। ( I93902 ) - এপিআই-গুলিতে
required(Size|Width|Depth|Height)যোগ করা হয়েছে, যা ডেভেলপারদের প্যারেন্টের আগত পরিমাপের সীমাবদ্ধতা উপেক্ষা করে একটি@SubspaceComposableএর আকারকে একটি নির্দিষ্ট পরিসরের মধ্যে সীমাবদ্ধ করতে দেয়। ( Ifaa78 ) -
SubspaceModifier.onSizeChangedযোগ করা হয়েছে, যা@SubspaceComposableএর আকার পরিবর্তিত হলে ডেভেলপারদের প্রতিক্রিয়া জানানোর জন্য একটি সহজ ও সুনির্দিষ্ট কলব্যাক প্রদান করে। ( I994f9 ) - Volume API সরিয়ে ফেলা হয়েছে। Volume API-এর পরিবর্তে
SceneCoreEntityAPI ব্যবহার করা উচিত। ( I4162b ) -
SubspaceLayoutModifierNode.requestRelayoutinvalidateMeasurement/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-এ এই কমিটগুলো রয়েছে।
এপিআই পরিবর্তন
-
onResizeStart,onResizeUpdateএবংonResizeEndগ্রহণ করার জন্যResizePolicyপরিবর্তন করা হয়েছে। ( I7e21f )
বাগ সংশোধন
- সাবস্পেস সহ কোনো অ্যাক্টিভিটি ধ্বংস করার সময় ক্র্যাশ প্রতিরোধ করুন। ( I595a1 )
সংস্করণ 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-এ এই কমিটগুলো রয়েছে।
এপিআই পরিবর্তন
-
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এর একটি বেস ইন্টারফেস যোগ করা হয়েছে; যেমন-
CompositionLocalConsumerSubspaceModifierNode -
LayoutCoordinatesAwareModifierNode -
SubspaceLayoutModifierNode -
CoreEntityNode(অভ্যন্তরীণ) ( Iede00 , b/440599394 , b/440599394 )
-
-
SpatialExternalSurfaceসীমাবদ্ধ করুন ( I33315 , b/439646773 ) - সাবস্পেস কম্পোজেবলগুলিতে
SubspaceModifierচালু করুন এবং constraints প্যারামিটারটিকে আকার-সম্পর্কিতSubspaceModifierদ্বারা প্রতিস্থাপন করুন। যদিallowUnboundedSubspaceSubspaceModifierstrue হয়, তাহলেও সাবস্পেসগুলিতে অসীম সীমাবদ্ধতা থাকতে পারে। ( Ib06e6 , b/433331675 ) - এখন যেহেতু
DragPolicy()এবংResizePolicy()SpatialPanelএবংSpatialExternalSurfaceAPI-এর অংশ, তাই movable এবং resizableSubspaceModifiersঅপ্রচলিত করা হচ্ছে ( I397bf , b/437924639 ) - স্পেশিয়াল লেআউটে
LayoutDirectionএর জন্য সমর্থন যোগ করা হয়েছে।SpatialAlignmentব্যবহার করে কম্পোজ করা যায় এমন এলিমেন্টগুলো এখন LTR এবং RTL উভয় প্রেক্ষাপটেই সঠিকভাবে অবস্থান করবে। ( I964bb , b/436300273 ) -
Panelএপিআই-তে রিসাইজেবল (Resizable) এবং মুভেবল (Movable) প্যারামিটার যোগ করুন, যাতে এই আচরণগুলো শুধুমাত্র সমর্থিত কন্টেইনারগুলিতেই প্রয়োগ করা যায়। ( Id491c ) -
sizeIn,widthIn,heightIn,depthInSubspaceModifiersযোগ করা হয়েছে, যা আপনাকে প্রস্থ, উচ্চতা এবং গভীরতার জন্য সুনির্দিষ্ট সর্বনিম্ন ও সর্বোচ্চ সীমা নির্ধারণ করতে দেয়। ( I1af09 , b/433330761 )
সংস্করণ 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 )
সংস্করণ 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 ) - ১৮০ এবং ৩৬০ ডিগ্রি গোলকের প্রতিনিধিত্বকারী দুটি নতুন
SpatialExternalSurfaceComposable। ( I40ef2 , b/391705799 ) -
SubspaceModifier.aspectRatioযোগ করা হয়েছে ( Ide5ab , b/399729509 , b/414762147 ) -
SceneCoreএবং Compose for XR-এর মধ্যে আন্তঃকার্যক্ষমতা উন্নত করার জন্যSceneCoreEntityAPI যোগ করা হয়েছে। ( I50bb3 , b/423020989 ) - আনস্কেলড এবং
GravityAlignedবৈশিষ্ট্য সমর্থন করার জন্যGravityAlignedsubspaceএপিআই প্রদান করা হয়েছে ( I07359 )
এপিআই পরিবর্তন
-
SpatialDialog()SpatialDialogProperties.dismissOnBackচাপার কনফিগারেশন অনুসরণ করবে। ( Ib453b , b/416797132 ) - মিটারে প্রকাশের কারণে
minimumPanelDimensionDimensions(0.1f, 0.1f, 0.1f)নামক নতুন ডিফল্ট ডাইমেনশন সাইজে আপডেট করুন। ( Ib852a ) - সাবস্পেস এবং অরবিটার এখন হোম স্পেসে এবং অ্যাপটি ব্যাকগ্রাউন্ডে থাকলেও তাদের অভ্যন্তরীণ অবস্থা বজায় রাখবে। হোম স্পেস মোডে, সাবস্পেস ফুল স্পেস মোডে স্যুইচ করার প্রস্তুতির জন্য তার সিন সেট আপ করতে থাকবে। ( I40317 , b/416037751 )
- অ্যাপটি ব্যাকগ্রাউন্ডে থাকলেও
SpatialDialogsএখন তাদের অবস্থা ধরে রাখবে। ( I6aa56 ) -
ApplicationSubspaceএখন থেকে সিস্টেম থেকে এর প্রস্তাবিত স্কেল এবং অবস্থান গ্রহণ করবে। ( I4565f , b/418834194 ) - একটি উন্নততর ত্রুটি বার্তা যোগ করা হয়েছে এবং যখন একটি
SubspaceComposableএকটি নন-SubspaceComposableপ্রেক্ষাপটে ব্যবহার করা হয়, তখন ত্রুটিটি আরও আগে দেখানো হবে। ( Iee2ae , b/416484684 ) -
ExperimentalSubspaceVolumeApi'Warning' থেকে 'Error'-এ আপডেট করা হচ্ছে, কারণ কম্পোজেবল এপিআই (composable API) ভুলভাবে ব্যবহার করার সময় সতর্কবার্তাগুলো প্রায়শই উপেক্ষা করা হয়। ( I427aa , b/424864286 ) - Subspace এবং
ApplicationSubspaceএখনrecommendedContentBoxInFullSpaceদ্বারা সীমাবদ্ধ। পূর্বে এটিSpatialUserএর Field of View দ্বারা সীমাবদ্ধ ছিল। ( 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একটি নতুন প্যারামিটার হিসেবে যোগ করা হয়েছে। এছাড়াও,EdgeOffsetক্লাসটি সরানো হয়েছে এবংOrbiter()ফাংশনগুলোকে একত্রিত করার জন্যorbiterOffsetTypeএকটি নতুন প্যারামিটার হিসেবে যোগ করা হয়েছে। সেই সাথেOrbiterEdgeনাম পরিবর্তন করেContentEdgeরাখা হয়েছে। ( Iebf3d ) - Compose-এর
Measurableটাইপ থেকে এটিকে আলাদা করার জন্যMeasurableনাম পরিবর্তন করেSubspaceMeasurableরাখা হয়েছে। ( I9726c ) -
MeasureResultSubspaceMeasureResultএ রিনেম করুন ( I9f34d ) -
Subspaceকম্পোজেবলের সাথে কম্পোজেরsetContentব্যবহারের সুবিধার জন্যsetSubspaceContentAPI-টি সরিয়ে দেওয়া হয়েছে। ( 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 )
-
CoreEntityPublishedApiতালিকা থেকে সরানো হয়েছে ( Ifee05 )
বাগ সংশোধন
- রেন্ডার করার সময়
SpatialDialogক্ষণস্থায়ী ঝলকানির সমস্যাটি সমাধান করা হয়েছে। ( Ife73c , b/401619909 ) - সেই সমস্যার সমাধান করা হয়েছে যেখানে
SpatialDialogActivity Panel-কে স্ক্রিম করতে পারছিল না। ( 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
৭ মে, ২০২৫
androidx.xr.compose:compose:1.0.0-alpha04 এবং androidx.xr.compose:compose-testing:1.0.0-alpha04 রিলিজ করা হয়েছে। ভার্সন 1.0.0-alpha04-এ এই কমিটগুলো রয়েছে।
নতুন বৈশিষ্ট্য
- কাস্টম
SubspaceModifierটাইপগুলোকে কম্পোজিশন লোকাল ভ্যালু অ্যাক্সেস করার সুযোগ দিতেCompositionLocalConsumerSubspaceModifierNodeইন্টারফেসটি যুক্ত করা হয়েছে। - একটি নতুন
SpatialPanelAPI যোগ করা হয়েছে যা composeAndroidViewইমপ্লিমেন্টেশন স্টাইল অনুসরণ করে এবং পূর্ববর্তীViewBased SpatialPanelবাতিল করে। -
VolumeConstraints.Unboundedনামক একটি সহযোগী অবজেক্ট যোগ করা হয়েছে, যা অসীম সীমাবদ্ধতাগুলোকে উপস্থাপন করে। - স্পেশিয়ালাইজড অডিও সোর্স ব্যবহারের সুবিধার জন্য
SubspaceModifier.onPointSourceParamsযোগ করা হয়েছে। - একটি পাবলিক
ApplicationSubspaceযোগ করা হয়েছে, যা একটি ত্রিমাত্রিক (3D) এলাকা নির্ধারণের জন্য ঐচ্ছিকVolumeConstraintsপ্রদান করে, যেখানে অ্যাপটি স্থানিক বিষয়বস্তু (spatial content) রেন্ডার করতে পারে। ডিফল্টরূপে, যদি কোনো কনস্ট্রেইন্টস নির্দিষ্ট না করা হয়, তবে সাবস্পেসটি প্রস্থ এবং উচ্চতায়SpatialUser-এর বর্তমান ফিল্ড অফ ভিউ দ্বারা সীমাবদ্ধ থাকবে। ফিল্ড অফ ভিউ নির্ধারণ করা না গেলে ব্যবহারের জন্য ব্যবহারকারীরা কনস্ট্রেইন্টস প্রদান করতে পারেন। অন্যথায়, ডিফল্ট ফিল্ড অফ ভিউ-এর প্রস্থ এবং উচ্চতার মান ব্যবহার করা হয়। -
SpatialExternalSurfaceযোগ করা হয়েছে, যা স্টিরিওস্কোপিক কন্টেন্ট রেন্ডার করতে ব্যবহার করা যায়।SpatialExternalSurfaceমডিফায়ার (আলফা ছাড়া) এবং একটি এজ ফেদারিং এফেক্ট দিয়ে কাস্টমাইজ করা যায়। - একটি নতুন
pointerHoverIconSubspace Modifier' যোগ করা হয়েছে, যা ব্যবহারকারীদের স্পেশিয়াল পয়েন্টারের জন্য আইকন সেট করার সুযোগ দেয়।
এপিআই পরিবর্তন
- সমস্ত Jetpack XR প্যাকেজ থেকে
RequiresApi(34)সীমাবদ্ধতা সরানো হয়েছে। এই সীমাবদ্ধতাটি অপ্রয়োজনীয় ছিল কারণ Jetpack XR বর্তমানে শুধুমাত্র API লেভেল 34+ যুক্ত ডিভাইসগুলিতে উপলব্ধ। ( Iae0f8 ) - Kotlin 2.0 দিয়ে প্রকাশিত প্রজেক্টগুলো ব্যবহার করার জন্য KGP 2.0.0 বা তার নতুন সংস্করণ প্রয়োজন। ( Idb6b5 )
- এখন থেকে এমবেডেড অ্যাক্টিভিটি ছাড়া স্পেশিয়াল প্যানেলেও ব্যাক হ্যান্ডলিং কাজ করবে। ব্যাক হ্যান্ডলিং কার্যকর করার জন্য আপনাকে অ্যান্ড্রয়েড ম্যানিফেস্টে
android:enableOnBackInvokedCallback="true"উল্লেখ করতে হবে। - এখন থেকে স্পেশিয়াল ডায়ালগেও ব্যাকহ্যান্ডলিং কাজ করবে। ব্যাকহ্যান্ডলিং কার্যকর করার জন্য আপনাকে অ্যান্ড্রয়েড ম্যানিফেস্টে
android:enableOnBackInvokedCallback="true"উল্লেখ করতে হবে। - কম্পোজ-ভিত্তিক এবং ভিউ-ভিত্তিক
SpatialPanelএখন তাদের ভেতরের বিষয়বস্তুর ওপর ভিত্তি করে নিজেদের আকার পরিবর্তন করতে পারে। - ডেভেলপাররা এখন তাদের নিজস্ব কাস্টম
SpatialElevationLevelমান নির্ধারণ করতে পারবেন এবং তারা পূর্বনির্ধারিত লেভেলগুলোর মধ্যে সীমাবদ্ধ থাকবেন না। - এখন
elevationপ্যারামিটারের মাধ্যমে অরবিটারের উচ্চতার স্তর কাস্টমাইজ করা যেতে পারে। - ডিফল্টরূপে, সাবস্পেসকে এখন
SpatialUserএর ফিল্ড অফ ভিউ দ্বারা প্রস্থ এবং উচ্চতায় সীমাবদ্ধ করা যায়। যদি ফিল্ড অফ ভিউ নির্ধারণ করা না যায়, তবে ডিফল্ট ফিল্ড অফ ভিউ-এর প্রস্থ এবং উচ্চতার মান ব্যবহার করা হয়। -
Movableমডিফায়ারেonMoveStartএবংonMoveEndনামে নতুন কলব্যাক যোগ করা হয়েছে। যখন ব্যবহারকারী Movable মডিফায়ার দিয়ে কম্পোজেবল কোনো সাবস্পেস সরানো শুরু ও শেষ করেন, তখন এইonMoveStartএবংonMoveEndকলব্যাকগুলো কল করা হয়। -
SpatialRowএবংSpatialPanelএর মতো স্পেশিয়াল এপিআইগুলো থেকেnameপ্যারামিটারটি সরিয়ে দেওয়া হয়েছে। স্পেশিয়াল কম্পোজ ট্রি ডিবাগ করার জন্য এর পরিবর্তেSubspaceModifier.testTagব্যবহার করুন। -
SpatialPopupএর একটি অসমর্থিত ওভারলোড সরানো হয়েছে, যেটিতে শুধুমাত্রspatialElevationLevelএবংcontentছিল। অনুগ্রহ করে সেই ইন্টারফেসটি ব্যবহার করুন যাonDimissRequestসমর্থন করে। - Movable মডিফায়ার থেকে
onPoseChangeকলব্যাকটি সরিয়ে দেওয়া হয়েছে। এর পরিবর্তেonMoveব্যবহার করুন। -
SubspaceModifiersবিচ্ছিন্ন থাকলে বা বিচ্ছিন্ন হওয়ার প্রক্রিয়ায় থাকলে, সেগুলো আর তাদের প্রভাব প্রয়োগ করবে না। - বিদ্যমান
SpatialRowAPI-টিকেSpatialRowএবংSpatialCurvedRowতে বিভক্ত করা হয়েছে। যদি আগেSpatialRowএরcurveRadiusপ্যারামিটার ব্যবহার করে থাকেন, তবে এখন এর পরিবর্তেSpatialCurvedRowব্যবহার করুন, যা একই রকম কার্যকারিতা প্রদান করে। - তুলনামূলকভাবে সাম্প্রতিক সিস্টেম ইমেজে চালালে
MainPanelএবংActivityPanelআর টাইটেল বার থাকে না। - আলফা এবং স্কেল মডিফায়ারগুলো এখন স্ট্যাকেবল এবং চূড়ান্তভাবে প্রয়োগকৃত আলফা বা স্কেল মানের জন্য এদের মানগুলো গুণ করা হবে।
- আরও মসৃণ পোজ মুভমেন্ট সম্পাদনের জন্য Movable মডিফায়ারের
onPoseChangeকলব্যাকটি অপ্টিমাইজ করা হয়েছে। - মুভেবল এবং রিসাইজেবল মডিফায়ারগুলো এখন তাদের কলব্যাকগুলো মেইন থ্রেডে সম্পাদন করবে, যাতে স্টেট পরিবর্তনের ফলে রিকম্পোজিশন চালু হয়।
- লেআউট এবং মেজার পর্যায়ে স্টেট অবজারভেশন যোগ করা হয়েছে, যাতে
SubspaceLayoutস্টেট পরিবর্তন রিলেআউট ট্রিগার করে। - বিদ্যমান মডিফায়ারগুলোকে আরও ভালোভাবে পুনঃব্যবহার করার জন্য মডিফায়ার চেইন আপডেট করা হয়েছে।
বাগ সংশোধন
- একটি
SpatialDialogদেখানো হলে স্ক্রিমিং বন্ধ করা হয়েছে। ( Ic4594 ) - মডিফায়ার নোডগুলো বিচ্ছিন্ন থাকা অবস্থায় করা রিলেআউট অনুরোধগুলো এখন উপেক্ষা করা হবে।
- Movable এবং Resizable মডিফায়ার দ্বারা ট্রিগার হওয়া রিলেআউট পর্যায়গুলো সরিয়ে ফেলা হয়েছে।
-
MainPanel()কম্পোজেবলে একটি ক্র্যাশ ঠিক করা হয়েছে, যা সরাসরি অথবা কোনো লেআউট ক্যালকুলেশনের (যেমন,SpatialRow/SpatialColumnক্যালকুলেশন) সময় যেকোনো একটি ডাইমেনশনকে শূন্যে সেট করলে ঘটত। এর পরিবর্তে প্যানেলটি এখন থেকে লুকানো থাকবে। উল্লেখ্য যে, এই সমাধানটি বিশেষভাবে লেআউট পর্যায়ের ক্র্যাশগুলোর জন্য; ব্যবহারকারীর ইন্টারঅ্যাকশনের মাধ্যমে প্যানেলের আকার শূন্যে পরিবর্তন করার বিষয়টি আলাদাভাবে পরিচালনা করা হবে। লুকানো প্যানেলে কোনো UI অ্যাফোর্ডেন্স থাকবে না। - resizable মডিফায়ারের
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-এ এই কমিটগুলো রয়েছে।
নতুন বৈশিষ্ট্য
- এখন কোনো স্পেশাল ডায়ালগ সক্রিয় করা হলে অ্যাক্টিভিটি প্যানেল তার বিষয়বস্তু স্ক্রিম করতে পারবে।
-
Orbiterএপিআই এখনSubspaceComposableপ্রেক্ষাপটে ব্যবহারযোগ্য এবং এটি অরবিটারগুলোকে তাদের নিকটতমSubspaceLayout-ভিত্তিক কম্পোজেবল প্যারেন্টের সাথে সংযুক্ত করবে। - কাস্টম পজিশনিং-ভিত্তিক মডিফায়ার ব্যবহারের সুযোগ দিতে
LayoutCoordinatesAwareModifierNodeচালু করা হয়েছে। -
SubspaceModifier.Nodeএ attach/detach লাইফসাইকেল মেথড যোগ করা হয়েছে। - movable মডিফায়ারে
scaleWithDistanceযোগ করা হয়েছে।scaleWithDistanceসক্রিয় করা হলে, সরানো সাবস্পেস এলিমেন্টটি বড় বা ছোট হবে। এটি সরানোর আগে এর যে কোনো সুস্পষ্ট স্কেলও বজায় রাখবে।
এপিআই পরিবর্তন
-
SessionCallbackProviderসরিয়েSpatialCapabilitiesব্যবহার করা হয়েছে।
অন্যান্য পরিবর্তন
-
minSDKকমিয়ে ২৪ করা হয়েছে। রানটাইমে সমস্ত Jetpack XR API-এর জন্য এখনও API 34 প্রয়োজন। -
OrbiterEdgeOffset.inner,EdgeOffset.outer, এবংEdgeOffset.overlapকনস্ট্রাক্টরগুলো এখন আর@Composableমেথড নয়, যার ফলে এগুলো নন-কম্পোজেবল প্রেক্ষাপটেও ব্যবহার করা যায়। - সর্বশেষ ইউএক্স স্পেকের সাথে সামঞ্জস্য রেখে স্পেশিয়াল এলিভেশন লেভেল আপডেট করুন।
-
MeasurableLayoutএSubspaceSemanticsInfoইন্টারফেসটি প্রয়োগ করুন। -
SubspaceModifierElementনাম পরিবর্তন করেSubspaceModifierNodeElementরাখা হয়েছে।
বাগ সংশোধন
-
SubspaceModifierক্রম স্থিতিশীল করার জন্য সংশোধন করা হয়েছে।SubspaceModifierএখন আরও নির্ভরযোগ্যভাবে কাজ করবে। Offset, rotate, scale, movable, এবং resizable মডিফায়ার এখন যেকোনো ক্রমে ব্যবহার করা যাবে।
সংস্করণ 1.0.0-alpha01
১২ ডিসেম্বর, ২০২৪
androidx.xr.compose:compose-*1.0.0-alpha01 প্রকাশিত হয়েছে।
প্রাথমিক রিলিজের বৈশিষ্ট্যসমূহ
Initial developer release of Jetpack Compose for XR. Use familiar Compose concepts such as rows and columns to create spatial UI layouts in XR, whether you're porting an existing 2D app to XR or creating a new XR app from scratch. This library provides subspace and spatial composables: such as spatial panels and orbiters, which let you place your existing 2D Compose or Views-based UI in a spatial layout. It introduces the Volume subspace composable, which allows you to place SceneCore entities, such as 3D models, relative to your UI. Learn more in this developer guide :
Subspace: This composable can be placed anywhere within your app's UI hierarchy, allowing you to maintain layouts for 2D and spatial UI without losing context between files. This makes it easier to share things like existing app architecture between XR and other form factors without needing to hoist state through your whole UI tree or re-architect your app.SpatialPanel : A spatial panel is a subspace composable that lets you display app content–for example, you could display video playback, still images, or any other content in a spatial panel.
Orbiter : An orbiter is a spatial UI component. It's designed to be attached to a corresponding spatial panel, and contains navigation and contextual action items related to that spatial panel. For example, if you've created a spatial panel to display video content, you could add video playback controls inside an orbiter.
Volume : Place SceneCore entities, such as 3D models, relative to your UI.
Spatial Layout: You can create multiple spatial panels and place them within a Spatial Layout using
SpatialRow,SpatialColumn,SpatialBox, andSpatialLayoutSpacer. UseSubspaceModifiers to customize your layout.Spatial UI components: These elements can be reused in your 2D UI, and their spatial attributes will only be visible when spatial capabilities are enabled.
-
SpatialDialog: Panel will push slightly back in z-depth to display an elevated dialog. -
SpatialPopUp: Panel will push slightly back in z-depth to display an elevated popup -
SpatialElevation:SpatialElevationLevelcan be set to add elevation.
-
SpatialCapabilities: Spatial capabilities can change as users interact with your app or the system, or can even be changed by your app itself—for example, moving into Home Space or Full Space. To avoid issues, your app needs to check for
LocalSpatialCapabilities.currentto determine which APIs are supported in the current environment.isSpatialUiEnabled: Spatial UI elements (eg SpatialPanel)isContent3dEnabled: 3D objectsisAppEnvironmentEnabled: The environmentisPassthroughControlEnabled: Whether or not the application can control the passthrough stateisSpatialAudioEnabled: Spatial audio
Known Issues
- Currently a minSDK of 30 is required to use Jetpack Compose for XR. As a workaround you may add the following manifest entry
<uses-sdk tools:overrideLibrary="androidx.xr.scenecore, androidx.xr.compose"/>to be able to build and run with a minSDK of 23. - Jetpack XR apps currently require requesting
android.permission.SCENE_UNDERSTANDINGpermission in the AndroidManifest. - When an app launches directly into Full Space using the
PROPERTY_XR_ACTIVITY_START_MODEproperty in their manifest, Activities/Applications are initially opened in Home Space before transitioning into Full Space. - glTFs in Volume Composables may initially flicker at the wrong location.
- Using a SpatialDialog in a panel that has been moved significantly will push the content in the wrong direction.