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 ) -
SubspaceModifierSubspace composables এর সাথে যুক্ত করুন এবং constraints প্যারামিটারকেSubspaceModifierদিয়ে size-relatedSubspaceModifiersদিয়ে প্রতিস্থাপন করুন। যদিallowUnboundedSubspacetrue হয়, তাহলে Subspace গুলিতে unbounded constraints থাকতে পারে। ( Ib06e6 , b/433331675 ) -
DragPolicy()এবংResizePolicy()এখনSpatialPanelএবংSpatialExternalSurfaceAPI ( I397bf , b/437924639 ) এর অংশ হওয়ায় চলমান এবং আকার পরিবর্তনযোগ্যSubspaceModifiersঅবমূল্যায়ন করা হচ্ছে। - স্থানিক লেআউটে
LayoutDirectionএর জন্য সমর্থন যোগ করা হয়েছে।SpatialAlignmentব্যবহার করে কম্পোজেবল এখন LTR এবং RTL উভয় প্রসঙ্গেই উপাদানগুলিকে সঠিকভাবে স্থাপন করবে। ( I964bb , b/436300273 ) -
PanelAPI গুলিতে রিসাইজেবল এবং মুভেবল প্যারামিটার যোগ করুন যাতে নিশ্চিত করা যায় যে এই আচরণগুলি শুধুমাত্র সমর্থিত কন্টেইনারগুলিতে প্রয়োগ করা যেতে পারে। ( 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 ) - ১৮০ এবং ৩৬০ ডিগ্রি গোলকের প্রতিনিধিত্বকারী দুটি নতুন
SpatialExternalSurfaceপৃষ্ঠ কম্পোজেবল। ( I40ef2 , b/391705799 ) -
SubspaceModifier.aspectRatioযোগ করা হয়েছে ( Ide5ab , b/399729509 , b/414762147 ) - XR-এর জন্য
SceneCoreএবং Compose-এর মধ্যে আন্তঃকার্যক্ষমতা উন্নত করতেSceneCoreEntityAPI যোগ করা হয়েছে। ( I50bb3 , b/423020989 ) - আনস্কেলড এবং
GravityAlignedবৈশিষ্ট্য ( I07359 ) সমর্থন করার জন্যGravityAlignedsubspaceAPI প্রদান করা হয়েছে।
API পরিবর্তনগুলি
-
SpatialDialog()SpatialDialogProperties.dismissOnBackপ্রেস কনফিগারেশন অনুসরণ করবে। ( Ib453b , b/416797132 ) - মিটারে উপস্থাপনের কারণে
minimumPanelDimensionDimensions(0.1f, 0.1f, 0.1f)এর একটি নতুন ডিফল্ট Dimension আকারে আপডেট করুন। ( Ib852a ) - সাবস্পেস এবং অরবিটারগুলি এখন হোম স্পেসে এবং অ্যাপটি ব্যাকগ্রাউন্ডে থাকাকালীন তাদের অভ্যন্তরীণ অবস্থা বজায় রাখবে। হোম স্পেস মোডে, ফুল স্পেস মোডে স্যুইচ করার প্রস্তুতির জন্য সাবস্পেস এখনও তার দৃশ্য সেট আপ করবে। ( I40317 , b/416037751 )
- অ্যাপটি ব্যাকগ্রাউন্ডে থাকাকালীন
SpatialDialogsএখন তাদের অবস্থা ধরে রাখবে। ( I6aa56 ) -
ApplicationSubspaceএখন সিস্টেম থেকে তার প্রস্তাবিত স্কেল এবং অবস্থান উত্তরাধিকারসূত্রে পাবে। ( I4565f , b/418834194 ) - একটি উন্নত ত্রুটি বার্তা যোগ করা হয়েছে এবং যখন একটি
SubspaceComposableএকটি নন-SubspaceComposableপ্রসঙ্গে ব্যবহৃত হয় তখন ত্রুটিটি আগে ট্রিগার করা হয়েছে। ( Iee2ae , b/416484684 ) - কম্পোজেবল API-এর অপব্যবহারের সময় প্রায়শই সতর্কতা উপেক্ষা করা হয় বলে
ExperimentalSubspaceVolumeApiWarning থেকে 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 ) করুন। -
setSubspaceContentAPI সরিয়ে দিয়ে Compose এরsetContentSubspacecomposable এর সাথে ব্যবহার করার সুবিধা দেওয়া হয়েছে। ( 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ইন্টারফেস যোগ করা হয়েছে। - একটি নতুন
SpatialPanelAPI যোগ করা হয়েছে যা 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আর তাদের প্রভাবগুলি প্রয়োগ করবে না যদি সেগুলি বিচ্ছিন্ন থাকে বা বর্তমানে বিচ্ছিন্ন হচ্ছে। - বিদ্যমান
SpatialRowAPI কে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 প্রয়োজন হবে। -
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-এর প্রাথমিক ডেভেলপার রিলিজ। 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 ব্যবহার করলে বিষয়বস্তু ভুল দিকে ঠেলে দেওয়া হবে।