XR এর জন্য Jetpack Compose
সর্বশেষ আপডেট | স্থিতিশীল রিলিজ | রিলিজ প্রার্থী | বিটা রিলিজ | আলফা রিলিজ |
---|---|---|---|---|
২২ অক্টোবর, ২০২৫ | - | - | - | ১.০.০-আলফা০৮ |
নির্ভরতা ঘোষণা করা
XR কম্পোজের উপর নির্ভরতা যোগ করতে, আপনার প্রোজেক্টে Google Maven রিপোজিটরি যোগ করতে হবে। আরও তথ্যের জন্য Google এর Maven রিপোজিটরি পড়ুন।
আপনার অ্যাপ বা মডিউলের জন্য build.gradle
ফাইলে আপনার প্রয়োজনীয় আর্টিফ্যাক্টের জন্য নির্ভরতা যোগ করুন:
গ্রোভি
dependencies { implementation "androidx.xr.compose:compose:1.0.0-alpha08" // Use to write unit tests testImplementation "androidx.xr.compose:compose-testing:1.0.0-alpha08" }
কোটলিন
dependencies { implementation("androidx.xr.compose:compose:1.0.0-alpha08") // Use to write unit tests testImplementation("androidx.xr.compose:compose-testing:1.0.0-alpha08") }
নির্ভরতা সম্পর্কে আরও তথ্যের জন্য, বিল্ড নির্ভরতা যোগ করুন দেখুন।
প্রতিক্রিয়া
আপনার মতামত জেটপ্যাককে আরও উন্নত করতে সাহায্য করবে। আপনি যদি নতুন সমস্যা আবিষ্কার করেন অথবা এই লাইব্রেরি উন্নত করার জন্য কোন ধারণা থাকে তাহলে আমাদের জানান। নতুন একটি তৈরি করার আগে দয়া করে এই লাইব্রেরিতে বিদ্যমান সমস্যাগুলি একবার দেখে নিন। আপনি তারকা বোতামে ক্লিক করে বিদ্যমান সমস্যাটিতে আপনার ভোট যোগ করতে পারেন।
আরও তথ্যের জন্য ইস্যু ট্র্যাকার ডকুমেন্টেশন দেখুন।
সংস্করণ 1.0
সংস্করণ 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 )
সংস্করণ 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
এর জন্য একটি বেস ইন্টারফেস যোগ করা হয়েছে; যেমন-
CompositionLocalConsumerSubspaceModifierNode
-
LayoutCoordinatesAwareModifierNode
-
SubspaceLayoutModifierNode
-
CoreEntityNode
(অভ্যন্তরীণ) ( Iede00 , b/440599394 , b/440599394 )
-
-
SpatialExternalSurface
সীমাবদ্ধ করুন ( I33315 , b/439646773 ) -
SubspaceModifier
Subspace composables এর সাথে যুক্ত করুন এবং constraints প্যারামিটারকেSubspaceModifier
দিয়ে size-relatedSubspaceModifiers
দিয়ে প্রতিস্থাপন করুন। যদিallowUnboundedSubspace
true হয়, তাহলে Subspace গুলিতে unbounded constraints থাকতে পারে। ( Ib06e6 , b/433331675 ) -
DragPolicy()
এবংResizePolicy()
এখনSpatialPanel
এবংSpatialExternalSurface
API ( I397bf , b/437924639 ) এর অংশ হওয়ায় চলমান এবং আকার পরিবর্তনযোগ্যSubspaceModifiers
অবমূল্যায়ন করা হচ্ছে। - স্থানিক লেআউটে
LayoutDirection
এর জন্য সমর্থন যোগ করা হয়েছে।SpatialAlignment
ব্যবহার করে কম্পোজেবল এখন LTR এবং RTL উভয় প্রসঙ্গেই উপাদানগুলিকে সঠিকভাবে স্থাপন করবে। ( I964bb , b/436300273 ) -
Panel
API গুলিতে রিসাইজেবল এবং মুভেবল প্যারামিটার যোগ করুন যাতে নিশ্চিত করা যায় যে এই আচরণগুলি শুধুমাত্র সমর্থিত কন্টেইনারগুলিতে প্রয়োগ করা যেতে পারে। ( Id491c ) -
sizeIn
,widthIn
,heightIn
,depthIn
SubspaceModifiers
যোগ করা হয়েছে যা আপনাকে প্রস্থ, উচ্চতা এবং গভীরতার জন্য সঠিক সর্বনিম্ন এবং সর্বোচ্চ সীমাবদ্ধতা সেট করতে দেয়। ( 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 ) - ১৮০ এবং ৩৬০ ডিগ্রি গোলকের প্রতিনিধিত্বকারী দুটি নতুন
SpatialExternalSurface
পৃষ্ঠ কম্পোজেবল। ( I40ef2 , b/391705799 ) -
SubspaceModifier.aspectRatio
যোগ করা হয়েছে ( Ide5ab , b/399729509 , b/414762147 ) - XR-এর জন্য
SceneCore
এবং Compose-এর মধ্যে আন্তঃকার্যক্ষমতা উন্নত করতেSceneCoreEntity
API যোগ করা হয়েছে। ( I50bb3 , b/423020989 ) - আনস্কেলড এবং
GravityAligned
বৈশিষ্ট্য ( I07359 ) সমর্থন করার জন্যGravityAlignedsubspace
API প্রদান করা হয়েছে।
API পরিবর্তনগুলি
-
SpatialDialog()
SpatialDialogProperties.dismissOnBack
প্রেস কনফিগারেশন অনুসরণ করবে। ( Ib453b , b/416797132 ) - মিটারে উপস্থাপনের কারণে
minimumPanelDimension
Dimensions(0.1f, 0.1f, 0.1f)
এর একটি নতুন ডিফল্ট Dimension আকারে আপডেট করুন। ( Ib852a ) - সাবস্পেস এবং অরবিটারগুলি এখন হোম স্পেসে এবং অ্যাপটি ব্যাকগ্রাউন্ডে থাকাকালীন তাদের অভ্যন্তরীণ অবস্থা বজায় রাখবে। হোম স্পেস মোডে, ফুল স্পেস মোডে স্যুইচ করার প্রস্তুতির জন্য সাবস্পেস এখনও তার দৃশ্য সেট আপ করবে। ( I40317 , b/416037751 )
- অ্যাপটি ব্যাকগ্রাউন্ডে থাকাকালীন
SpatialDialogs
এখন তাদের অবস্থা ধরে রাখবে। ( I6aa56 ) -
ApplicationSubspace
এখন সিস্টেম থেকে তার প্রস্তাবিত স্কেল এবং অবস্থান উত্তরাধিকারসূত্রে পাবে। ( I4565f , b/418834194 ) - একটি উন্নত ত্রুটি বার্তা যোগ করা হয়েছে এবং যখন একটি
SubspaceComposable
একটি নন-SubspaceComposable
প্রসঙ্গে ব্যবহৃত হয় তখন ত্রুটিটি আগে ট্রিগার করা হয়েছে। ( Iee2ae , b/416484684 ) - কম্পোজেবল API-এর অপব্যবহারের সময় প্রায়শই সতর্কতা উপেক্ষা করা হয় বলে
ExperimentalSubspaceVolumeApi
Warning থেকে Error-এ আপডেট করা হচ্ছে। ( 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 ) - কম্পোজের
Placeable
থেকে আলাদা করার জন্য XRPlaceable
নাম পরিবর্তন করেSubspacePlaceable
হয়েছে। ( I74874 ) - Orbiter সেটিংস অপসারণ করে
shouldRenderInNonSpatial
একটি নতুন প্যারামিটার হিসেবে যুক্ত করা হচ্ছে। এছাড়াও,Orbiter()
ফাংশনগুলিকে একীভূত করার জন্যEdgeOffset
ক্লাসটি সরিয়েorbiterOffsetType
একটি নতুন প্যারামিটার হিসেবে যুক্ত করা হচ্ছে। পাশাপাশিOrbiterEdge
নাম পরিবর্তন করেContentEdge
। ( Iebf3d ) - কম্পোজের
Measurable
টাইপ থেকে টাইপটিকে আলাদা করার জন্যMeasurable
এর নাম পরিবর্তন করেSubspaceMeasurable
করা হয়েছে। ( I9726c ) -
MeasureResult
নাম পরিবর্তন করেSubspaceMeasureResult
( I9f34d ) করুন। -
setSubspaceContent
API সরিয়ে দিয়ে Compose এরsetContent
Subspace
composable এর সাথে ব্যবহার করার সুবিধা দেওয়া হয়েছে। ( 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
( Ifee05 ) হিসেবেCoreEntity
সরানো হয়েছে
বাগ ফিক্স
- রেন্ডার করার সময়
SpatialDialog
ফ্ল্যাশ করার সমস্যাটি সমাধান করা হয়েছে। ( Ife73c , b/401619909 ) -
SpatialDialog
অ্যাক্টিভিটি প্যানেল স্ক্রিম করতে না পারার সমস্যাটি সমাধান করে। ( I8ca6c , b/367442109 ) - XR ডায়ালগে কিছু কন্টেন্ট দেখাচ্ছে না তা ঠিক করুন ( I17cd5 , b/418062437 )
- কন্টেন্টের ভেতরে ক্লিক করলে
SpatialPopup
বন্ধ হয়ে যাওয়ার সমস্যাটি সমাধান করা হয়েছে। ( If262c , b/417245722 ) -
resizable().movable()
চেইন করার সময় SpatialPanel নতুন আকারে সঠিকভাবে আকার পরিবর্তন করতে ব্যর্থ হওয়ার সমস্যাটি সমাধান করা হয়েছে। ( I02ee3 , b/422264230 ) -
SpatialComposeVideoPlayer
( Id33bc , b/427168167 ) এ মেনুর সাথেtopBar
ওভারল্যাপিং স্থির করা হয়েছে। - স্থির কোণার ব্যাসার্ধ রেন্ডারিং হচ্ছে না ( 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
ইন্টারফেস যোগ করা হয়েছে। - একটি নতুন
SpatialPanel
API যোগ করা হয়েছে যা composeAndroidView
বাস্তবায়ন শৈলী অনুসরণ করে এবং পূর্ববর্তীViewBased SpatialPanel
অবমূল্যায়ন করে। -
VolumeConstraints.Unbounded
যোগ করা হয়েছে। আনবাউন্ডেড কম্প্যানিয়ন অবজেক্ট যা আনবাউন্ডেড কনস্ট্রেইন্টসকে প্রতিনিধিত্ব করে। - একটি স্থানিক অডিও উৎস অনুমোদনের জন্য
SubspaceModifier.onPointSourceParams
যোগ করা হয়েছে। - একটি পাবলিক
ApplicationSubspace
যোগ করা হয়েছে, যা ঐচ্ছিকVolumeConstraints
অফার করে একটি 3D এলাকা নির্ধারণ করে যেখানে অ্যাপটি স্থানিক বিষয়বস্তু রেন্ডার করতে পারে। ডিফল্টরূপে, যদি কোনও সীমাবদ্ধতা নির্দিষ্ট না করা থাকে, তাহলে সাবস্পেসটিSpatialUser
এর বর্তমান দৃশ্য ক্ষেত্র দ্বারা প্রস্থ এবং উচ্চতায় আবদ্ধ থাকবে। যদি দৃশ্য ক্ষেত্র নির্ধারণ করা না যায় তবে ব্যবহারকারীরা ব্যবহারের জন্য সীমাবদ্ধতা প্রদান করতে পারেন। অন্যথায়, দৃশ্য ক্ষেত্র প্রস্থ এবং উচ্চতা মানগুলি ব্যবহার করা হয়। -
SpatialExternalSurface
যোগ করা হয়েছে, যা স্টেরিওস্কোপিক কন্টেন্ট রেন্ডার করতে ব্যবহার করা যেতে পারে।SpatialExternalSurface
মডিফায়ার (আলফা ব্যতীত) এবং একটি এজ ফেদারিং এফেক্ট সহ কাস্টমাইজযোগ্য। - একটি নতুন
pointerHoverIcon
সাবস্পেস মডিফায়ার যোগ করা হয়েছে যা ব্যবহারকারীদের স্থানিক পয়েন্টারের জন্য আইকন সেট করতে দেয়।
API পরিবর্তনগুলি
- সমস্ত Jetpack XR প্যাকেজ থেকে
RequiresApi(34)
সীমাবদ্ধতা অপসারণ করা হয়েছে। এই সীমাবদ্ধতাটি অপ্রয়োজনীয় ছিল কারণ Jetpack XR বর্তমানে শুধুমাত্র API লেভেল 34+ সহ ডিভাইসগুলিতে উপলব্ধ। ( Iae0f8 ) - Kotlin 2.0 দিয়ে মুক্তিপ্রাপ্ত প্রকল্পগুলির জন্য KGP 2.0.0 বা তার নতুন সংস্করণ ব্যবহার করা প্রয়োজন। ( Idb6b5 )
- ব্যাক হ্যান্ডলিং এখন স্পেশিয়াল প্যানেলে এমবেডেড অ্যাক্টিভিটি ছাড়াই কাজ করবে। ব্যাক হ্যান্ডলিং কাজ করার জন্য আপনাকে android ম্যানিফেস্টে
android:enableOnBackInvokedCallback="true"
উল্লেখ করতে হবে। - ব্যাকহ্যান্ডলিং এখন স্থানিক ডায়ালগে কাজ করবে। ব্যাকহ্যান্ডলিং কাজ করার জন্য আপনাকে android ম্যানিফেস্টে
android:enableOnBackInvokedCallback="true"
উল্লেখ করতে হবে। - কম্পোজ-ভিত্তিক এবং ভিউ-ভিত্তিক
SpatialPanel
ব্যবহারকারীরা এখন তাদের বিষয়বস্তুর উপর ভিত্তি করে নিজেদের আকার নির্ধারণ করতে পারবেন। - ডেভেলপাররা এখন তাদের নিজস্ব কাস্টম
SpatialElevationLevel
মান সেট করতে পারবেন এবং পূর্বনির্ধারিত স্তরের মধ্যে সীমাবদ্ধ থাকবেন না। - অরবিটারের উচ্চতা স্তর এখন
elevation
প্যারামিটারের মাধ্যমে কাস্টমাইজ করা যেতে পারে। - সাবস্পেস এখন ডিফল্টরূপে
SpatialUser
এর ভিউ ফিল্ড অফ ভিউ দ্বারা প্রস্থ এবং উচ্চতায় আবদ্ধ করা যেতে পারে। যদি ভিউ ফিল্ড নির্ধারণ করা না যায়, তাহলে ডিফল্ট ফিল্ড অফ ভিউ প্রস্থ এবং উচ্চতা মান ব্যবহার করা হয়। -
Movable
মডিফায়ারেonMoveStart
এবংonMoveEnd
এ নতুন কলব্যাক যোগ করা হয়েছে। ব্যবহারকারী যখন movable মডিফায়ারের সাথে কম্পোজেবল একটি সাবস্পেস সরানো শুরু করে এবং শেষ করে তখনonMoveStart
এবংonMoveEnd
কলব্যাকগুলি কল করা হয়। -
SpatialRow
এবংSpatialPanel
এর মতো spatial API গুলি থেকেname
প্যারামিটারটি সরানো হয়েছে। spatial compose trees ডিবাগ করার জন্যSubspaceModifier.testTag
ব্যবহার করুন। -
SpatialPopup
এর একটি অসমর্থিত ওভারলোড সরানো হয়েছে যাতে শুধুমাত্রspatialElevationLevel
এবংcontent
আছে। অনুগ্রহ করেonDimissRequest
সমর্থন করে এমন ইন্টারফেস ব্যবহার করুন। - Movable মডিফায়ার থেকে
onPoseChange
কলব্যাকটি সরানো হয়েছে। পরিবর্তেonMove
ব্যবহার করুন। -
SubspaceModifiers
আর তাদের প্রভাবগুলি প্রয়োগ করবে না যদি সেগুলি বিচ্ছিন্ন থাকে বা বর্তমানে বিচ্ছিন্ন হচ্ছে। - বিদ্যমান
SpatialRow
API কেSpatialRow
এবংSpatialCurvedRow
এ বিভক্ত করা হয়েছে। যদি আগেSpatialRow
এরcurveRadius
প্যারামিটার ব্যবহার করে থাকেন, তাহলে এখনSpatialCurvedRow
ব্যবহার করুন যা একই আচরণ প্রদান করে। - একই রকম সাম্প্রতিক সিস্টেম ইমেজে চালানো হলে
MainPanel
এবংActivityPanel
আর টাইটেল বার থাকে না। - আলফা এবং স্কেল মডিফায়ারগুলি এখন স্ট্যাকেবল এবং চূড়ান্ত প্রয়োগকৃত আলফা বা স্কেল মানের জন্য তাদের মানগুলিকে গুণ করবে।
- মুভেবল মডিফায়ারের
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-এ এই কমিটগুলি রয়েছে।
নতুন বৈশিষ্ট্য
- একটি স্থানিক ডায়ালগ সক্রিয় করা হলে অ্যাক্টিভিটি প্যানেল এখন তার বিষয়বস্তু স্ক্রিম করতে পারে।
-
Orbiter
এপিআই এখনSubspaceComposable
প্রসঙ্গে ব্যবহারযোগ্য এবং অরবিটারগুলিকে তাদের নিকটতমSubspaceLayout
-ভিত্তিক কম্পোজেবল প্যারেন্টের সাথে সংযুক্ত করবে। - কাস্টম পজিশনিং-ভিত্তিক মডিফায়ারগুলিকে অনুমতি দেওয়ার জন্য
LayoutCoordinatesAwareModifierNode
চালু করা হয়েছে। -
SubspaceModifier.Node
এ attach/detach লাইফসাইকেল পদ্ধতি যোগ করা হয়েছে। - চলমান সংশোধকটিতে
scaleWithDistance
যোগ করা হয়েছে। যখনscaleWithDistance
সক্রিয় করা হয়, তখন সরানো সাবস্পেস উপাদানটি বৃদ্ধি বা সঙ্কুচিত হবে। এটি চলাচলের আগে থাকা যেকোনো স্পষ্ট স্কেলও বজায় রাখবে।
API পরিবর্তনগুলি
-
SpatialCapabilities
এর পক্ষেSessionCallbackProvider
সরানো হয়েছে।
অন্যান্য পরিবর্তন
-
minSDK
কমিয়ে ২৪ করা হয়েছে। সমস্ত Jetpack XR API-এর রানটাইমে API 34 প্রয়োজন হবে। -
Orbiter
EdgeOffset.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-এর প্রাথমিক ডেভেলপার রিলিজ। XR-এ স্থানিক UI লেআউট তৈরি করতে সারি এবং কলামের মতো পরিচিত কম্পোজ ধারণাগুলি ব্যবহার করুন, আপনি XR-এ বিদ্যমান 2D অ্যাপ পোর্ট করছেন বা স্ক্র্যাচ থেকে একটি নতুন XR অ্যাপ তৈরি করছেন। এই লাইব্রেরিটি সাবস্পেস এবং স্থানিক কম্পোজেবল সরবরাহ করে: যেমন স্থানিক প্যানেল এবং অরবিটার, যা আপনাকে আপনার বিদ্যমান 2D কম্পোজ বা ভিউ-ভিত্তিক UI একটি স্থানিক লেআউটে স্থাপন করতে দেয়। এটি ভলিউম সাবস্পেস কম্পোজেবল প্রবর্তন করে, যা আপনাকে আপনার UI-এর সাথে সম্পর্কিত 3D মডেলের মতো SceneCore সত্তা স্থাপন করতে দেয়। এই ডেভেলপার গাইডে আরও জানুন:
Subspace
: এই কম্পোজেবলটি আপনার অ্যাপের UI হায়ারার্কির যেকোনো জায়গায় স্থাপন করা যেতে পারে, যার ফলে আপনি ফাইলের মধ্যে প্রসঙ্গ না হারিয়ে 2D এবং স্থানিক UI এর জন্য লেআউট বজায় রাখতে পারবেন। এটি XR এবং অন্যান্য ফর্ম ফ্যাক্টরের মধ্যে বিদ্যমান অ্যাপ আর্কিটেকচারের মতো জিনিসগুলি ভাগ করে নেওয়া সহজ করে তোলে, আপনার পুরো UI ট্রিতে অবস্থা উত্তোলন না করে বা আপনার অ্যাপটি পুনরায় আর্কিটেক্ট না করে।স্পেশিয়ালপ্যানেল : একটি স্পেশিয়াল প্যানেল হল একটি সাবস্পেস কম্পোজেবল যা আপনাকে অ্যাপের কন্টেন্ট প্রদর্শন করতে দেয় - উদাহরণস্বরূপ, আপনি একটি স্পেশিয়াল প্যানেলে ভিডিও প্লেব্যাক, স্থির চিত্র বা অন্য কোনও কন্টেন্ট প্রদর্শন করতে পারেন।
অরবিটার : একটি অরবিটার হল একটি স্থানিক UI উপাদান। এটি একটি সংশ্লিষ্ট স্থানিক প্যানেলের সাথে সংযুক্ত করার জন্য ডিজাইন করা হয়েছে এবং এতে সেই স্থানিক প্যানেলের সাথে সম্পর্কিত নেভিগেশন এবং প্রাসঙ্গিক ক্রিয়া আইটেম রয়েছে। উদাহরণস্বরূপ, যদি আপনি ভিডিও সামগ্রী প্রদর্শনের জন্য একটি স্থানিক প্যানেল তৈরি করে থাকেন, তাহলে আপনি একটি অরবিটারের ভিতরে ভিডিও প্লেব্যাক নিয়ন্ত্রণ যোগ করতে পারেন।
ভলিউম : আপনার UI এর সাপেক্ষে সিনকোর সত্তা, যেমন 3D মডেল, রাখুন।
স্থানিক লেআউট: আপনি একাধিক স্থানিক প্যানেল তৈরি করতে পারেন এবং
SpatialRow
,SpatialColumn
,SpatialBox
এবংSpatialLayoutSpacer
ব্যবহার করে একটি স্থানিক লেআউটের মধ্যে স্থাপন করতে পারেন। আপনার লেআউট কাস্টমাইজ করতেSubspaceModifier
ব্যবহার করুন।স্থানিক UI উপাদান: এই উপাদানগুলি আপনার 2D UI তে পুনঃব্যবহার করা যেতে পারে, এবং স্থানিক ক্ষমতা সক্রিয় থাকলেই কেবল তাদের স্থানিক বৈশিষ্ট্যগুলি দৃশ্যমান হবে।
-
SpatialDialog
: প্যানেলটি একটি উন্নত ডায়ালগ প্রদর্শনের জন্য z-depth-এ সামান্য পিছনে ঠেলে দেবে। -
SpatialPopUp
: প্যানেলটি একটি উন্নত পপআপ প্রদর্শনের জন্য z-depth-এ সামান্য পিছনে ঠেলে দেবে। -
SpatialElevation
:SpatialElevationLevel
উচ্চতা যোগ করার জন্য সেট করা যেতে পারে।
-
SpatialCapabilities: ব্যবহারকারীরা আপনার অ্যাপ বা সিস্টেমের সাথে ইন্টারঅ্যাক্ট করার সাথে সাথে স্থানিক ক্ষমতা পরিবর্তিত হতে পারে, অথবা এমনকি আপনার অ্যাপ নিজেই পরিবর্তন করতে পারে—উদাহরণস্বরূপ, Home Space বা Full Space-এ স্থানান্তরিত হওয়া। সমস্যা এড়াতে, আপনার অ্যাপটিকে
LocalSpatialCapabilities.current
পরীক্ষা করে দেখতে হবে বর্তমান পরিবেশে কোন API গুলি সমর্থিত।isSpatialUiEnabled
: Spatial UI উপাদান (যেমন SpatialPanel)isContent3dEnabled
: 3D বস্তুisAppEnvironmentEnabled
: পরিবেশisPassthroughControlEnabled
: অ্যাপ্লিকেশনটি পাসথ্রু অবস্থা নিয়ন্ত্রণ করতে পারে কিনাisSpatialAudioEnabled
: Spatial অডিও
জ্ঞাত সমস্যা
- বর্তমানে XR-এর জন্য Jetpack Compose ব্যবহার করার জন্য minSDK 30 প্রয়োজন। সমাধান হিসেবে আপনি নিম্নলিখিত ম্যানিফেস্ট এন্ট্রি
<uses-sdk tools:overrideLibrary="androidx.xr.scenecore, androidx.xr.compose"/>
যোগ করতে পারেন যাতে 23 এর minSDK তৈরি এবং চালানো যায়। - Jetpack XR অ্যাপগুলির জন্য বর্তমানে AndroidManifest-এ
android.permission.SCENE_UNDERSTANDING
অনুমতির প্রয়োজন হয়। - যখন কোনও অ্যাপ তাদের ম্যানিফেস্টে থাকা
PROPERTY_XR_ACTIVITY_START_MODE
প্রপার্টি ব্যবহার করে সরাসরি ফুল স্পেসে লঞ্চ হয়, তখন অ্যাক্টিভিটিজ/অ্যাপ্লিকেশনগুলি প্রথমে হোম স্পেসে খোলা হয় এবং তারপর ফুল স্পেসে রূপান্তরিত হয়। - ভলিউম কম্পোজেবলের glTF গুলি প্রাথমিকভাবে ভুল স্থানে ঝাঁকুনি দিতে পারে।
- উল্লেখযোগ্যভাবে সরানো হয়েছে এমন একটি প্যানেলে একটি SpatialDialog ব্যবহার করলে বিষয়বস্তু ভুল দিকে ঠেলে দেওয়া হবে।