এক্সআর-এর জন্য জেটপ্যাক কম্পোজ
| সর্বশেষ আপডেট | স্থিতিশীল রিলিজ | রিলিজ প্রার্থী | বিটা রিলিজ | আলফা রিলিজ |
|---|---|---|---|---|
| ২৫ মার্চ, ২০২৬ | - | - | - | ১.০.০-আলফা১২ |
নির্ভরতা ঘোষণা করা
XR compose-এ ডিপেন্ডেন্সি যোগ করতে হলে, আপনাকে আপনার প্রজেক্টে Google Maven রিপোজিটরিটি যুক্ত করতে হবে। আরও তথ্যের জন্য Google-এর Maven রিপোজিটরি সম্পর্কে পড়ুন।
আপনার অ্যাপ বা মডিউলের build.gradle ফাইলে প্রয়োজনীয় আর্টিফ্যাক্টগুলোর ডিপেন্ডেন্সি যোগ করুন:
গ্রোভি
dependencies { implementation "androidx.xr.compose:compose:1.0.0-alpha12" // Use to write unit tests testImplementation "androidx.xr.compose:compose-testing:1.0.0-alpha12" }
কোটলিন
dependencies { implementation("androidx.xr.compose:compose:1.0.0-alpha12") // Use to write unit tests testImplementation("androidx.xr.compose:compose-testing:1.0.0-alpha12") }
নির্ভরতা সম্পর্কে আরও তথ্যের জন্য, 'বিল্ড নির্ভরতা যোগ করুন ' দেখুন।
প্রতিক্রিয়া
আপনার মতামত জেটপ্যাককে আরও উন্নত করতে সাহায্য করে। আপনি যদি নতুন কোনো সমস্যা খুঁজে পান অথবা এই লাইব্রেরিটি উন্নত করার জন্য কোনো ধারণা থাকে, তবে আমাদের জানান। নতুন কোনো সমস্যা তৈরি করার আগে অনুগ্রহ করে এই লাইব্রেরির বিদ্যমান সমস্যাগুলো দেখে নিন। আপনি তারকা বোতামে ক্লিক করে কোনো বিদ্যমান সমস্যায় আপনার ভোট যোগ করতে পারেন।
আরও তথ্যের জন্য ইস্যু ট্র্যাকার ডকুমেন্টেশন দেখুন।
সংস্করণ ১.০
সংস্করণ 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প্যারামিটার যোগ করা হচ্ছে
এপিআই পরিবর্তন
- লেআউটের দিক সচেতনতার জন্য সাবস্পেস মডিফায়ারের প্যাডিং পরিবর্তন। ( 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 প্রকাশিত হয়েছে।
প্রাথমিক রিলিজের বৈশিষ্ট্যসমূহ
Jetpack Compose for XR-এর প্রাথমিক ডেভেলপার রিলিজ। আপনি একটি বিদ্যমান 2D অ্যাপকে XR-এ পোর্ট করুন বা একেবারে নতুন একটি XR অ্যাপ তৈরি করুন, XR-এ স্পেশিয়াল UI লেআউট তৈরি করতে সারি এবং কলামের মতো পরিচিত Compose ধারণাগুলি ব্যবহার করুন। এই লাইব্রেরিটি সাবস্পেস এবং স্পেশিয়াল কম্পোজেবল প্রদান করে: যেমন স্পেশিয়াল প্যানেল এবং অরবিটার, যা আপনাকে আপনার বিদ্যমান 2D Compose বা Views-ভিত্তিক UI একটি স্পেশিয়াল লেআউটে স্থাপন করতে দেয়। এটি ভলিউম সাবস্পেস কম্পোজেবল চালু করেছে, যা আপনাকে আপনার UI-এর সাপেক্ষে 3D মডেলের মতো SceneCore এনটিটি স্থাপন করার সুযোগ দেয়। এই ডেভেলপার গাইডে আরও জানুন:
Subspace: এই কম্পোজেবলটি আপনার অ্যাপের UI হায়ারার্কির যেকোনো জায়গায় রাখা যেতে পারে, যা আপনাকে ফাইলগুলির মধ্যে কনটেক্সট না হারিয়ে 2D এবং স্পেশিয়াল UI-এর লেআউট বজায় রাখতে সাহায্য করে। এর ফলে আপনার পুরো UI ট্রি জুড়ে স্টেট হোইস্ট করা বা আপনার অ্যাপের আর্কিটেকচার নতুন করে তৈরি করার প্রয়োজন ছাড়াই XR এবং অন্যান্য ফর্ম ফ্যাক্টরের মধ্যে বিদ্যমান অ্যাপ আর্কিটেকচারের মতো বিষয়গুলি শেয়ার করা সহজ হয়।স্পেশাল প্যানেল : একটি স্পেশাল প্যানেল হলো একটি কম্পোজেবল সাবস্পেস যা আপনাকে অ্যাপের কন্টেন্ট প্রদর্শন করতে দেয়—উদাহরণস্বরূপ, আপনি একটি স্পেশাল প্যানেলে ভিডিও প্লেব্যাক, স্থির চিত্র বা অন্য যেকোনো কন্টেন্ট প্রদর্শন করতে পারেন।
অরবিটার : অরবিটার হলো একটি স্পেশিয়াল UI কম্পোনেন্ট। এটি একটি সংশ্লিষ্ট স্পেশিয়াল প্যানেলের সাথে সংযুক্ত করার জন্য ডিজাইন করা হয়েছে এবং এতে সেই স্পেশিয়াল প্যানেল সম্পর্কিত নেভিগেশন ও প্রাসঙ্গিক অ্যাকশন আইটেম থাকে। উদাহরণস্বরূপ, যদি আপনি ভিডিও কন্টেন্ট দেখানোর জন্য একটি স্পেশিয়াল প্যানেল তৈরি করে থাকেন, তাহলে আপনি একটি অরবিটারের ভিতরে ভিডিও প্লেব্যাক কন্ট্রোল যোগ করতে পারেন।
আয়তন : আপনার UI-এর সাপেক্ষে SceneCore এনটিটি, যেমন 3D মডেল, স্থাপন করুন।
স্পেশাল লেআউট: আপনি
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: স্থানিক অডিও
পরিচিত সমস্যা
- বর্তমানে Jetpack Compose for XR ব্যবহার করার জন্য minSDK 30 প্রয়োজন। একটি বিকল্প সমাধান হিসেবে, আপনি minSDK 23 দিয়ে বিল্ড এবং রান করার জন্য নিম্নলিখিত ম্যানিফেস্ট এন্ট্রি
<uses-sdk tools:overrideLibrary="androidx.xr.scenecore, androidx.xr.compose"/>যোগ করতে পারেন। - Jetpack XR অ্যাপগুলির জন্য বর্তমানে AndroidManifest-এ
android.permission.SCENE_UNDERSTANDINGপারমিশনটি অনুরোধ করতে হয়। - যখন কোনো অ্যাপ তার ম্যানিফেস্টে
PROPERTY_XR_ACTIVITY_START_MODEপ্রপার্টি ব্যবহার করে সরাসরি ফুল স্পেসে চালু হয়, তখন অ্যাক্টিভিটি/অ্যাপ্লিকেশনগুলো ফুল স্পেসে স্থানান্তরিত হওয়ার আগে প্রাথমিকভাবে হোম স্পেসে খোলে। - ভলিউম কম্পোজেবল-এর glTF-গুলো প্রাথমিকভাবে ভুল স্থানে ঝিকমিক করতে পারে।
- উল্লেখযোগ্যভাবে সরানো কোনো প্যানেলে স্পেশাল ডায়ালগ ব্যবহার করলে তা কন্টেন্টকে ভুল দিকে ঠেলে দেবে।