XR-এর জন্য Jetpack Compose

Android XR-এর স্পেশিয়াল ক্ষমতার সুবিধা নেয় এমন স্পেশিয়াল UI লেআউট ডিক্লারেটিভভাবে তৈরি করুন।
লেটেস্ট আপডেট স্টেবল রিলিজ রিলিজ ক্যান্ডিডেট বিটা রিলিজ আলফা রিলিজ
২১ অক্টোবর, ২০২৬ - - 1.0.0-beta02 -

ডিপেন্ডেন্সি ঘোষণা করা

XR কম্পোজে ডিপেন্ডেন্সি যোগ করতে, আপনার প্রোজেক্টে Google Maven রিপোজিটরি যোগ করতে হবে। আরও তথ্যের জন্য Google-এর Maven রিপোজিটরি পড়ুন।

আপনার অ্যাপ বা মডিউলের জন্য build.gradle ফাইলে আপনার প্রয়োজনীয় আর্টিফ্যাক্টের জন্য ডিপেন্ডেন্সি যোগ করুন:

গ্রোভি

dependencies {
    implementation "androidx.xr.compose:compose:1.0.0-beta01"

    // Use to write unit tests
    testImplementation "androidx.xr.compose:compose-testing:1.0.0-beta01"
}

কোটলিন

dependencies {
    implementation("androidx.xr.compose:compose:1.0.0-beta01")

    // Use to write unit tests
    testImplementation("androidx.xr.compose:compose-testing:1.0.0-beta01")
}

ডিপেন্ডেন্সি সম্পর্কে আরও তথ্যের জন্য, বিল্ড ডিপেন্ডেন্সি যোগ করুন দেখুন।

মতামত

আপনার মতামত Jetpack-কে আরও উন্নত করতে সাহায্য করে। আপনি নতুন কোনও সমস্যা খুঁজে পেলে বা এই লাইব্রেরি উন্নত করার জন্য কোনও আইডিয়া থাকলে আমাদের জানান। নতুন সমস্যা তৈরি করার আগে এই লাইব্রেরিতে আগে থেকে থাকা সমস্যা দেখে নিন। আপনি স্টার বোতামে ক্লিক করে আগে থেকে থাকা কোনও সমস্যার জন্য ভোট দিতে পারেন।

নতুন সমস্যা তৈরি করুন

আরও তথ্যের জন্য Issue Tracker ডকুমেন্টেশন দেখুন।

ভার্সন ১.০

ভার্সন 1.0.0-beta02

২১ অক্টোবর, ২০২৬

androidx.xr.compose:compose:1.0.0-beta02 ও androidx.xr.compose:compose-testing:1.0.0-beta02 রিলিজ করা হয়েছে। 1.0.0-beta02 ভার্সনে এইসব কমিট আছে।

API-তে পরিবর্তন

  • লাইব্রেরি এখন Kotlin 2.2-কে টার্গেট করে এবং kotlinc 2.2-এর প্রয়োজন হয় (I82396, b/498369605)
  • FollowMode.soft()-এর halfLifeMs প্যারামিটারের নাম পরিবর্তন করে halfLifeMillis করা হয়েছে। (I39187)
  • PitchLimits-কে @JvmInline value class-এ কনভার্ট করা হয়েছে অবজেক্ট অ্যালোকেশন বাদ দিতে দুটি ফ্লোটকে একটি Long-এ প্যাক করা হচ্ছে। (Id43c3)
  • FollowMode.soft-এর জন্য নতুন প্যারামিটার যোগ করা হয়েছে: halfLifeMs, startDelay এবং startThresholds প্যারামিটার। durationMs প্যারামিটার সরিয়ে দেওয়া হয়েছে কারণ smoothStep অ্যালগরিদম থেকে exponentialDecay অ্যালগরিদমে ট্রানজিশন করার ফলে এটির আর প্রয়োজন নেই। (If0140)
  • বন্ধ হয়ে যাওয়া SpatialActivityPanel ওভারলোড সরিয়ে দিন। পরিবর্তে SpatialActivityPanel-এর ওভারলোড ব্যবহার করুন যা SpatialActivityPanelController গ্রহণ করে। (I5abc3)
  • FullSpaceMode-এ একটি অ্যাক্টিভিটির মধ্যে 3D এবং 2D কম্পোজেবল কন্টেন্টের মধ্যে ট্রানজিশন চালু করুন। এই পরিবর্তন SpatialComposeFlags.isMainPanelResetOnSubspaceDisposeEnabled-এর মাধ্যমে গেট করা হয়েছে। (I4e237)
  • নিম্নলিখিত কন্টেন্টকে সাপোর্ট করার জন্য FollowTarget প্যারামিটার নিয়ে এক্সপেরিমেন্টাল Subspace ওভারলোড এক্সপোজ করা হয়েছে। (Iec1a9)
  • শীঘ্রই বন্ধ করা হবে এমন মুভেবল মডিফায়ার সরান। পরিবর্তে নতুন মুভেবল মডিফায়ার ব্যবহার করুন যা প্যারামিটার হিসেবে নতুন MovePolicy গ্রহণ করে। (Ib135d)
  • DragPolicy-এর অবচিত ভার্সন সরিয়ে দিন। পরিবর্তে SubspaceModifier.movable() ব্যবহার করুন। (I108d4)
  • স্টেটফুল ভার্সনের জন্য ডেপ্রিকেট করা স্টেটলেস Slider এবং RangeSlider ওভারলোড। RangeSliderState-এ activeRangeStart এবং activeRangeEnd-এর নাম পরিবর্তন করে startValue এবং endValue করা হয়েছে, DeprecationLevel.HIDDEN-এর সাথে পুরনো প্রোমোট না করা এবং পরীক্ষামূলক স্লাইডার API-এর ব্যবহার বন্ধ করা হয়েছে। (If8995)

ত্রুটি সমাধান

  • অ্যাঙ্কর বা ব্যবহারকারীদের সাথে অ্যাটাচ করা সহ সব সাবস্পেস ধরনের জন্য সঠিক পোজ গণনা নিশ্চিত করতে poseInActivitySpace চালু করে RotateToLookAtUser ঠিক করা হয়েছে।Ica367b
  • অরবিটার বড় প্যানেলের সাথে অ্যাটাচ করা থাকলে কনস্ট্রেইন্ট ক্র্যাশ সংক্রান্ত সমস্যার সমাধান করা (I8c4bf)
  • SubspaceLayoutNode-এ একটি সমস্যার সমাধান করা হয়েছে যেখানে removeAll()-এর কারণে অপ্রয়োজনীয় ArrayList বরাদ্দ করা হচ্ছিল। এছাড়াও, ডেপথ ক্যালকুলেশন পারফর্ম্যান্স ঠিক করা হয়েছে। I34a10a
  • androidx.lifecycle:lifecycle-runtime ডিপেন্ডেন্সি 2.10.0-এ আপডেট করা হয়েছে। AGP ভার্সন 9.5.0-alpha04 বা তার পরবর্তী ভার্সনের সাথে বান্ডেল করা লাইফসাইকেল রানটাইম লিন্ট চেক চালানোর জন্য এই ভার্সনটি প্রয়োজন। (I99bfd, b/556807521)
  • AudioOutputProvider-এর সাথে সম্পর্কিত kdocs উন্নত করুন যাতে হাইলাইট করা যায় যে এটি একাধিক ExoPlayer ইনস্ট্যান্সের (I6b18e) সাথে আবার ব্যবহার করা উচিত নয়
  • kdoc-এ বানান ও ব্যাকরণ সংক্রান্ত ছোটখাটো সমস্যার সমাধান করা (Id3ba6)

পরিচিত সমস্যা

  • androidx.xr.compose-এর এই ভার্সন androidx.xr.scenecore:1.0.0-rc01-এর উপর নির্ভরশীল, যার মেমরি লিক সম্পর্কে জানা আছে। আপনার বিল্ড কনফিগারেশনে, আপনি স্পষ্টভাবে SceneCore ডিপেন্ডেন্সি ওভাররাইড করে 1.0.0 ভার্সনে নিয়ে যেতে পারেন, যার মধ্যে মেমরি লিকের সমাধান অন্তর্ভুক্ত রয়েছে।

ভার্সন 1.0.0-beta01

সেপ্টেম্বর 23, 2026

androidx.xr.compose:compose:1.0.0-beta01 ও androidx.xr.compose:compose-testing:1.0.0-beta01 রিলিজ করা হয়েছে। 1.0.0-beta01 ভার্সনে এইসব কমিট আছে।

API-তে পরিবর্তন

  • পুরনো হয়ে যাওয়া DragPolicy সরানো হয়েছে। পরিবর্তে SubspaceModifier.movable() ব্যবহার করুন। (I108d4)
  • ResizePolicy-এর অবচিত ভার্সন এবং SpatialPanel ও SpatialExternalSurface-এ এটির ব্যবহার সরিয়ে দেওয়া হয়েছে। পুরনো হয়ে যাওয়া SubspaceModifier.resizable ফাংশন সরিয়ে দিন। পরিবর্তে নতুন ResizePolicy-এর সাথে নতুন SubspaceModifier.resizable ব্যবহার করুন। (I59e6b)
  • isPitchUpdateEnabled প্যারামিটার যোগ করা হয়েছে যাতে পিচ ট্র্যাকিং স্বাধীনভাবে চালু বা বন্ধ করা যায়। (Ie9e86)
  • pitchLimits-এর নালেবিলিটি সরিয়ে দেওয়া হয়েছে এবং PitchLimits.UNCONSTRAINED-এর নাম পরিবর্তন করে PitchLimits.FullRange করা হয়েছে। (I0154f)
  • ExposedDropdownMenu এখন ExposedDropdownMenuBoxScope-এ মেম্বারের পরিবর্তে এক্সটেনশন ফাংশন হিসেবে কাজ করে। নতুন ইম্পোর্টের মাধ্যমে আপনাকে কোড আপডেট করতে হতে পারে। (Ie8a65)
  • পুরনো SurfaceProtection ক্লাস সরানো হয়েছে। পরিবর্তে SpatialExternalSurfaceProtection ব্যবহার করুন। (Iab2c6)
  • OrbiterPoseProvider ব্যবহার করে এমন Orbiter ফাংশন বন্ধ করে দেওয়া হয়েছে এবং তার পরিবর্তে SpatialAlignment ব্যবহার করে এমন Orbiter ফাংশন ব্যবহার করা হচ্ছে। (I4d12b)
  • এম্বেড করা অ্যাক্টিভিটি লঞ্চ ও ম্যানেজ করতে SpatialActivityPanel-এর এখন SpatialActivityPanelController (rememberSpatialActivityPanelController ব্যবহার করে ইনস্ট্যান্টিয়েট করা) প্রয়োজন। (Id25c6)
  • rotateToLookAtUser থেকে upDirection প্যারামিটার সরানো হয়েছে এবং রোটেশন কনস্ট্রেন্ট প্যারামিটার (isYawUpdateEnabled এবং pitchLimits) যোগ করা হয়েছে। (I1370a)

ত্রুটি সমাধান

  • InteractionPolicy সংক্রান্ত বিভিন্ন সমস্যার সমাধান করা হয়েছে। কম্পোজেবল বা চাইল্ড (যেমন, অরবিটার) ডিসপোজাল সিকোয়েন্স শুরু করার ঠিক পরেই ইনপুট ইভেন্ট ঘটলে ক্র্যাশ হয়। এছাড়াও, কোনও চাইল্ড হোভার ইভেন্ট পেলে যে সমস্যা হয় তা সমাধান করে। (Ifc477)
  • ছোট FOV ডিভাইসে ক্লিপিং আটকাতে RotateToLookAtUserActivity-এ প্যানেলের সাইজ কমানো হয়েছে। (I8d672)

পরিচিত সমস্যা

  • Compose XR প্যানেলে একটি সমস্যা আছে যেখানে একটি অ্যাক্টিভিটিতে অনেক প্যানেল তৈরি করলে প্যানেলগুলি ধ্বংস হয়ে যাওয়ার পরেও যা দেখা হচ্ছে তাতে কিছু সমস্যা হতে পারে।

Version 1.0.0-alpha17

১২ আগস্ট, ২০২৬

androidx.xr.compose:compose:1.0.0-alpha17 ও androidx.xr.compose:compose-testing:1.0.0-alpha17 রিলিজ করা হয়েছে। ভার্সন 1.0.0-alpha17-এ এইসব কমিট রয়েছে।

API-তে পরিবর্তন

  • Meter ভ্যালু ক্লাস সরিয়ে দিন, এটি Scenecore-এ virtualPixelDensity দ্বারা পরিবর্তন করা হয়েছে। (I690ee)
  • SpatialGltfModel API এখন পরীক্ষামূলক এবং ব্যবহারের জন্য অবশ্যই অপ্ট-ইন করতে হবে। (I4557e)
  • system-কে রিসাইজ করা যায় এমন নালেবেল হিসেবে সেট করুন (Ib0093)
  • পরীক্ষা করার জন্য SubspaceSemanticsInfo-এ Density এক্সপোজ করা হয়েছে। (I2e826)
  • ResizePolicy ডিফল্ট বিকল্পের নাম পরিবর্তন করে system করুন এবং প্যারামিটার ছাড়া নতুন Default বিকল্প যোগ করুন (Ic8b16)
  • FollowTarget পরীক্ষামূলক হিসেবে চিহ্নিত করুন। পুরো FollowingSubspace API এখন পরীক্ষামূলক। (Id4ee3)
  • GltfAnimation API (Ic2894) সরান
  • প্যারামিটারাইজড MovePolicy.default() পদ্ধতির নাম পরিবর্তন করে MovePolicy.system() করা হয়েছে। স্ট্যান্ডার্ড ডিফল্ট মুভমেন্ট আচরণ দেখানোর জন্য val MovePolicy.Default প্রপার্টি চালু করা হয়েছে। (Iedcc9)
  • PlaneSemantic এবং PlaneOrientation-এ ExperimentalMoveAnchorPolicy অপ্ট-ইন করার প্রয়োজনীয়তা বাড়ান (Ief927)
  • VolumeConstraints.offset (Ib2f2f) থেকে resetMins সরান
  • SceneCoreEntitySizeAdapter ফাংশন সরিয়ে দেওয়া হয়েছে। (Ib6722)
  • allowUnboundedSubspace-এর সাথে বন্ধ হয়ে যাওয়া Subspace ওভারলোড সরানো হয়েছে। (I8e97f)
  • Removed deprecated semantics modifier overload. (I4ac10)

ত্রুটি সমাধান

  • InteractionPolicy অ্যাটাচ করা আছে এমন Composable-এর চাইল্ড ট্রিগার ইনপুট ইভেন্ট (Icdba6) সংক্রান্ত সমস্যার সমাধান করা হয়েছে

ভার্সন 1.0.0-alpha16

১৫ জুলাই, ২০২৬

androidx.xr.compose:compose:1.0.0-alpha16 ও androidx.xr.compose:compose-testing:1.0.0-alpha16 রিলিজ করা হয়েছে। ভার্সন 1.0.0-alpha16-এ এইসব কমিট রয়েছে।

API-তে পরিবর্তন

  • ComponentOverride API (I820c4) সরিয়ে দিন
  • GltfAnimation এবং SpatialGltfModelAnimation API-কে পরীক্ষামূলক হিসেবে চিহ্নিত করা হয়েছে। কিছু প্রপার্টি গেটারে পরিবর্তন করা হয়েছে। (I8d689, b/524771027)
  • মিটার ও পিক্সেলের মধ্যে কনভার্সন কনস্ট্যান্ট হিসেবে সেট করে সামগ্রিক ডেনসিটি সংক্রান্ত আচরণ ঠিক করা হয়েছে। Meter.kt বন্ধ করা হয়েছে, এখন বিকল্প হিসেবে Session.scene.virtualPixelDensity ব্যবহার করা যেতে পারে। (I122ff, b/430097855, b/474168798)
  • দুটি মডিফায়ারের (I7fb0f, b/496257436, b/519672992) পরিবর্তে একটি ResizePolicy ব্যবহার করার জন্য রিসাইজ করা যায় এমন মডিফায়ার আপডেট করুন
  • SubspaceAssertions.kt-এ সব পাবলিক ফ্লোটিং-পয়েন্ট ডাইমেনশন এবং পজিশন ইকুয়ালিটি অ্যাসারশনে একটি টলারেন্স: Dp = Dp(0.5f) প্যারামিটার যোগ করা হয়েছে। ডিফল্ট টলারেন্স বিহেভিয়ার (0.5.dp) সম্পূর্ণভাবে ডকুমেন্ট করা আছে। (I266cb, b/521491915)
  • movePolicy প্যারাম সহ মুভেবল ওভারলোড যোগ করা হয়েছে এবং transformingMovable ও movable (Ic88c1, b/481781189) বন্ধ করা হয়েছে
  • স্ট্যান্ডার্ড তালিকা আইটেম এবং সেগমেন্টেড তালিকা আইটেমের নতুন নন-ইন্টার‍্যাক্টিভ ভেরিয়েন্ট যোগ করা হয়েছে যা মেটেরিয়াল এক্সপ্রেসিভ স্পেসিফিকেশন মেনে চলে। নন-এক্সপ্রেসিভ ভার্সন বন্ধ করা হয়েছে। (Ide4de, b/491994186)
  • Subspace-এর জন্য, allowUnboundedSubspace প্যারামিটার এখন বন্ধ করা হয়েছে এবং লুকানো আছে। Unbounded behavior should now be achieved by using SubspaceModifier.requiredSizeIn(maxWidth = Dp.Infinity, maxHeight = Dp.Infinity, maxDepth = Dp.Infinity) on the Subspace modifier. FollowingSubspace থেকে allowUnboundedSubspace প্যারামিটার সরিয়ে দেওয়া হয়েছে। (Ia72ae, b/433624021)
  • Session.create-কে সাসপেন্ড ফাংশনে কনভার্ট করা হয়েছে। (I5d27f)
  • SubspaceModifier.spatializedAudioOutput যোগ করা হয়েছে যা ExoPlayer বা SoundEffectPlayer-এর মাধ্যমে স্পেশিয়ালাইজিং অডিও প্লেব্যাক করার অনুমতি দেয় (I46697, b/489421980, b/497867019)
  • স্ট্যাটাস যাচাইকরণের জন্য SpaceRequestResult রিটার্ন করতে ComponentActivity.requestHomeSpace() এবং requestFullSpace() আপডেট করা হয়েছে। (If1672)
  • Updated AnchorEntity to be called AnchorSpace (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 করা হয়েছে এবং ইউনিফায়েড align API-এর জন্য স্বতন্ত্র ডিরেকশনাল অফসেট পদ্ধতি সরিয়ে দেওয়া হয়েছে। (I9bdb2, b/479805937)
  • SpatialConfiguration থেকে বন্ধ হয়ে যাওয়া স্পেস মোড API সরানো হয়েছে। (I1ef5c, b/458712461)
  • SubspaceSemanticsConfiguration চালু করা হয়েছে। এটি স্পেশিয়াল নোডের জন্য সিম্যান্টিক প্রপার্টির কনফিগারেশন। এই ক্লাসটি বাহ্যিক গ্রাহকদের কাছে ফাউন্ডেশনাল 2D সিম্যান্টিক ক্ষমতা ফাঁস না করে 3D সিম্যান্টিক্সের জন্য কোয়েরি পদ্ধতিগুলি নিরাপদে প্রকাশ করে। (Id025e, b/460427288)
  • SubspaceSemanticsPropertyReceiver চালু করা হয়েছে: একটি নির্দিষ্ট র‍্যাপার যা 3D লেআউট কন্টেনার প্রপার্টিকে সঠিক ফিল্ডে (প্রাথমিকভাবে testTag এবং contentDescription) সীমাবদ্ধ করে। (I5cf5c, b/460427288)

ত্রুটি সমাধান

  • সেম্যান্টিক মডিফায়ারের hasContentDescription আপডেট করে সাবস্ট্রিং ম্যাচিংয়ে ডিফল্ট করা হয়েছে। (I08214)
  • রেস্ট্রিকটেড FollowBehavior.ExponentialDecay() যোগ করা হয়েছে যা ইলাস্টিক ফিজিক্স দ্বারা পরিচালিত একটি সফট ফলো আচরণ প্রদান করে। (I7449c, b/485639909, b/500493335)

বেশিরভাগ API এর দ্বারা প্রভাবিত হবে। নির্দিষ্টভাবে, LocalSession CompositionLocal এবং LocalSession-এর উপর নির্ভরশীল সব CompositionLocals (যেমন, LocalSpatialConfiguration, LocalSpatialCapabilities ইত্যাদি) এখন Session শুরু হওয়ার আগে null বা এর নন-XR ভার্সনে সমাধান করবে।

Session উপলভ্য হলে, সঠিক স্ট্যাটাস সহ রিকম্পোজিশন ট্রিগার করা হবে। (I0cfa4, b/514712835, b/514712835)

  • সাসপেন্ড করা, বাতিল করা এবং কনকারেন্সি সংক্রান্ত আচরণের জন্য ComponentActivity.requestHomeSpace এবং ComponentActivity.requestFullSpace-এর ডকুমেন্টেশন স্পষ্ট করা হয়েছে। CancellationException প্রোপাগেশন যাচাই করার জন্য টেস্ট আপডেট করা হয়েছে। (I22f75, b/493289528)

Version 1.0.0-alpha15

১৭ জুন, ২০২৬

androidx.xr.compose:compose:1.0.0-alpha15 ও androidx.xr.compose:compose-testing:1.0.0-alpha15 রিলিজ করা হয়েছে। ভার্সন 1.0.0-alpha15-এ এইসব কমিট রয়েছে।

API-তে পরিবর্তন

  • ResizePolicy এবং পুরনো রিসাইজ করা যায় এমন মডিফায়ার বাতিল করা হয়েছে, এটি একটি নতুন SubspaceModifier.resizable ওভারলোড এবং SubspaceModifier.transformingResizable দিয়ে পরিবর্তন করা হয়েছে। (I9e4bc)
  • আপডেট করা SpatialGltfModel API: SpatialGltfModelSource-এর মাধ্যমে রিসোর্স থেকে মডেল লোড করার জন্য সহায়তা যোগ করা হয়েছে।fromResource. SpatialGltfModelAnimation-এ স্পিডের নাম পরিবর্তন করে playbackSpeed করা হয়েছে এবং resume() পদ্ধতি যোগ করা হয়েছে। SpatialGltfModelStatus.Loaded এবং Loading এখন অবজেক্ট। (I523de)
  • rotateToLookAtUser-কে পরীক্ষামূলক API হিসেবে চিহ্নিত করা হয়েছে। (I86c16)
  • সুরক্ষিত ভেরিয়েবল targetCurrentPose সরিয়ে এবং নাম পরিবর্তন করে লোকাল ভেরিয়েবল currentTargetPoseMeter করা হয়েছে। (Ia557c)
  • SpatialPanel এবং SpatialExternalSurface kdocs আপডেট করুন যাতে অবজেক্টটি তার লেআউট সাইজের মধ্যে কোথায় রেন্ডার করা হয়েছে তা অন্তর্ভুক্ত করা যায় (I72104)
  • SpatialGltfModelState-এর মধ্যে SpatialGltfModel লোডিং লজিক এনক্যাপসুলেট করা হয়েছে এবং ব্যর্থতার আচরণ স্পষ্ট করা হয়েছে। (Ibe98b)
  • SubspaceModifer.size kdocs-এ depth ব্যাখ্যা করা হয়েছে (I0f84f)

Version 1.0.0-alpha14

১৯ মে, ২০২৬

androidx.xr.compose:compose:1.0.0-alpha14 ও androidx.xr.compose:compose-testing:1.0.0-alpha14 রিলিজ করা হয়েছে। ভার্সন 1.0.0-alpha14-এ এইসব কমিট রয়েছে।

API-তে পরিবর্তন

  • ডিফল্ট সিস্টেম-হ্যান্ডেল করা 3D মুভমেন্টের জন্য transformingMovable এবং কাস্টম মুভমেন্ট আচরণ হ্যান্ডেল করার জন্য movable-এর জন্য একটি নতুন ওভারলোড চালু করা হয়েছে। (I50960)
  • SpatialGltfModel.fromData() সরানো হয়েছে। (I4d083)
  • একটি নতুন মডিফায়ার নোড ইন্টারফেস, SubspaceMeasuredSizeAwareModifierNode যোগ করা হয়েছে, যা পরিমাপ পাস করার পরে একটি onRemeasured কলব্যাক প্রদান করে। SubspaceLayoutAwareModifierNode এখন এই নতুন ইন্টারফেসের মেয়াদ বাড়িয়েছে। onSizeChanged মডিফায়ার আপডেট করে onRemeasured ব্যবহার করা হয়েছে, যাতে প্লেসমেন্টের পরে নয়, পরিমাপের ঠিক পরেই কলব্যাক ট্রিগার করা হয়। (Iafbae)
  • InteractionPolicy-কে Interface (I0ff30)-এ আপডেট করা হয়েছে
  • Compose compileSdk থেকে API 37-এ আপডেট করা হয়েছে। এর অর্থ হল, Compose ব্যবহার করার সময় AGP-এর ন্যূনতম 9.2.0 ভার্সন প্রয়োজন। (Id45cd)
  • Size kdocs আপডেট করা হয়েছে (Iefa9a)

Version 1.0.0-alpha13

৬ মে, ২০২৬

androidx.xr.compose:compose:1.0.0-alpha13 ও androidx.xr.compose:compose-testing:1.0.0-alpha13 রিলিজ করা হয়েছে। ভার্সন 1.0.0-alpha13-এ এইসব কমিট আছে।

API-তে পরিবর্তন

  • Orbiter API-তে অতিরিক্ত পরিবর্তন করা বাকি আছে, আমরা Orbiter-এর জন্য বন্ধ হয়ে যাওয়া সংক্রান্ত বিজ্ঞপ্তি বন্ধ করে দেওয়ার এবং আসন্ন রিলিজে Orbiter-এ হওয়া পরিবর্তনের উপর নজর রাখার সাজেশন দিই।
  • যারা glTF রেন্ডার করার জন্য SceneCoreEntity ব্যবহার করছেন তাদের নিশ্চিত করতে হবে যে তারা session.scene.activitySpace-কে parent প্যারামিটারে GltfModel.create কলের মাধ্যমে পাস করছেন যাতে তাদের glTF রেন্ডার হয়।
  • SpatialGltfModel API যোগ করা হচ্ছে যাতে ডেভেলপাররা তাদের Compose For XR অ্যাপে Gltf যোগ করতে পারেন। এছাড়াও, ডেভেলপাররা তাদের Gltf মডেলের মধ্যে অ্যানিমেশন এবং নোড কোয়েরি করতে পারেন। (I8b542, b/495422586)
  • ক্লাস থেকে ইন্টারফেসে SceneCoreEntitySizeAdapter পরিবর্তন করে (I5a784, b/475292310)
  • SurfaceProtection-এর নাম পরিবর্তন করে SpatialExternalSurfaceProtection করা হয়েছে। SpatialExternalSurface kdocs আপডেট করা হয়েছে (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)
  • অতিরিক্ত টেস্টিং বাকি থাকার কারণে এই রিলিজের জন্য SpatialGltfModel API-কে সীমাবদ্ধ হিসেবে চিহ্নিত করা হয়েছে। (Ibf003, b/466090694)
  • DeviceTrackingMode.LAST_KNOWN-এর নাম পরিবর্তন করে SPATIAL_LAST_KNOWN করা হয়েছে (একটি বাতিল করা ফলব্যাক সহ), 3DoF ট্র্যাকিংয়ের জন্য INERTIAL_LAST_KNOWN যোগ করা হয়েছে এবং TrackingState-এ TRACKING_DEGRADED যোগ করা হয়েছে। (Ie661c, b/445466590)
  • বন্ধ হয়ে যাওয়া SpatialLayoutSpacer (I7b36c) সরানো হচ্ছে
  • বন্ধ হয়ে যাওয়া প্যাডিং API (If1886) সরানো হচ্ছে
  • পক্ষপাতিত্বের ভ্যালুতে floatRange যোগ করা হয়েছে। LayoutDirection-এর জন্য ডিফল্ট ভ্যালু সরানো হয়েছে (I9d74e)

ত্রুটি সমাধান

  • SpatialColumn, SpatialRow ও SpatialCurvedRow-এর জন্য কোড স্যাম্পেল ও KDoc ডকুমেন্টেশন যোগ করা হয়েছে। (Iaf54f, b/495777633)

ভার্সন 1.0.0-alpha12

২৫ মার্চ, ২০২৬

androidx.xr.compose:compose:1.0.0-alpha12 ও androidx.xr.compose:compose-testing:1.0.0-alpha12 রিলিজ করা হয়েছে। 1.0.0-alpha12 ভার্সনে এইসব কমিট আছে।

API-তে পরিবর্তন

  • glTF রেন্ডার করতে এবং অ্যানিমেশন কন্ট্রোল করতে SpatialGltfModel API এবং SpatialGltfModelAnimation API যোগ করুন। SpatialGltfModelState পরিবর্তন করে AutoCloseable করা হয়েছে, এর রিসোর্স খালি করার জন্য এখন এটি বন্ধ করতে হবে। (I11fde, b/466065486, b/481379924). তবে, অতিরিক্ত টেস্টিং বাকি থাকার কারণে এই রিলিজের জন্য SpatialGltfModel API-কে সীমাবদ্ধ হিসেবে চিহ্নিত করা হয়েছে। (Ibf003, b/466090694)
  • SubspaceModifier.rotate-এর জন্য একটি বাতিল করা খালি ওভারলোড যোগ করা হয়েছে। (Idceb6)
  • SpatialSmoothFeatheringEffect ফাংশনের নাম পরিবর্তন করে spatialSmoothFeatheringEffect করা হয়েছে এবং এটি ড্র মডিউলে সরানো হয়েছে। SpatialExternalSurface-এর ডিফল্ট ফেদারিং ভ্যালু আপডেট করে নাল করা হয়েছে, যা পুরনো ZeroFeatheringEffect কার্যকারিতাকে নকল করে। (I5fdaa, b/460426800)
  • onPointSourceParamsAvailable সরানো হয়েছে। অদূর ভবিষ্যতে একটি ভিন্ন অডিও স্পেশিয়ালাইজেশন API উপলভ্য হবে। (I86507, b/458513439)
  • অফসেট সাবস্পেস মডিফায়ারের জন্য RTL আচরণ যোগ করা হয়েছে। এছাড়াও, লেআউট ডিরেকশন উপেক্ষা করতে absoluteOffset যোগ করা হয়েছে। (I30e4b, b/474409165)

Version 1.0.0-alpha11

২৫ ফেব্রুয়ারি, ২০২৬

androidx.xr.compose:compose:1.0.0-alpha11 ও androidx.xr.compose:compose-testing:1.0.0-alpha11 রিলিজ করা হয়েছে। 1.0.0-alpha11 ভার্সনে এইসব কমিট রয়েছে।

নতুন ফিচার

  • SpatialExternalSurfaces-এ SuperSampling প্যারামিটার যোগ করা হচ্ছে (Icd4d1)

পরিচিত সমস্যা

  • SceneCore-এ SurfaceEntity-এর সাথে সম্পর্কিত কোনও সমস্যার কারণে SpatialExternalSurface-এর ইনস্ট্যান্স তৈরি করার সময় অ্যাপ ক্র্যাশ করতে পারে। এই সমস্যার সমাধান androidx.xr.scenecore:scenecore-*:1.0.0-alpha13, androidx.xr.compose:compose:1.0.0-alpha12 এবং এর পরবর্তী রিলিজে করা হয়েছে। প্রভাবিত অ্যাপগুলি লেটেস্ট ভার্সনে আপডেট করতে হবে।

API-তে পরিবর্তন

  • লেআউট ডিরেকশন সম্পর্কে সচেতনতার জন্য সাবস্পেস মডিফায়ার প্যাডিং পরিবর্তন। (I53e25)
  • SpatialCapabilities এখন সিল করা হয়েছে এবং এর মেয়াদ বাড়ানো যাবে না। (I07aef)
  • SpatialRow এবং SpatialColumn API যা জেনেরিক SpatialAlignment প্যারামিটার গ্রহণ করে তা বন্ধ করা হয়েছে; এর পরিবর্তে, API ব্যবহার করুন যা যথাক্রমে SpatialRow এবং SpatialColumn-এর জন্য verticalAlignment বা horizontalAlignment গ্রহণ করে। (Iec390)
  • ওভারলোডিং SubspaceLayout ফাংশন API (Idd30a) একত্রিত করা হচ্ছে
  • SubspaceModifier.lookAtUser-এর নাম পরিবর্তন করে rotateToLookAtUser এবং up প্যারামিটারের নাম পরিবর্তন করে upDirection করা হয়েছে। (Icafb8)
  • SpatialRow-কে ইনলাইন ফাংশন করা (Ia2f20)
  • SpatialColumn-কে ইনলাইন ফাংশন (I681be) হিসেবে তৈরি করা হচ্ছে
  • বিলবোর্ড API (Ib76cd) সরানো হয়েছে

Version 1.0.0-alpha10

২৮ জানুয়ারি, ২০২৬

androidx.xr.compose:compose:1.0.0-alpha10 ও androidx.xr.compose:compose-testing:1.0.0-alpha10 রিলিজ করা হয়েছে। ভার্সন 1.0.0-alpha10-এ এইসব কমিট রয়েছে।

API-তে পরিবর্তন

  • বন্ধ হয়ে যাওয়া API সরানো হচ্ছে - ApplicationSubspace (Ia6596, b/468345186)
  • SpatialShape-কে সিল করা ইন্টারফেসে আপডেট করা হয়েছে (I7e3f5, b/460426800)
  • SpatialAlignment-এ বন্ধ হয়ে যাওয়া API সরানো হচ্ছে। (Ib0b61, b/468011887)
  • SpatialLayoutSpacer বন্ধ করে SpatialSpacer চালু করা হচ্ছে। (I2ebf3, b/466071383)
  • "লেজি লকিং" পরিভাষা "সফ্ট লকিং" দিয়ে পরিবর্তন করতে UserSubspace API আপডেট করা হয়েছে। (I9ded1, b/464035984)

ভার্সন 1.0.0-alpha09

৩ ডিসেম্বর, ২০২৫

androidx.xr.compose:compose:1.0.0-alpha09 ও androidx.xr.compose:compose-testing:1.0.0-alpha09 রিলিজ করা হয়েছে। ভার্সন 1.0.0-alpha09-এ এইসব কমিট রয়েছে।

API-তে পরিবর্তন

  • LookAtUser এবং বিলবোর্ড মডিফায়ার যোগ করা হচ্ছে যা কন্টেন্টকে সবসময় ব্যবহারকারীর দিকে মুখ করে থাকতে দেয়। (I49b99)
  • InteractionPolicy-কে SpatialExternalSurfaces ও SpatialPanels-এ সেট করার ক্ষমতা যোগ করে, যার ফলে ক্লিক ও অন্যান্য 3D ইনপুট ইভেন্ট শনাক্ত করা যায়। (Iae155)
  • Dp ভ্যালু হিসেবে প্রস্থ, উচ্চতা ও গভীরতার সাথে সাইজ ও requiredSize মডিফায়ার ওভারলোড যোগ করা হয়েছে। (I92f79)
  • ParentLayoutParamsModifier ইন্টারফেস এখন DelegatableSubspaceNode এক্সটেন্ড করে। (I1a6d4)
  • Subspace API-এর জন্য ApplicationSubspace বন্ধ করা হয়েছে।
    • Subspace API-এর আচরণ পরিবর্তন করা হয়েছে যাতে এটি শুধুমাত্র সাজেস্ট করা পোজ ও স্কেলে অ্যাপ্লিকেশন-ব্যাপী সাবস্পেস প্রদান করে।
    • 2D প্রসঙ্গে এম্বেড করা সাবস্পেস প্রদান করার জন্য PlanarEmbeddedSubspace API চালু করা হয়েছে। (Id3343)
  • SubspaceModifier.Node API-তে shouldAutoInvalidate ফ্ল্যাগ যোগ করা হয়েছে। (I93902)
  • required(Size|Width|Depth|Height) যোগ করা হয়েছেAPI-তে যা ডেভেলপারদের প্যারেন্টের ইনকামিং পরিমাপের সীমাবদ্ধতা উপেক্ষা করে, একটি নির্দিষ্ট রেঞ্জে @SubspaceComposable-এর সাইজ সীমাবদ্ধ করার অনুমতি দেয়। (Ifaa78)
  • SubspaceModifier.onSizeChanged যোগ করা হয়েছে যা @SubspaceComposable-এর সাইজ পরিবর্তন হলে ডেভেলপারদের প্রতিক্রিয়া জানানোর জন্য একটি সহজ, ফোকাসড কলব্যাক প্রদান করে। (I994f9)
  • ভলিউম API সরানো হয়েছে। ভলিউম API-এর পরিবর্তে SceneCoreEntity API ব্যবহার করা উচিত। (I4162b)
  • SubspaceLayoutModifierNode.requestRelayout-কে invalidateMeasurement/invalidatePlacement-এ স্প্লিট করুন। (I14805)
  • SpatialGltfModel API যোগ করা হয়েছে যা ডেভেলপারদের কম্পোজে glTF রেন্ডার করার অনুমতি দেয়। (Icc91f)
  • সহজে glTF রেন্ডার করার জন্য SpatialGltfModel কম্পোজেবল API চালু করা হয়েছে (Iade67)

ত্রুটি সমাধান

  • SceneCoreEntity-এ লেআউট সংক্রান্ত সমস্যার সমাধান করা হয়েছে। এটি এখন সঠিকভাবে এর সীমাবদ্ধতা মেনে চলবে। (I11bb8)
  • jxr-compose মডিউল Compile sdk = 34-এ নামিয়ে আনুন (I2d5db)

ভার্সন 1.0.0-alpha08

২২ অক্টোবর, ২০২৫

androidx.xr.compose:compose:1.0.0-alpha08 ও androidx.xr.compose:compose-testing:1.0.0-alpha08 রিলিজ করা হয়েছে। 1.0.0-alpha08 ভার্সনে এইসব কমিট আছে।

API-তে পরিবর্তন

  • ResizePolicy পরিবর্তন করে onResizeStart, onResizeUpdate ও onResizeEnd গ্রহণ করা হয়েছে। (I7e21f)

ত্রুটি সমাধান

  • সাবস্পেস সহ কোনও অ্যাক্টিভিটি নষ্ট করার সময় ক্র্যাশ হওয়া আটকান। (I595a1)

Version 1.0.0-alpha07

২৪ সেপ্টেম্বর, ২০২৫

androidx.xr.compose:compose:1.0.0-alpha07 ও androidx.xr.compose:compose-testing:1.0.0-alpha07 রিলিজ করা হয়েছে। ভার্সন 1.0.0-alpha07-এ এইসব কমিট আছে।

API-তে পরিবর্তন

  • SpatialMainPanel-এর জন্য উন্নত KDocs। (I27b70, b/444467891)
  • SpatialRow ও SpatialColumn-এর মতো 3D লেআউটে প্রধান অক্ষ বরাবর চিলড্রেন সাজানোর জন্য SpatialArrangement চালু করা হয়েছে। এই নতুন API, 2D Compose থেকে পরিচিত অ্যারেঞ্জমেন্ট বিকল্প প্রদান করে, যার মধ্যে Start, End, Center, SpaceBetween, SpaceAround এবং SpaceEvenly অন্তর্ভুক্ত এবং এটি LTR ও RTL লেআউট ডিরেকশন, দুটির জন্যই সম্পূর্ণ সহায়তা প্রদান করে। (I7db38, b/436289959)
  • টাইপ নিরাপত্তা ও এক্সটেনশন ইন্টারফেসের ব্যবহারযোগ্যতা উন্নত করতে SubspaceModifier.Node-এর জন্য একটি বেস ইন্টারফেস যোগ করা হয়েছে; যেমন
    • CompositionLocalConsumerSubspaceModifierNode
    • LayoutCoordinatesAwareModifierNode
    • SubspaceLayoutModifierNode
    • CoreEntityNode (ইন্টার্নাল) (Iede00, b/440599394, b/440599394)
  • SpatialExternalSurface-এর উপর থেকে বিধিনিষেধ তুলে নিন (I33315, b/439646773)
  • Subspace কম্পোজেবলে SubspaceModifier যোগ করুন এবং SubspaceModifier-এর সাথে কনস্ট্রেন্ট প্যারামিটারকে সাইজ-সম্পর্কিত SubspaceModifiers দিয়ে পরিবর্তন করুন। allowUnboundedSubspace সত্য হলে, সাবস্পেসে এখনও সীমাহীন সীমাবদ্ধতা থাকতে পারে। (Ib06e6, b/433331675)
  • SubspaceModifiers-এর সরানো ও ছোট বড় করার সুবিধা বন্ধ করা হচ্ছে কারণ DragPolicy() ও ResizePolicy() এখন SpatialPanel ও SpatialExternalSurface API-এর অংশ (I397bf, b/437924639)
  • স্পেশিয়াল লেআউটে LayoutDirection-এর জন্য সহায়তা যোগ করা হয়েছে। SpatialAlignment ব্যবহার করে কম্পোজেবল এখন LTR এবং RTL উভয় কন্টেক্সটে এলিমেন্ট সঠিকভাবে পজিশন করবে। (I964bb, b/436300273)
  • Panel API-তে রিসাইজ ও সরানো যায় এমন প্যারামিটার যোগ করুন যাতে এইসব আচরণ শুধু কাজ করে এমন কন্টেনারে প্রয়োগ করা যায়। (Id491c)
  • sizeIn, widthIn, heightIn, depthIn SubspaceModifiers যোগ করা হয়েছে যা আপনাকে প্রস্থ, উচ্চতা ও গভীরতার জন্য সঠিক ন্যূনতম ও সর্বাধিক সীমাবদ্ধতা সেট করতে দেয়। (I1af09, b/433330761)

Version 1.0.0-alpha06

১৩ আগস্ট, ২০২৫

androidx.xr.compose:compose:1.0.0-alpha06 ও androidx.xr.compose:compose-testing:1.0.0-alpha06 রিলিজ করা হয়েছে। 1.0.0-alpha06 ভার্সনে এইসব কমিট রয়েছে।

ত্রুটি সমাধান

  • লাইফসাইকেল মালিক ধ্বংস হয়ে গেলে ComposeXrOwnerLocals আবার তৈরি করুন। (9123ce1)

Version 1.0.0-alpha05

৩০ জুলাই, ২০২৫

androidx.xr.compose:compose:1.0.0-alpha05 ও androidx.xr.compose:compose-testing:1.0.0-alpha05 রিলিজ করা হয়েছে। 1.0.0-alpha05 ভার্সনে এইসব কমিট আছে।

নতুন ফিচার

  • SubspaceComposable অ্যানোটেশন ক্লাস সর্বজনীন করা হয়েছে। (Ic2a34, b/399432430)
  • দুটি নতুন SpatialExternalSurface কম্পোজেবল ১৮০ এবং ৩৬০ ডিগ্রি স্ফিয়ারকে উপস্থাপন করে। (I40ef2, b/391705799)
  • SubspaceModifier.aspectRatio যোগ করা হয়েছে (Ide5ab, b/399729509, b/414762147)
  • SceneCore এবং Compose for XR-এর মধ্যে ইন্টারঅপারেবিলিটি উন্নত করতে SceneCoreEntity API যোগ করা হয়েছে। (I50bb3, b/423020989)
  • আনস্কেল করা এবং GravityAligned ফিচার (I07359) কাজ করার জন্য GravityAlignedsubspace API প্রদান করা হয়েছে

API-তে পরিবর্তন

  • SpatialDialog(), SpatialDialogProperties.dismissOnBack প্রেস কনফিগারেশন অনুসরণ করবে। (Ib453b, b/416797132)
  • minimumPanelDimension-কে মিটারে দেখানোর জন্য Dimensions(0.1f, 0.1f, 0.1f)-এর নতুন ডিফল্ট ডাইমেনশন সাইজে আপডেট করুন। (Ib৮৫২a)
  • Subspaces এবং Orbiters এখন হোম স্পেসে এবং অ্যাপ ব্যাকগ্রাউন্ডে থাকাকালীন তাদের ইন্টার্নাল স্টেট ধরে রাখবে। হোম স্পেস মোডে, ফুল স্পেস মোডে পাল্টানোর প্রস্তুতি হিসেবে Subspace এখনও তার দৃশ্য সেট-আপ করবে। (I40317, b/416037751)
  • অ্যাপ ব্যাকগ্রাউন্ডে থাকলে SpatialDialogs এখন তার স্ট্যাটাস বজায় রাখবে। (I6aa56)
  • ApplicationSubspace এখন সিস্টেম থেকে সাজেস্ট করা স্কেল ও পজিশন ইনহেরিট করবে। (I4565f, b/418834194)
  • আরও ভাল ত্রুটি মেসেজ যোগ করা হয়েছে এবং SubspaceComposable-এর প্রাসঙ্গিকতা নেই এমন ক্ষেত্রে SubspaceComposable ব্যবহার করা হলে, আগে থেকেই ত্রুটি ট্রিগার করা হয়েছে। (Iee2ae, b/416484684)
  • ExperimentalSubspaceVolumeApi-কে সতর্কতা থেকে সমস্যা হিসেবে আপডেট করা হচ্ছে কারণ কম্পোজেবল API-এর অপব্যবহারের সময় সতর্কতা প্রায়ই এড়িয়ে যাওয়া হয়। (I427aa, b/424864286)
  • সাবস্পেস এবং ApplicationSubspace এখন recommendedContentBoxInFullSpace দ্বারা সীমাবদ্ধ। আগে এটি SpatialUser-এর ফিল্ড অফ ভিউ দ্বারা সীমাবদ্ধ ছিল। (I41015, b/423074142)
  • হার্ড কোডেড সাইজ আর ব্যবহার না করার জন্য ন্যূনতম সাইজ ব্যবহার করতে SpatialElevation আপডেট করুন (I2dbe6, b/427785338)
  • কোনও কী ভেরিয়েবল পরিবর্তন করা হলে আপডেট করার জন্য আমরা কীভাবে SpatialAcitivityPanel স্ক্রিম করি তা আপডেট করুন। (I0f64d, b/427999029)
  • ডিফল্ট কনস্ট্রেন্ট ভ্যালু সমতুল্য হিসেবে সেট করার জন্য VolumeConstraints.Unbounded সরান। (Ie24ec, b/407938414)
  • SpatialFeatheringSize আর সর্বজনীন নেই (I1c15b, b/399432430)
  • Compose-এর Placeable থেকে আলাদা করার জন্য XR Placeable-এর নাম পরিবর্তন করে SubspacePlaceable করা হয়েছে। (I74874)
  • Orbiter সেটিংস সরানো এবং নতুন প্যারামিটার হিসেবে shouldRenderInNonSpatial যোগ করা হচ্ছে। এছাড়াও, Orbiter() ফাংশন একত্রিত করতে ক্লাস EdgeOffset সরানো এবং নতুন প্যারামিটার হিসেবে orbiterOffsetType যোগ করা হচ্ছে। সেইসাথে OrbiterEdge-এর নাম পরিবর্তন করে ContentEdge করা হয়েছে। (Iebf3d)
  • Compose-এর Measurable টাইপ থেকে আলাদা করার জন্য Measurable-এর নাম পরিবর্তন করে SubspaceMeasurable করা হয়েছে। (I9726c)
  • MeasureResult-এর নাম পরিবর্তন করে SubspaceMeasureResult (I9f34d) করুন
  • Subspace কম্পোজেবলের সাথে Compose-এর setContent ব্যবহার করার জন্য setSubspaceContent API সরিয়ে দেওয়া হয়েছে। (Ifff4c, b/421427391, b/421427391)
  • MeasurePolicy-এর নাম পরিবর্তন করে SubspaceMeasurePolicy করা হয়েছে। (I37a9b, b/422553904)
  • SubspaceSemanticsInfo-কে সিল করা ইন্টারফেসে পরিণত করুন কারণ ডিফল্ট ছাড়া আমরা মেম্বার যোগ করতে পারব না। (I372f9, b/423704068)
  • SpatialExternalSurface ডকুমেন্টেশন আপডেট করা হয়েছে, ContentSecurityLevel-এর নাম পরিবর্তন করে SurfaceProtection করা হয়েছে (I3c460, b/420982808)
  • মুভেবল মডিফায়ারের জন্য ওভারলোড করা কনস্ট্রাক্টর প্রদান করা হয়েছে যা অ্যাঙ্করিংয়ের অনুমতি দেয়। (Ic0c70)
  • টুলটিপের জন্য আরও পজিশন প্রোভাইডার যোগ করুন যাতে ডেভেলপাররা এখন টুলটিপ অ্যাঙ্করের উপরে, নিচে, বাঁদিকে বা ডানদিকে রাখা হয়েছে কিনা তা নিয়ন্ত্রণ করতে পারেন। এমন একটি API যোগ করুন যা ক্যারেটের জন্য একটি শেপ নেয়, যাতে আরও কাস্টম শেপ প্রদান করা যায়। (Ie513c, b/374766087, b/418854637)
  • PublishedApi হিসেবে CoreEntity-কে সরিয়ে দেওয়া হয়েছে (Ifee05)

ত্রুটি সমাধান

  • রেন্ডার করার সময় SpatialDialog ফ্ল্যাশ হওয়ার সমস্যার সমাধান করা হয়েছে। (Ife73c, b/401619909)
  • SpatialDialog অ্যাক্টিভিটি প্যানেল স্ক্রিম করতে না পারার সমস্যার সমাধান করে। (I8ca6c, b/367442109)
  • XR ডায়ালগে কিছু কন্টেন্ট না দেখানোর সমস্যার সমাধান করা হয়েছে (I17cd5, b/418062437)
  • কন্টেন্টের মধ্যে ক্লিক করার সময় SpatialPopup বাতিল হয়ে যাওয়ার সমস্যার সমাধান করা হয়েছে। (If262c, b/417245722)
  • resizable().movable() চেইন করার সময় SpatialPanel সঠিকভাবে নতুন সাইজে রিসাইজ না হওয়ার সমস্যা সমাধান করা হয়েছে। (I02ee3, b/422264230)
  • SpatialComposeVideoPlayer-এ মেনুর সাথে topBar ওভারল্যাপ করার সমস্যার সমাধান করা হয়েছে (Id33bc, b/427168167)
  • ফিক্সড কোণার ব্যাসার্ধ রেন্ডার হচ্ছে না (I975fe, b/428261830)

Version 1.0.0-alpha04

৭ মে, ২০২৫

androidx.xr.compose:compose:1.0.0-alpha04 ও androidx.xr.compose:compose-testing:1.0.0-alpha04 রিলিজ করা হয়েছে। ভার্সন 1.0.0-alpha04-এ এইসব কমিট রয়েছে।

নতুন ফিচার

  • কাস্টম SubspaceModifier প্রকারকে কম্পোজিশন লোকাল ভ্যালু অ্যাক্সেস করার অনুমতি দিতে CompositionLocalConsumerSubspaceModifierNode ইন্টারফেস যোগ করা হয়েছে।
  • নতুন SpatialPanel API যোগ করা হয়েছে যা কম্পোজ AndroidView প্রয়োগের স্টাইল অনুসরণ করে এবং আগের ViewBased SpatialPanel বন্ধ করে দেয়।
  • VolumeConstraints.Unbounded কম্প্যানিয়ন অবজেক্ট যোগ করা হয়েছে যা আনবাউন্ডেড কনস্ট্রেন্টকে দেখায়।
  • স্পেশিয়ালাইজড অডিও সোর্সকে অনুমতি দিতে SubspaceModifier.onPointSourceParams যোগ করা হয়েছে।
  • একটি পাবলিক ApplicationSubspace যোগ করা হয়েছে, যা 3D এরিয়া নির্ধারণ করার জন্য ঐচ্ছিক VolumeConstraints অফার করে যেখানে অ্যাপ স্পেশিয়াল কন্টেন্ট রেন্ডার করতে পারে। ডিফল্ট হিসেবে, কোনও সীমাবদ্ধতা উল্লেখ করা না থাকলে, সাবস্পেসটি SpatialUser-এর বর্তমান ফিল্ড অফ ভিউয়ের প্রস্থ এবং উচ্চতা দ্বারা সীমাবদ্ধ থাকবে। ফিল্ড অফ ভিউ নির্ধারণ করা না গেলে, ব্যবহারকারীরা ব্যবহার করার জন্য সীমাবদ্ধতা প্রদান করতে পারেন। অন্যথায়, ফিল্ড অফ ভিউয়ের প্রস্থ ও উচ্চতার ডিফল্ট ভ্যালু ব্যবহার করা হয়।
  • SpatialExternalSurface যোগ করা হয়েছে, যা ঘনদর্শনমূলক কন্টেন্ট রেন্ডার করতে ব্যবহার করা যেতে পারে। SpatialExternalSurface মডিফায়ার (আলফা ছাড়া) ও এজ ফেদারিং এফেক্টের মাধ্যমে কাস্টমাইজ করা যায়।
  • নতুন pointerHoverIcon সাবস্পেস মডিফায়ার যোগ করা হয়েছে যা ব্যবহারকারীদের স্পেশাল পয়েন্টারের জন্য আইকন সেট করার অনুমতি দেয়।

API-তে পরিবর্তন

  • সব Jetpack XR প্যাকেজে RequiresApi(34) সংক্রান্ত বিধিনিষেধ সরিয়ে দেওয়া হয়েছে। এই বিধিনিষেধটি অপ্রয়োজনীয় ছিল কারণ Jetpack XR বর্তমানে শুধুমাত্র API লেভেল ৩৪+ সহ ডিভাইসে উপলভ্য। (Iae0f8)
  • Kotlin 2.0-এর সাথে রিলিজ করা প্রোজেক্টের জন্য KGP 2.0.0 বা তার পরবর্তী ভার্সন প্রয়োজন। (Idb6b5)
  • এম্বেড করা অ্যাক্টিভিটি ছাড়াই স্পেশাল প্যানেলে এখন ব্যাক হ্যান্ডলিং কাজ করবে। ব্যাক হ্যান্ডলিং কাজ করার জন্য আপনাকে Android ম্যানিফেস্টে android:enableOnBackInvokedCallback="true" উল্লেখ করতে হবে।
  • ব্যাকহ্যান্ডলিং এখন স্পেশিয়াল ডায়ালগে কাজ করবে। ব্যাকহ্যান্ডলিং কাজ করার জন্য আপনাকে Android ম্যানিফেস্টে android:enableOnBackInvokedCallback="true" উল্লেখ করতে হবে।
  • Compose-ভিত্তিক এবং View-ভিত্তিক SpatialPanel এখন তাদের কন্টেন্টের উপর ভিত্তি করে নিজেদের সাইজ নির্ধারণ করতে পারে।
  • ডেভেলপাররা এখন তাদের নিজস্ব কাস্টম SpatialElevationLevel মান সেট করতে পারেন এবং পূর্বনির্ধারিত লেভেলে সীমাবদ্ধ নন।
  • elevation প্যারামিটারের মাধ্যমে এখন অরবিটার এলিভেশন লেভেল কাস্টমাইজ করা যেতে পারে।
  • সাবস্পেস এখন ডিফল্ট হিসেবে প্রস্থ ও উচ্চতায় SpatialUser-এর ফিল্ড অফ ভিউ দ্বারা সীমাবদ্ধ করা যেতে পারে। ফিল্ড অফ ভিউ নির্ধারণ করা না গেলে, ফিল্ড অফ ভিউয়ের প্রস্থ ও উচ্চতার ডিফল্ট ভ্যালু ব্যবহার করা হয়।
  • Movable মডিফায়ারে নতুন কলব্যাক onMoveStart এবং onMoveEnd যোগ করা হয়েছে। ব্যবহারকারী যখন মুভেবল মডিফায়ারের সাথে সাবস্পেস কম্পোজেবল সরানো শুরু এবং শেষ করেন তখন onMoveStart এবং onMoveEnd কলব্যাকগুলি কল করা হয়।
  • name প্যারামিটারটি SpatialRow এবং SpatialPanel-এর মতো স্পেশিয়াল API থেকে সরিয়ে দেওয়া হয়েছে। স্পেশিয়াল কম্পোজ ট্রি ডিবাগ করার জন্য পরিবর্তে SubspaceModifier.testTag ব্যবহার করুন।
  • SpatialPopup-এর কাজ করে না এমন ওভারলোড সরিয়ে দেওয়া হয়েছে, যাতে শুধু spatialElevationLevel ও content আছে। onDimissRequest কাজ করে এমন ইন্টারফেস ব্যবহার করুন।
  • Movable মডিফায়ার থেকে onPoseChange কলব্যাক সরিয়ে দেওয়া হয়েছে। পরিবর্তে onMove ব্যবহার করুন।
  • SubspaceModifiers-এর এফেক্ট আলাদা করা হলে বা বর্তমানে আলাদা করা হচ্ছে এমন হলে, সেগুলি আর প্রয়োগ করা হবে না।
  • আগে থেকে থাকা SpatialRow API-কে SpatialRow এবং SpatialCurvedRow-এ ভাগ করা হয়েছে। আগে SpatialRow-এর curveRadius প্যারামিটার ব্যবহার করে থাকলে, এখন তার পরিবর্তে SpatialCurvedRow ব্যবহার করুন যা একই ধরনের আচরণ অফার করে।
  • একই ধরনের সাম্প্রতিক সিস্টেম ইমেজে রান করলে MainPanel এবং ActivityPanel-এ আর কোনও টাইটেল বার থাকে না।
  • আলফা ও স্কেল মডিফায়ার এখন স্ট্যাক করা যাবে এবং চূড়ান্তভাবে প্রয়োগ করা আলফা বা স্কেল ভ্যালুর জন্য তাদের ভ্যালু গুণ করা হবে।
  • আরও মসৃণভাবে পোজ মুভমেন্ট পারফর্ম করার জন্য Movable মডিফায়ার থেকে onPoseChange কলব্যাক অপ্টিমাইজ করা হয়েছে।
  • মুভ করা ও ছোট-বড় করা যায় এমন মডিফায়ার এখন মূল থ্রেডে তাদের কলব্যাক পারফর্ম করবে যাতে স্ট্যাটাস পরিবর্তন রিকম্পোজিশন ট্রিগার করে।
  • লেআউট এবং পরিমাপের ফেজে স্টেট অবজার্ভেশন যোগ করা হয়েছে যাতে SubspaceLayout-এ স্টেট পরিবর্তন হলে রিলেআউট ট্রিগার হয়।
  • আগে থেকে থাকা মডিফায়ার আরও ভালোভাবে ব্যবহার করার জন্য অপ্টিমাইজ করা মডিফায়ার চেইন আপডেট।

ত্রুটি সমাধান

  • SpatialDialog দেখানো হলে স্ক্রিমিং বন্ধ করা হয়েছে। (Ic4594)
  • মডিফায়ার নোড ডিটাচ করা থাকাকালীন রিলেআউট অনুরোধ করা হলে তা এখন থেকে উপেক্ষা করা হবে।
  • সরানো যায় ও সাইজ পরিবর্তন করা যায় এমন মডিফায়ার দ্বারা ট্রিগার করা রিলেআউট ফেজ সরানো হয়েছে।
  • MainPanel() কম্পোজেবলে একটি ক্র্যাশ ঠিক করা হয়েছে যা সরাসরি বা লেআউট গণনা করার সময়, যেমন SpatialRow/SpatialColumn গণনা করার সময়, যেকোনও ডাইমেনশন শূন্যে সেট করা হলে ঘটে। পরিবর্তে, প্যানেলটি এখন লুকানো থাকবে। মনে রাখবেন যে এই সমাধানটি বিশেষভাবে লেআউট ফেজের সময় ক্র্যাশ সংক্রান্ত সমস্যার সমাধান করে; ব্যবহারকারীর ইন্টারঅ্যাকশনের মাধ্যমে প্যানেলের সাইজ শূন্যে পরিবর্তন করার বিষয়টি আলাদাভাবে ম্যানেজ করা হবে। লুকানো প্যানেলে UI অ্যাফর্ডেন্স নেই।
  • ছোট-বড় করার মডিফায়ার থেকে maintainAspectRatio-এর সমস্যা সমাধান করা হয়েছে। অ্যাস্পেক্ট রেশিও এখন বজায় রাখতে হবে।
  • নেস্টেড সাবস্পেসের ক্ষেত্রে একটি সমস্যা সমাধান করা হয়েছে যেখানে একটি ফ্রেমের জন্য সেগুলি ভুলভাবে পজিশন করা হচ্ছিল।
  • কখনও কখনও রাউন্ডেড কর্নার প্রয়োগ না হওয়ার সমস্যা সমাধান করা হয়েছে।
  • NestedSubspaces আর ভুল লোকেশনে একটি ফ্রেমে দেখা যাবে না।

ভার্সন 1.0.0-alpha03

২৬ ফেব্রুয়ারি, ২০২৫

শেষ আলফা ভার্সনের পর থেকে androidx.xr.compose:compose:1.0.0-alpha03 এবং androidx.xr.compose:compose-testing:1.0.0-alpha03-এ কোনও উল্লেখযোগ্য পরিবর্তন করা হয়নি। ভার্সন 1.0.0-alpha03-এ এইসব কমিট আছে

ভার্সন 1.0.0-alpha02

১২ ফেব্রুয়ারি, ২০২৫

androidx.xr.compose:compose:1.0.0-alpha02 ও androidx.xr.compose:compose-testing:1.0.0-alpha02 রিলিজ করা হয়েছে। 1.0.0-alpha02 ভার্সনে এইসব কমিট রয়েছে।

নতুন ফিচার

  • স্পেশিয়াল ডায়ালগ অ্যাক্টিভেট করা হলে, অ্যাক্টিভিটি প্যানেল এখন এর কন্টেন্ট স্ক্রিম করতে পারে।
  • Orbiter API এখন SubspaceComposable প্রসঙ্গে ব্যবহারযোগ্য এবং এটি Orbiter-কে তার নিকটতম SubspaceLayout-ভিত্তিক কম্পোজেবল পেরেন্টের সাথে অ্যাটাচ করবে।
  • কাস্টম পজিশনিং-ভিত্তিক মডিফায়ারকে অনুমতি দিতে LayoutCoordinatesAwareModifierNode চালু করা হয়েছে।
  • SubspaceModifier.Node-এ অ্যাটাচ/ডিটাচ লাইফসাইকেল পদ্ধতি যোগ করা হয়েছে।
  • মুভেবল মডিফায়ারে 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-এর প্রাথমিক ডেভেলপার রিলিজ। আপনি আগে থেকে থাকা কোনও 2D অ্যাপ XR-এ পোর্ট করছেন বা একদম শুরু থেকে নতুন XR অ্যাপ তৈরি করছেন, যাই হোক না কেন, XR-এ স্পেশিয়াল UI লেআউট তৈরি করতে, সারি ও কলামের মতো পরিচিত Compose কনসেপ্ট ব্যবহার করুন। এই লাইব্রেরি সাবস্পেস এবং স্পেশিয়াল কম্পোজেবল প্রদান করে: যেমন স্পেশিয়াল প্যানেল এবং অরবিটার, যা আপনাকে স্পেশিয়াল লেআউটে আপনার বিদ্যমান 2D কম্পোজ বা ভিউ-ভিত্তিক UI রাখতে দেয়। এটি ভলিউম সাবস্পেস কম্পোজেবল চালু করে, যা আপনাকে আপনার UI-এর সাথে সম্পর্কিত 3D মডেলের মতো SceneCore এন্টিটি রাখতে দেয়। এই ডেভেলপার নির্দেশিকা থেকে আরও জানুন:

    • Subspace: এই কম্পোজেবল আপনার অ্যাপের UI হায়ারার্কির মধ্যে যেকোনও জায়গায় রাখা যেতে পারে, যা আপনাকে ফাইলের মধ্যে কন্টেক্সট না হারিয়ে 2D এবং স্পেশাল UI-এর জন্য লেআউট বজায় রাখতে দেয়। এর ফলে, আপনার সম্পূর্ণ UI ট্রি জুড়ে স্টেট হোস্ট না করে বা আপনার অ্যাপের আর্কিটেকচার আবার তৈরি না করেই, XR এবং অন্যান্য ফর্ম ফ্যাক্টরের মধ্যে বর্তমান অ্যাপ আর্কিটেকচারের মতো জিনিস শেয়ার করা সহজ হয়।

    • SpatialPanel: স্পেশাল প্যানেল হল একটি সাবস্পেস কম্পোজেবল যা আপনাকে অ্যাপ কন্টেন্ট দেখাতে দেয়–যেমন, আপনি স্পেশাল প্যানেলে ভিডিও প্লেব্যাক, স্থির ছবি বা অন্য কোনও কন্টেন্ট দেখাতে পারেন।

    • Orbiter: Orbiter হল একটি স্পেশিয়াল UI কম্পোনেন্ট। এটি সংশ্লিষ্ট স্পেশিয়াল প্যানেলের সাথে অ্যাটাচ করার জন্য ডিজাইন করা হয়েছে এবং এতে সেই স্পেশিয়াল প্যানেল সম্পর্কিত নেভিগেশন এবং প্রাসঙ্গিক অ্যাকশন আইটেম রয়েছে। যেমন, আপনি ভিডিও কন্টেন্ট দেখানোর জন্য স্পেশাল প্যানেল তৈরি করলে, অরবিটারের মধ্যে ভিডিও প্লেব্যাক কন্ট্রোল যোগ করতে পারবেন।

    • ভলিউম: আপনার UI-এর সাথে সম্পর্কিত 3D মডেলের মতো SceneCore এন্টিটি প্লেস করুন।

  • স্পেশিয়াল লেআউট: আপনি একাধিক স্পেশিয়াল প্যানেল তৈরি করতে এবং SpatialRow, SpatialColumn, SpatialBox এবং SpatialLayoutSpacer ব্যবহার করে স্পেশিয়াল লেআউটের মধ্যে সেগুলি রাখতে পারবেন। আপনার লেআউট কাস্টমাইজ করতে SubspaceModifier ব্যবহার করুন।

  • স্পেশিয়াল UI কম্পোনেন্ট: এই এলিমেন্টগুলি আপনার 2D UI-তে আবার ব্যবহার করা যেতে পারে এবং স্পেশিয়াল ক্ষমতা চালু থাকলে তবেই তাদের স্পেশিয়াল অ্যাট্রিবিউট দেখা যাবে।

    • SpatialDialog: একটি এলিভেটেড ডায়ালগ দেখানোর জন্য প্যানেলটি z-ডেপথে সামান্য পিছনে ঠেলে দেওয়া হবে।
    • SpatialPopUp: একটি এলিভেটেড পপ-আপ দেখানোর জন্য প্যানেলটি z-ডেপ্থে কিছুটা পিছনে ঠেলে দেবে
    • SpatialElevation: উচ্চতা যোগ করার জন্য SpatialElevationLevel সেট করা যেতে পারে।
  • SpatialCapabilities: ব্যবহারকারী আপনার অ্যাপ বা সিস্টেমের সাথে ইন্টার‍্যাক্ট করলে, স্পেশাল ক্যাপাবিলিটি পরিবর্তন হতে পারে, এমনকি আপনার অ্যাপও এটি পরিবর্তন করতে পারে—যেমন, হোম স্পেস বা ফুল স্পেসে যাওয়া। সমস্যা এড়াতে, বর্তমান পরিবেশে কোন API কাজ করে তা নির্ধারণ করতে আপনার অ্যাপকে LocalSpatialCapabilities.current চেক করতে হবে। isSpatialUiEnabled: স্পেশিয়াল UI এলিমেন্ট (যেমন, SpatialPanel) isContent3dEnabled: 3D অবজেক্ট isAppEnvironmentEnabled: এনভায়রনমেন্ট isPassthroughControlEnabled: অ্যাপ্লিকেশন পাসথ্রু স্ট্যাটাস নিয়ন্ত্রণ করতে পারবে কিনা isSpatialAudioEnabled: স্পেশিয়াল অডিও

পরিচিত সমস্যা

  • বর্তমানে XR-এর জন্য Jetpack Compose ব্যবহার করতে minSDK ৩০ প্রয়োজন। বিকল্প হিসেবে, আপনি নিম্নলিখিত ম্যানিফেস্ট এন্ট্রি <uses-sdk tools:overrideLibrary="androidx.xr.scenecore, androidx.xr.compose"/> যোগ করতে পারেন যাতে minSDK 23-এর মাধ্যমে বিল্ড ও রান করা যায়।
  • Jetpack XR অ্যাপের জন্য বর্তমানে AndroidManifest-এ android.permission.SCENE_UNDERSTANDING অনুমতি অনুরোধ করতে হয়।
  • কোনও অ্যাপ তার ম্যানিফেস্টে PROPERTY_XR_ACTIVITY_START_MODE প্রপার্টি ব্যবহার করে সরাসরি ফুল স্পেসে লঞ্চ হলে, ফুল স্পেসে ট্রানজিশন করার আগে অ্যাক্টিভিটি/অ্যাপ্লিকেশন প্রাথমিকভাবে হোম স্পেসে খোলা হয়।
  • ভলিউম কম্পোজেবলে glTF প্রথমে ভুল লোকেশনে ফ্লিকার করতে পারে।
  • অনেকটা সরানো হয়েছে এমন প্যানেলে SpatialDialog ব্যবহার করলে কন্টেন্ট ভুল দিকে চলে যাবে।