Jetpack Compose for XR

ליצור פריסות מרחביות של ממשק משתמש באופן הצהרתי, תוך ניצול היכולות המרחביות של Android XR.
העדכון האחרון גרסה יציבה גרסה מועמדת להפצה גרסת בטא גרסת אלפא
‫23 בספטמבר 2026 - - ‎1.0.0-beta01 -

הצהרה על יחסי תלות

כדי להוסיף תלות ב-XR Compose, צריך להוסיף את מאגר Google Maven לפרויקט. מידע נוסף זמין במאמר בנושא מאגר Maven של Google.

אתם יכולים להוסיף את יחסי התלות של הארטיפקטים שאתם צריכים בקובץ build.gradle של האפליקציה או המודול:

Groovy

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"
}

Kotlin

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")
}

מידע נוסף זמין במאמר הוספת יחסי תלות ב-build.

משוב

המשוב שלכם עוזר לנו לשפר את Jetpack. נשמח לדעת אם גיליתם בעיות חדשות או אם יש לכם רעיונות איך לשפר את הספרייה הזו. כדאי לעיין בבעיות הידועות בספרייה הזו לפני שמדווחים על בעיה. כדי להוסיף הצבעה בדיווח על בעיה קיימת, לוחצים על כפתור הכוכב.

יצירת דיווח על בעיה חדשה

מידע נוסף זמין במאמרי העזרה בנושא Issue Tracker.

גירסה 1.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 שיצאה משימוש. במקום זאת, כדאי להשתמש ב-SubspaceModifier.resizable החדש עם ResizePolicy חדש. (I59e6b)
  • נוסף הפרמטר isPitchUpdateEnabled כדי לאפשר הפעלה או השבתה של מעקב אחר גובה הצליל באופן עצמאי. (Ie9e86)
  • הוסרה האפשרות להגדיר את pitchLimits כ-null, ושם המשתנה PitchLimits.UNCONSTRAINED שונה ל-PitchLimits.FullRange. (I0154f)
  • הפונקציה ExposedDropdownMenu היא עכשיו פונקציית הרחבה ב-ExposedDropdownMenuBoxScope במקום חברה. יכול להיות שתצטרכו לעדכן את הקוד באמצעות ייבוא חדש. (Ie8a65)
  • הוסרה המחלקה SurfaceProtection שהוצאה משימוש. במקומה צריך להשתמש במדיניות SpatialExternalSurfaceProtection. (Iab2c6)
  • הפונקציה Orbiter שמקבלת OrbiterPoseProvider הוצאה משימוש, ועכשיו משתמשים בפונקציה שמקבלת SpatialAlignment. (I4d12b)
  • כדי להפעיל ולנהל פעילויות מוטמעות, מעכשיו נדרש ב-SpatialActivityPanel SpatialActivityPanelController (שנוצר באמצעות rememberSpatialActivityPanelController). (Id25c6)
  • הוסר הפרמטר upDirection מ-rotateToLookAtUser והוספו פרמטרים של אילוצי סיבוב (isYawUpdateEnabled ו-pitchLimits). (I1370a)

תיקוני באגים

  • תוקנו בעיות שונות ב-InteractionPolicy. קריסה מתרחשת אם אירוע קלט מתרחש בדיוק כשאלמנט Composable או צאצא (למשל Orbiter) מתחילים רצף של סילוק. בנוסף, תוקנה בעיה שבה ילדים קיבלו אירועי ריחוף. (Ifc477)
  • הקטנו את גודל החלונית ב-RotateToLookAtUserActivity כדי למנוע חיתוך במכשירים עם שדה ראייה קטן יותר. (I8d672)

בעיות מוכרות

  • יש בעיה בחלוניות של Compose XR, שבה יצירה של חלוניות רבות בפעילות אחת עלולה לגרום לנזק מסוים למה שמוצג, גם אחרי שהחלוניות נהרסות.

גרסה ‎1.0.0-alpha17

‫12 באוגוסט 2026

‫androidx.xr.compose:compose:1.0.0-alpha17 וגם androidx.xr.compose:compose-testing:1.0.0-alpha17 מופצים. גרסה ‎1.0.0-alpha17 מכילה את השמירות האלה.

שינויים ב-API

  • מסירים את מחלקת הערכים Meter, היא מוחלפת ב-virtualPixelDensity ב-Scenecore. (I690ee)
  • ‫SpatialGltfModel API הוא עכשיו ניסיוני, וצריך להביע הסכמה כדי להשתמש בו. (I4557e)
  • הפיכת system לניתן לשינוי גודל (Ib0093)
  • התכונה Density נחשפה ב-SubspaceSemanticsInfo לצורך בדיקה. (I2e826)
  • משנים את השם של אפשרות ברירת המחדל ResizePolicy ל-system ומוסיפים אפשרות חדשה Default ללא פרמטרים (Ic8b16)
  • סימון של FollowTarget כניסיוני. כל FollowingSubspace API הוא עכשיו ניסיוני. (Id4ee3)
  • הסרת ממשקי GltfAnimation API‏ (Ic2894)
  • השם של ה-method עם הפרמטרים MovePolicy.default() שונה ל-MovePolicy.system(). הוספנו את המאפיין val MovePolicy.Default כדי לייצג את התנהגות התנועה הרגילה שמוגדרת כברירת מחדל. (Iedcc9)
  • הרחבת הדרישות להצטרפות לתוכנית ExperimentalMoveAnchorPolicy ל-PlaneSemantic ול-PlaneOrientation (Ief927)
  • הסרת resetMins מהחשבון VolumeConstraints.offset (Ib2f2f)
  • הוסרה הפונקציה SceneCoreEntitySizeAdapter שיצאה משימוש. (Ib6722)
  • הוסר עומס יתר של Subspace שהוצא משימוש עם allowUnboundedSubspace. (I8e97f)
  • הוסר עומס יתר של שינוי סמנטיקה שהוצא משימוש. (I4ac10)

תיקוני באגים

  • תוקנה בעיה שבה אירועי קלט של טריגרים (Icdba6) מצורפים לילדים של Composable עם InteractionPolicy

גרסה ‎1.0.0-alpha16

‫15 ביולי 2026

‫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)
  • ממשקי ה-API‏ GltfAnimation ו-SpatialGltfModelAnimation מסומנים כניסיוניים. חלק מהמאפיינים הפכו לשיטות getter. (I8d689, ‏ b/524771027)
  • תוקן אופן הפעולה של הצפיפות הכוללת על ידי קביעת המרה קבועה בין מטר לפיקסלים. הוצא משימוש Meter.kt, Session.scene.virtualPixelDensity ועכשיו אפשר להשתמש בו כחלופה. (I122ff, ‏ b/430097855, ‏ b/474168798)
  • עדכון של התאמה לשינוי גודל כך שתשתמש ב-ResizePolicy במקום בשתי התאמות (I7fb0f, ‏ b/496257436, ‏ b/519672992)
  • נוסף פרמטר סבילות: Dp = Dp(0.5f) לכל הצהרות השוויון הציבוריות של מיקום ומאפיין בנקודה צפה ב-SubspaceAssertions.kt. התנהגות ברירת המחדל של סבילות (0.5.dp) מתועדת באופן מלא. (I266cb, b/521491915)
  • נוספה עומס יתר שניתן להעברה עם הפרמטר movePolicy, והוצאו משימוש הפונקציות transformingMovable ו-movable (Ic88c1,‏ b/481781189)
  • נוספו וריאציות חדשות לא אינטראקטיביות של פריט רגיל ברשימה ופריט ברשימה עם פילוח, בהתאם למפרט של Material Expressive. הגרסה הלא-מפורטת הוצאה משימוש. (Ide4de, b/491994186)
  • ב-Subspace, הפרמטר allowUnboundedSubspace יצא משימוש והוא מוסתר עכשיו. כדי להשיג התנהגות לא מוגבלת, צריך להשתמש עכשיו ב-SubspaceModifier.requiredSizeIn(maxWidth = Dp.Infinity, maxHeight = Dp.Infinity, maxDepth = Dp.Infinity) בשינוי Subspace. הפרמטר allowUnboundedSubspace הוסר מ-FollowingSubspace. (Ia72ae, b/433624021)
  • הפונקציה Session.create הומרה לפונקציית השעיה. (I5d27f)
  • נוסף SubspaceModifier.spatializedAudioOutput שמאפשר להפעיל אודיו מרחבי דרך ExoPlayer או דרך SoundEffectPlayer (I46697, ‏ b/489421980, ‏ b/497867019)
  • בוצע עדכון של ComponentActivity.requestHomeSpace() ושל requestFullSpace() כדי להחזיר את הערך SpaceRequestResult לאימות הסטטוס. (If1672)
  • השם של AnchorEntity עודכן ל-AnchorSpace (Ifa95e, b/513619219)
  • שיטה ללא הגבלה fromResource מתוך SpatialGltfModelSource (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)
  • שם המשתנה position שונה ל-align ב-SpatialAlignment, והוסרו שיטות נפרדות של היסט כיווני לטובת API מאוחד של align. ‫(I9bdb2, ‏ b/479805937)
  • הוסרו ממשקי API שהוצאו משימוש של מצב מרחב מ-SpatialConfiguration. (I1ef5c, b/458712461)
  • הוספנו את SubspaceSemanticsConfiguration. זוהי הגדרה של מאפיינים סמנטיים לצומת מרחבי. המחלקות האלה חושפות בבטחה שיטות שאילתה לסמנטיקה תלת-ממדית, בלי לחשוף יכולות סמנטיות בסיסיות דו-ממדיות לצרכנים חיצוניים. (Id025e, b/460427288)
  • הוספנו את SubspaceSemanticsPropertyReceiver: עוטף ייעודי שמגביל את המאפיינים של מאגר פריסה תלת-ממדי לשדות תקפים (בהתחלה testTag ו-contentDescription). (I5cf5c, b/460427288)

תיקוני באגים

  • המאפיין hasContentDescription של משנה סמנטי עודכן כך שברירת המחדל היא התאמה למחרוזת משנה. (I08214)
  • נוספה הגבלה FollowBehavior.ExponentialDecay() שמאפשרת התנהגות עדינה של מעקב בהתאם לכללים של פיזיקה אלסטית. (I7449c, ‏ b/485639909, ‏ b/500493335)

רוב ממשקי ה-API יושפעו מהשינוי הזה. באופן ספציפי, LocalSession CompositionLocal וכל CompositionLocals שתלויים ב-LocalSession (למשל LocalSpatialConfiguration, LocalSpatialCapabilities וכו') יופנו עכשיו אל null או אל הגרסאות שלו שאינן XR לפני האתחול של Session.

אחרי שה-Session יהיה זמין, תופעל יצירה מחדש עם המצב הנכון. (I0cfa4, ‏ b/514712835, ‏ b/514712835)

  • הוספנו הבהרות למסמכי התיעוד של ComponentActivity.requestHomeSpace ו-ComponentActivity.requestFullSpace בנוגע להתנהגות ההשעיה, הביטול והשימוש בו-זמנית. עדכנו את הבדיקות כדי לאמת את ההפצה של CancellationException. (I22f75, ‏ b/493289528)

גרסה ‎1.0.0-alpha15

‫17 ביוני 2026

‫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)
  • עדכון של ממשקי API‏ SpatialGltfModel: נוספה תמיכה בטעינת מודלים ממקורות מידע באמצעות SpatialGltfModelSource.fromResource. השם speed שונה ל-playbackSpeed ב-SpatialGltfModelAnimation, ונוספה שיטה resume()‎. ‫SpatialGltfModelStatus.Loaded ו-Loading הם עכשיו אובייקטים. (I523de)
  • סימון rotateToLookAtUser כ-API ניסיוני. (I86c16)
  • הועבר ושונה השם של המשתנה המוגן targetCurrentPose למשתנה מקומי currentTargetPoseMeter. (Ia557c)
  • עדכון של SpatialPanel ו-SpatialExternalSurface kdocs כך שיכללו את המיקום שבו האובייקט מוצג בפריסה שלו (I72104)
  • הלוגיקה של טעינת SpatialGltfModel מוכללת ב-SpatialGltfModelState והתנהגות הכשל הובהרה. (Ibe98b)
  • הבהרה של depth ב-SubspaceModifer.size kdocs ‏ (I0f84f)

גרסה ‎1.0.0-alpha14

‫19 במאי 2026

‫androidx.xr.compose:compose:1.0.0-alpha14 וגם androidx.xr.compose:compose-testing:1.0.0-alpha14 מופצים. גרסה ‎1.0.0-alpha14 מכילה את השמירות האלה.

שינויים ב-API

  • הוספנו את transformingMovable לטיפול בתנועה תלת-ממדית שמוגדרת כברירת מחדל על ידי המערכת, והוספנו עומס יתר חדש ל-movable כדי לטפל בהתנהגויות תנועה בהתאמה אישית. (I50960)
  • השדה SpatialGltfModel.fromData() הוסר. (I4d083)
  • נוסף ממשק חדש של צומת משנה, SubspaceMeasuredSizeAwareModifierNode, שמספק קריאה חוזרת (callback) של onRemeasured אחרי מעבר המדידה. SubspaceLayoutAwareModifierNode כולל עכשיו את הממשק החדש הזה. המשנה onSizeChanged עודכן כך שישתמש ב-onRemeasured, כדי להבטיח שהקריאה החוזרת תופעל מיד אחרי המדידה, ולא אחרי המיקום. (Iafbae)
  • עודכן InteractionPolicy ל-Interface (I0ff30)
  • עדכון של Compose compileSdk ל-API 37. כלומר, כשמשתמשים ב-Compose, נדרשת גרסת AGP מינימלית של 9.2.0. (Id45cd)
  • עדכנו Size מסמכי kdocs‏ (Iefa9a)

גרסה ‎1.0.0-alpha13

‫6 במאי 2026

‫androidx.xr.compose:compose:1.0.0-alpha13 וגם androidx.xr.compose:compose-testing:1.0.0-alpha13 מופצים. גרסה ‎1.0.0-alpha13 מכילה את השמירות האלה.

שינויים ב-API

  • ממשק ה-API של Orbiter נמצא בהמתנה לשינויים נוספים, לכן מומלץ להסתיר את הודעות ההוצאה משימוש של Orbiters ולעקוב אחרי שינויים ב-Orbiter בגרסאות הקרובות.
  • משתמשים ב-SceneCoreEntity לעיבוד קובצי glTF צריכים לוודא שהם מעבירים את session.scene.activitySpace לפרמטר parent של הקריאה ל-GltfModel.create כדי להבטיח שקובצי ה-glTF יעובדו.
  • הוספנו את SpatialGltfModel API כדי לאפשר למפתחים להוסיף קובצי Gltf לאפליקציות שלהם ב-Compose For XR. מפתחים יכולים גם לשלוח שאילתות לגבי אנימציות וצמתים בתוך מודלים של Gltf. (I8b542, ‏ b/495422586)
  • שינויים SceneCoreEntitySizeAdapter ממחלקה לממשק (I5a784, b/475292310)
  • השם של SurfaceProtection שונה לSpatialExternalSurfaceProtection. עודכנו SpatialExternalSurface מסמכי kdocs (Ifad0a, b/485231082)
  • הוצאה משימוש של currentWindowAdaptiveInfo והשקת גרסה 2 שלו (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 (עם חזרה לגרסה קודמת שהוצאה משימוש), נוסף INERTIAL_LAST_KNOWN למעקב 3DoF, ונוסף TRACKING_DEGRADED ל-TrackingState. (Ie661c, ‏ b/445466590)
  • הסרת SpatialLayoutSpacer (I7b36c) שהוצא משימוש
  • הסרת API של padding שהוצא משימוש (If1886)
  • הוספנו floatRange לערכי ההטיה. הוסר ערך ברירת מחדל עבור LayoutDirection (I9d74e)

תיקוני באגים

  • נוספו דוגמאות קוד ומסמכי KDoc ל-SpatialColumn,‏ SpatialRow ו-SpatialCurvedRow. (Iaf54f, b/495777633)

גרסה ‎1.0.0-alpha12

‫25 במרץ 2026

‫androidx.xr.compose:compose:1.0.0-alpha12 וגם androidx.xr.compose:compose-testing:1.0.0-alpha12 מופצים. גרסה ‎1.0.0-alpha12 מכילה את השמירות האלה.

שינויים ב-API

  • מוסיפים את SpatialGltfModel API ואת ממשקי SpatialGltfModelAnimation API כדי לעבד קובצי glTF ולשלוט באנימציות. השתנה מ-SpatialGltfModelState ל-AutoCloseable, עכשיו צריך לסגור אותו כדי לפנות את המשאבים שלו. ‫(I11fde, ‏ b/466065486, ‏ b/481379924). עם זאת, ה-API‏ SpatialGltfModel מסומן כמוגבל בגרסה הזו עד שנבצע בדיקות נוספות. (Ibf003, ‏ b/466090694)
  • נוספה פונקציית עומס יתר ריקה שהוצאה משימוש בשביל SubspaceModifier.rotate. (Idceb6)
  • הפונקציה SpatialSmoothFeatheringEffect קיבלה את השם spatialSmoothFeatheringEffect והועברה למודול draw. ערך ברירת המחדל של SpatialExternalSurface feathering עודכן ל-null, שמשחזר את הפונקציונליות הישנה של ZeroFeatheringEffect. ‫(I5fdaa, ‏ b/460426800)
  • בוצעה הסרה של onPointSourceParamsAvailable. בקרוב יהיה זמין API אחר של אודיו מרחבי. (I86507, ‏ b/458513439)
  • נוספה התנהגות RTL למשנים של מרחב משנה להיסט. נוסף גם absoluteOffset כדי להתעלם מכיוון הפריסה. ‫(I30e4b, ‏ b/474409165)

גרסה ‎1.0.0-alpha11

‫25 בפברואר 2026

‫androidx.xr.compose:compose:1.0.0-alpha11 וגם androidx.xr.compose:compose-testing:1.0.0-alpha11 מופצים. גרסה ‎1.0.0-alpha11 מכילה את השמירות האלה.

תכונות חדשות

  • הוספת הפרמטר SuperSampling אל SpatialExternalSurfaces (Icd4d1)

בעיות מוכרות

  • בעיה ב-SurfaceEntity ב-SceneCore עלולה לגרום לקריסת אפליקציות כשיוצרים מופעים של SpatialExternalSurface. הבעיה הזו נפתרה בגרסאות androidx.xr.scenecore:scenecore-*:1.0.0-alpha13 ו-androidx.xr.compose:compose:1.0.0-alpha12 ובגרסאות שבאו אחריהן. צריך לעדכן את האפליקציות המושפעות לגרסאות האחרונות.

שינויים ב-API

  • שינויים בריווח של משנה המרחב המשני כדי להתאים לכיוון הפריסה. (I53e25)
  • התוקף של SpatialCapabilities הסתיים ואי אפשר להאריך אותו. (I07aef)
  • ממשקי ה-API‏ SpatialRow ו-SpatialColumn שמקבלים פרמטר כללי SpatialAlignment הוצאו משימוש. במקומם, צריך להשתמש בממשקי ה-API שמקבלים את הפרמטרים verticalAlignment או horizontalAlignment עבור SpatialRow ו-SpatialColumn, בהתאמה. (Iec390)
  • שילוב של ממשקי API של פונקציות עם עומס יתר SubspaceLayout (Idd30a)
  • השם של SubspaceModifier.lookAtUser שונה ל-rotateToLookAtUser והפרמטר up שונה ל-upDirection. (Icafb8)
  • הפיכת SpatialRow לפונקציה מוטמעת (Ia2f20)
  • הפיכת SpatialColumn לפונקציה מוטמעת (I681be)
  • הוסר billboard API‏ (Ib76cd)

גרסה ‎1.0.0-alpha10

‫28 בינואר 2026

‫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)
  • הסרת ממשקי API שהוצאו משימוש ב-SpatialAlignment. (Ib0b61, b/468011887)
  • הוצאה משימוש של SpatialLayoutSpacer והשקה של SpatialSpacer. (I2ebf3, ‏ b/466071383)
  • ממשק ה-API של UserSubspace עודכן כדי להחליף את המונח 'נעילה עצלה' במונח 'נעילה רכה'. (I9ded1, b/464035984)

גרסה ‎1.0.0-alpha09

‫3 בדצמבר 2025

‫androidx.xr.compose:compose:1.0.0-alpha09 וגם androidx.xr.compose:compose-testing:1.0.0-alpha09 מופצים. גרסה ‎1.0.0-alpha09 מכילה את השמירות האלה.

שינויים ב-API

  • הוספנו משנים של LookAtUser ושל Billboard, שמאפשרים לתוכן להיות תמיד מול המשתמש. (I49b99)
  • הוספת האפשרות להגדיר InteractionPolicy לערכים SpatialExternalSurfaces ו-SpatialPanels, כדי לאפשר זיהוי של קליקים ואירועים אחרים של קלט תלת-ממדי. (Iae155)
  • נוספו גודל וrequiredSize עומס יתר של משנה עם רוחב, גובה ועומק כערכי Dp. (I92f79)
  • הממשק של ParentLayoutParamsModifier מתרחב עכשיו ל-DelegatableSubspaceNode. (I1a6d4)
  • הוצאנו משימוש את ApplicationSubspace לטובת Subspace API.
    • התנהגות ה-API של Subspace השתנתה, ועכשיו הוא מספק רק מרחב משנה ברמת האפליקציה בתנוחה ובקנה מידה המומלצים.
    • השקנו את PlanarEmbeddedSubspace API כדי לספק מרחבי משנה מוטמעים בהקשרים דו-ממדיים. (Id3343)
  • הוספנו את הדגל shouldAutoInvalidate ל-API של SubspaceModifier.Node. (I93902)
  • נוסף required(Size|Width|Depth|Height)בממשקי API שמאפשרים למפתחים להגביל את הגודל של @SubspaceComposable לטווח מסוים, בלי להתחשב במגבלות המדידה הנכנסות של רכיב האב. (Ifaa78)
  • הוספנו את SubspaceModifier.onSizeChanged, שמאפשר למפתחים להגיב כשגודל של @SubspaceComposable משתנה באמצעות קריאה חוזרת פשוטה וממוקדת. (I994f9)
  • הסרנו את Volume API. מומלץ להשתמש ב-SceneCoreEntity API במקום ב-Volume API. (I4162b)
  • פיצול של SubspaceLayoutModifierNode.requestRelayout ל-invalidateMeasurement/invalidatePlacement. (I14805)
  • נוסף SpatialGltfModel API שמאפשר למפתחים לעבד קובצי glTF ב-Compose. (Icc91f)
  • השקנו את SpatialGltfModel composable API להצגה קלה של קובצי glTF‏ (Iade67)

תיקוני באגים

  • תוקן באג בפריסה של SceneCoreEntity. הוא אמור לפעול עכשיו בהתאם למגבלות. (I11bb8)
  • הורדת מודולים של jxr-compose ל-Compile sdk = 34 (I2d5db)

גרסה ‎1.0.0-alpha08

‫22 באוקטובר 2025

‫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

‫24 בספטמבר 2025

‫androidx.xr.compose:compose:1.0.0-alpha07 וגם androidx.xr.compose:compose-testing:1.0.0-alpha07 מופצים. גרסה ‎1.0.0-alpha07 מכילה את השמירות האלה.

שינויים ב-API

  • שיפרנו את KDocs עבור SpatialMainPanel. (I27b70, ‏ b/444467891)
  • נוסף SpatialArrangement לסידור רכיבי צאצא לאורך הציר הראשי בפריסות תלת-ממדיות כמו SpatialRow ו-SpatialColumn. ממשק ה-API החדש הזה מספק אפשרויות מוכרות לסידור מ-2D Compose, כולל Start,‏ End,‏ Center,‏ SpaceBetween,‏ SpaceAround ו-SpaceEvenly, עם תמיכה מלאה בפריסות משמאל לימין ומימין לשמאל. (I7db38, b/436289959)
  • נוסף ממשק בסיסי ל-SubspaceModifier.Node כדי לשפר את מניעת שגיאות הקלדה ואת נוחות השימוש בממשקי הרחבות, כמו:
    • CompositionLocalConsumerSubspaceModifierNode
    • LayoutCoordinatesAwareModifierNode
    • SubspaceLayoutModifierNode
    • CoreEntityNode (internal) (Iede00, b/440599394, b/440599394)
  • ביטול ההגבלה SpatialExternalSurface (I33315, b/439646773)
  • הוספת SubspaceModifier לרכיבים הניתנים להרכבה של Subspace והחלפת פרמטר האילוצים ב-SubspaceModifier עם SubspaceModifiers שקשור לגודל. אם allowUnboundedSubspace מוגדר כ-True, עדיין יכולות להיות הגבלות לא מוגבלות במרחבים משניים. (Ib06e6, b/433331675)
  • הוצאנו משימוש את SubspaceModifiers שאפשר להזיז ולשנות את הגודל שלה, ועכשיו DragPolicy() ו-ResizePolicy() הם חלק מממשקי ה-API ‏SpatialPanel ו-SpatialExternalSurface (I397bf,‏ b/437924639)
  • נוספה תמיכה ב-LayoutDirection בפריסות מרחביות. השימוש ב-SpatialAlignment יאפשר עכשיו למקם רכיבים בצורה נכונה בהקשרים של כתיבה מימין לשמאל ומשמאל לימין. (I964bb, ‏ b/436300273)
  • הוספנו פרמטרים של שינוי גודל והזזה ל-API של Panel כדי לוודא שאפשר להחיל את ההתנהגויות האלה רק על מאגרי נתונים נתמכים. (Id491c)
  • נוספו sizeIn, ‏ widthIn, ‏ heightIn, ‏ depthIn SubspaceModifiers שמאפשרים להגדיר אילוצים מדויקים של מינימום ומקסימום לרוחב, לגובה ולעומק. (I1af09, ‏ b/433330761)

גרסה ‎1.0.0-alpha06

‫13 באוגוסט 2025

‫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

‫30 ביולי 2025

‫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 חדשים שניתן להרכבה, שמייצגים כדורים של 180 ו-360 מעלות. (I40ef2, b/391705799)
  • נוספה SubspaceModifier.aspectRatio (‏Ide5ab, ‏b/399729509, ‏b/414762147)
  • הוספנו את SceneCoreEntity API כדי לשפר את יכולת הפעולה ההדדית בין SceneCore לבין Compose for XR. (I50bb3, ‏ b/423020989)
  • ‫GravityAlignedsubspace API נוסף לתמיכה בתכונה GravityAligned ללא שינוי קנה מידה (I07359)

שינויים ב-API

  • SpatialDialog() יפעל לפי ההגדרה של לחיצה על SpatialDialogProperties.dismissOnBack. (Ib453b, ‏ b/416797132)
  • העדכון של minimumPanelDimension לגודל חדש של מאפיין ברירת המחדל Dimensions(0.1f, 0.1f, 0.1f) נובע מהייצוג שלו במטרים. (Ib852a)
  • מעכשיו, המצב הפנימי של תתי-מרחבים ושל Orbiters יישמר במרחב הביתי וגם כשהאפליקציה פועלת ברקע. במצב 'תצוגה מצומצמת', עדיין תתבצע הגדרה של הסצנה ב-Subspace לקראת המעבר למצב 'תצוגה מורחבת'. (I40317, ‏ b/416037751)
  • מעכשיו, המצב של SpatialDialogs יישמר כשהאפליקציה פועלת ברקע. (I6aa56)
  • המכשיר ApplicationSubspace יקבל עכשיו מהמערכת את המיקום והגודל המומלצים שלו. (I4565f, ‏ b/418834194)
  • הוספנו הודעת שגיאה טובה יותר והפעלנו את השגיאה מוקדם יותר כשמשתמשים ב-SubspaceComposable בהקשר שהוא לא SubspaceComposable. ‫(Iee2ae, ‏ b/416484684)
  • העדכון של ExperimentalSubspaceVolumeApi מאזהרה לשגיאה נובע מכך שפעמים רבות מתעלמים מאזהרות כשמשתמשים ב-API מורכב בצורה לא נכונה. (I427aa, ‏ b/424864286)
  • הגישה ל-Subspace ול-ApplicationSubspace מוגבלת עכשיו על ידי recommendedContentBoxInFullSpace. בעבר, היא הוגבלה על ידי שדה הראייה של SpatialUser. (I41015, ‏ b/423074142)
  • עדכון SpatialElevation לשימוש בגודל מינימלי כדי להפסיק להשתמש בגודל שמוגדר בהארדקוד (I2dbe6, b/427785338)
  • אנחנו נעדכן את אופן ההצגה של SpatialAcitivityPanel כדי שהעדכון יתבצע כשמשנים משתנה מפתח. (I0f64d, ‏ b/427999029)
  • מומלץ להסיר את VolumeConstraints.Unbounded ולהגדיר את ערכי ברירת המחדל של האילוץ לערך המקביל. (Ie24ec, ‏ b/407938414)
  • ‫SpatialFeatheringSize כבר לא ציבורי (I1c15b, ‏ b/399432430)
  • השם של XR Placeable שונה ל-SubspacePlaceable כדי להבדיל אותו מ-Placeable של Compose. (I74874)
  • הסרת ההגדרות של Orbiter והוספת shouldRenderInNonSpatial כפרמטר חדש. בנוסף, הסרנו את המחלקה EdgeOffset והוספנו את orbiterOffsetType כפרמטר חדש כדי לאחד את הפונקציות Orbiter(). וגם שינוי השם של OrbiterEdge ל-ContentEdge. (Iebf3d)
  • השם Measurable שונה ל-SubspaceMeasurable כדי להבדיל בין הסוג הזה לבין הסוג Measurable של Compose. (I9726c)
  • שינוי השם של MeasureResult ל-SubspaceMeasureResult (I9f34d)
  • הסרנו את setSubspaceContent API והחלפנו אותו בשימוש ב-setContent של Compose עם קוד Subspace קומפוזבילי. ‫(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)
  • הוסר CoreEntity בתור PublishedApi (Ifee05)

תיקוני באגים

  • תוקנה בעיה שבה הסמל SpatialDialog הבהב בזמן העיבוד. (Ife73c, b/401619909)
  • תוקנה בעיה שגרמה לכך שלא ניתן היה להסתיר את חלונית הפעילות באמצעות SpatialDialog. (I8ca6c, b/367442109)
  • תיקון של בעיה שגורמת לכך שחלק מהתוכן לא מוצג בתיבת הדו-שיח של XR‏ (I17cd5, ‏ b/418062437)
  • תוקנה בעיה שגרמה לסגירה של SpatialPopup כשלוחצים בתוך התוכן. (If262c, b/417245722)
  • תוקנה הבעיה שבה כשמשנים את הגודל של resizable().movable() SpatialPanel, הוא לא משתנה בהתאם לגודל החדש. (I02ee3, b/422264230)
  • תוקנה חפיפה של topBar עם התפריט ב-SpatialComposeVideoPlayer (Id33bc, ‏ b/427168167)
  • תוקנה בעיה שבה רדיוס פינה קבוע לא עבר רינדור (I975fe, b/428261830)

גרסה ‎1.0.0-alpha04

‫7 במאי 2025

‫androidx.xr.compose:compose:1.0.0-alpha04 וגם androidx.xr.compose:compose-testing:1.0.0-alpha04 מופצים. גרסה ‎1.0.0-alpha04 מכילה את השמירות האלה.

תכונות חדשות

  • נוסף ממשק CompositionLocalConsumerSubspaceModifierNode כדי לאפשר לסוגים מותאמים אישית של SubspaceModifier לגשת לערכים מקומיים של קומפוזיציה.
  • הוספנו API חדש,‏ SpatialPanel, שפועל לפי סגנון ההטמעה של AndroidView, והוצאנו משימוש את ViewBased SpatialPanel הקודם.
  • נוסף אובייקט נלווה VolumeConstraints.Unbounded שמייצג אילוצים לא מוגבלים.
  • נוסף SubspaceModifier.onPointSourceParams כדי לאפשר מקור אודיו מרחבי.
  • נוסף ApplicationSubspace ציבורי, שמציע VolumeConstraints אופציונלי להגדרת אזור תלת-ממדי שבו האפליקציה יכולה להציג תוכן מרחבי. כברירת מחדל, אם לא מציינים אילוצים, המרחב המשני יהיה מוגבל לרוחב ולגובה של שדה הראייה הנוכחי של SpatialUser. המשתמשים יכולים לספק אילוצים לשימוש אם לא ניתן לקבוע את שדה הראייה. אחרת, נעשה שימוש בערכי ברירת המחדל של רוחב וגובה שדה הראייה.
  • נוספה התכונה SpatialExternalSurface, שאפשר להשתמש בה כדי להציג תוכן סטריאוסקופי. אפשר להתאים אישית את SpatialExternalSurface באמצעות שינויים (למעט אלפא) ואפקט של טשטוש הקצוות.
  • נוסף pointerHoverIcon Subspace Modifier חדש שמאפשר למשתמשים להגדיר את הסמל של המצביע המרחבי.

שינויים ב-API

  • הוסרה ההגבלה RequiresApi(34) על כל חבילות Jetpack XR. ההגבלה הזו הייתה מיותרת כי Jetpack XR זמין כרגע רק במכשירים עם רמת API‏ 34 ומעלה. (Iae0f8)
  • כדי להשתמש בפרויקטים שפורסמו עם Kotlin 2.0, צריך KGP בגרסה 2.0.0 ומעלה. (Idb6b5)
  • מעכשיו, הטיפול בפעולת החזרה יפעל בחלוניות מרחביות ללא פעילויות מוטמעות. כדי שהטיפול בהחזרה יפעל, צריך לציין את android:enableOnBackInvokedCallback="true" במניפסט של Android.
  • מעכשיו אפשר להשתמש בתכונה 'הקשה על לחצן החזרה' בתיבות דו-שיח מרחביות. כדי שהטיפול בהחזרה יפעל, צריך לציין את android:enableOnBackInvokedCallback="true" במניפסט של Android.
  • עכשיו, גודלם של SpatialPanelים מבוססי-כתיבה ומבוססי-תצוגה נקבע על סמך התוכן שלהם.
  • המפתחים יכולים עכשיו להגדיר ערכים מותאמים אישית משלהם ל-SpatialElevationLevel, והם לא מוגבלים לרמות שמוגדרות מראש.
  • עכשיו אפשר להתאים אישית את רמת הגובה של Orbiter באמצעות הפרמטר elevation.
  • עכשיו אפשר להגדיר כברירת מחדל את הגבולות של תת-המרחב לפי שדה הראייה של SpatialUser ברוחב ובגובה. אם אי אפשר לקבוע את שדה הראייה, המערכת משתמשת בערכי ברירת המחדל של הרוחב והגובה של שדה הראייה.
  • נוספו קריאות חוזרות (callbacks) חדשות onMoveStart ו-onMoveEnd לשינוי Movable. הקריאות החוזרות (callbacks) onMoveStart ו-onMoveEnd מופעלות כשהמשתמש מתחיל ומסיים להזיז את המרחב המשני שניתן להרכבה באמצעות שינוי המאפיין movable.
  • הפרמטר name הוסר מממשקי API מרחביים כמו SpatialRow ו-SpatialPanel. לניפוי באגים בעצים של קומפוזיציה מרחבית, משתמשים במקום זאת ב-SubspaceModifier.testTag.
  • הוסר עומס יתר לא נתמך של SpatialPopup שיש לו רק spatialElevationLevel ו-content. צריך להשתמש בממשק שתומך ב-onDimissRequest.
  • הוסר ה-callback‏ onPoseChange מהמשנה Movable. במקומה צריך להשתמש במדיניות onMove.
  • SubspaceModifiers לא יחילו יותר את האפקטים שלהם אם הם מנותקים או נמצאים בתהליך ניתוק.
  • ממשק ה-API הקיים של SpatialRow פוצל ל-SpatialRow ול-SpatialCurvedRow. אם השתמשתם בעבר בפרמטר SpatialRowcurveRadius, עכשיו צריך להשתמש בפרמטר SpatialCurvedRow במקומו, כי הוא מציע את אותה התנהגות.
  • ל-MainPanel ול-ActivityPanel אין יותר סרגלי כותרת כשהן מופעלות על קובץ אימג' של מערכת עדכנית דומה.
  • עכשיו אפשר להשתמש בכמה משני אלפא ומשני גודל אחד על גבי השני, והערכים שלהם יוכפלו כדי ליצור את ערך האלפא או הגודל הסופי.
  • התקשרות חזרה (callback) של onPoseChange מהמשנה (modifier) Movable עברה אופטימיזציה כדי לבצע תנועת תנוחה חלקה יותר.
  • השינויים במצבים יפעילו עכשיו את הפונקציות של המאפיינים שניתנים להזזה ולשינוי גודל ב-callback בשרשור הראשי, כדי להבטיח שהשינויים במצבים יפעילו את הפעולה recomposition.
  • נוסף מעקב אחר מצב בשלבי הפריסה והמדידה כדי לוודא ששינויים במצב ב-SubspaceLayout יפעילו פריסה מחדש.
  • עדכנו את שרשרת השינויים שעברה אופטימיזציה כדי לעשות שימוש חוזר טוב יותר בשינויים קיימים.

תיקוני באגים

  • הפסקת ההצללה כשמוצג SpatialDialog. (Ic4594)
  • בקשות לשינוי פריסה שנשלחות בזמן שצמתי שינוי מנותקים יקבלו מעכשיו התעלמות.
  • הוסרו שלבי פריסה מחדש שהופעלו על ידי משנים מסוג Movable ו-Resizable.
  • תוקנה קריסה ב-MainPanel() composable שהתרחשה כששני המאפיינים הוגדרו לאפס, באופן ישיר או במהלך חישוב פריסה, למשל חישוב של SpatialRow/SpatialColumn. במקום זאת, החלונית תוסתר. שימו לב שהתיקון הזה מתייחס ספציפית לקריסות במהלך שלב הפריסה. שינוי הגודל של החלונית לאפס באמצעות אינטראקציה של המשתמש יטופל בנפרד. לחלונית המוסתרת חסרים רכיבי ממשק משתמש.
  • תוקנה בעיה שקשורה ל-maintainAspectRatio מהמשנה resizable. יחס הגובה-רוחב אמור להישמר עכשיו.
  • תוקנה בעיה במרחבים משניים מוטמעים שבה הם ממוקמים בצורה שגויה בפריים יחיד.
  • תוקנה בעיה שבה פינות מעוגלות לא הוחלו לפעמים כשהיה צריך להחיל אותן.
  • המסגרת של NestedSubspaces לא תופיע יותר במיקום הלא נכון.

גרסה ‎1.0.0-alpha03

‫26 בפברואר 2025

הגרסאות 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

‫12 בפברואר 2025

‫androidx.xr.compose:compose:1.0.0-alpha02 וגם androidx.xr.compose:compose-testing:1.0.0-alpha02 מופצים. גרסה ‎1.0.0-alpha02 מכילה את השמירות האלה.

תכונות חדשות

  • עכשיו, כשמפעילים את התכונה 'דיאלוג מרחבי', אפשר להסתיר את התוכן של חלונית הפעילות.
  • אפשר להשתמש עכשיו ב-API‏ Orbiter בהקשרים של SubspaceComposable, והוא יצרף את ה-Orbiters לרכיב ההורה הקרוב ביותר שמתבסס על SubspaceLayout.
  • נוסף LayoutCoordinatesAwareModifierNode כדי לאפשר שינויים מותאמים אישית שמבוססים על מיקום.
  • נוספו שיטות מחזור חיים של צירוף/ניתוק ל-SubspaceModifier.Node.
  • הוספנו את scaleWithDistance לשינוי המיקום. כשהאפשרות scaleWithDistance מופעלת, הרכיב של המרחב המשני שמועבר יגדל או יקטן. הוא גם ישמור על סולם מפורש שהיה לו לפני ההעברה.

שינויים ב-API

  • הוסר SessionCallbackProvider לטובת SpatialCapabilities.

שינויים אחרים

  • הפחתנו את minSDK ל-24. כל ממשקי Jetpack XR API עדיין דורשים API 34 בזמן הריצה.
  • הקונסטרקטורים Orbiter EdgeOffset.inner,‏ EdgeOffset.outer ו-EdgeOffset.overlap הם כבר לא מתודות @Composable, ולכן אפשר להשתמש בהם בהקשרים שאינם ניתנים להרכבה.
  • עדכון של רמות הגובה במרחב כך שיתאימו למפרט חוויית המשתמש העדכני.
  • הטמעה של ממשק SubspaceSemanticsInfo ב-MeasurableLayout.
  • השם של SubspaceModifierElement שונה לSubspaceModifierNodeElement.

תיקוני באגים

  • בוצעו תיקונים כדי לייצב את ההזמנות של SubspaceModifier. SubspaceModifier אמור להתנהג בצורה אמינה יותר. עכשיו אפשר להשתמש בשינויים של הזזה, סיבוב, שינוי גודל, הזזה ושינוי גודל בכל סדר.

גרסה ‎1.0.0-alpha01

‫12 בדצמבר 2024

‫androidx.xr.compose:compose-*1.0.0-alpha01 מופץ.

תכונות של הגרסה הראשונית

  • השקנו גרסה ראשונית של Jetpack Compose for XR למפתחים. אפשר להשתמש במושגים מוכרים מ-Compose, כמו שורות ועמודות, כדי ליצור פריסות מרחביות של ממשק משתמש ב-XR, בין אם אתם מעבירים אפליקציית דו-ממד קיימת ל-XR או יוצרים אפליקציית XR חדשה מאפס. הספרייה הזו מספקת רכיבים שניתנים להרכבה במרחב ובמרחב משנה: כמו פאנלים מרחביים ורכיבי orbiters, שמאפשרים לכם להציב את ממשק המשתמש הקיים שלכם מבוסס-Views או Compose דו-ממדי בפריסה מרחבית. הוא כולל את רכיב המשנה Volume, שמאפשר למקם ישויות של SceneCore, כמו מודלים תלת-ממדיים, ביחס לממשק המשתמש. מידע נוסף זמין במדריך למפתחים:

    • ‫Subspace: אפשר למקם את הקומפוזיציה הזו בכל מקום בהיררכיית ממשק המשתמש של האפליקציה, וכך לשמור על פריסות לממשקי משתמש דו-ממדיים ומרחביים בלי לאבד את ההקשר בין הקבצים. כך קל יותר לשתף דברים כמו ארכיטקטורת אפליקציה קיימת בין XR ובין גורמי צורה אחרים, בלי להעביר את המצב דרך כל עץ ממשק המשתמש או לשנות את הארכיטקטורה של האפליקציה.

    • ‫SpatialPanel: חלונית מרחבית היא רכיב הניתן להרכבה במרחב משנה, שמאפשר להציג תוכן של אפליקציה – למשל, אפשר להציג הפעלת סרטון, תמונות סטילס או כל תוכן אחר בחלונית מרחבית.

    • Orbiter: רכיב ממשק משתמש מרחבי. הוא מיועד לצירוף לחלונית מרחבית תואמת, ומכיל פריטי ניווט ופעולות לפי הקשר שקשורות לחלונית המרחבית הזו. לדוגמה, אם יצרתם חלונית תלת-ממדית להצגת תוכן וידאו, תוכלו להוסיף לחצני הפעלה של סרטון בתוך רכיב מסוג Orbiter.

    • נפח: מיקום ישויות SceneCore, כמו מודלים תלת-ממדיים, ביחס לממשק המשתמש.

  • פריסה מרחבית: אפשר ליצור כמה חלוניות מרחביות ולמקם אותן בפריסה מרחבית באמצעות SpatialRow, SpatialColumn, SpatialBox ו-SpatialLayoutSpacer. משתמשים ב-SubspaceModifier כדי להתאים אישית את הפריסה.

  • רכיבים מרחביים בממשק המשתמש: אפשר לעשות שימוש חוזר ברכיבים האלה בממשק משתמש דו-ממדי, והמאפיינים המרחביים שלהם יהיו גלויים רק כשהיכולות המרחביות מופעלות.

    • ‫SpatialDialog: החלונית תזוז מעט אחורה בעומק בציר Z כדי להציג תיבת דו-שיח מוגבהת.
    • ‫SpatialPopUp: החלונית תזוז מעט אחורה בעומק בציר Z כדי להציג חלון קופץ מוגבה
    • ‫SpatialElevation: אפשר להגדיר את SpatialElevationLevel להוספת גובה.
  • יכולות מרחביות: היכולות המרחביות יכולות להשתנות כשהמשתמשים מבצעים אינטראקציה עם האפליקציה או עם המערכת, או אפילו להשתנות על ידי האפליקציה עצמה – למשל, מעבר למרחב ביתי או למרחב מלא. כדי למנוע בעיות, האפליקציה צריכה לבדוק את LocalSpatialCapabilities.current כדי לקבוע אילו ממשקי API נתמכים בסביבה הנוכחית. ‫isSpatialUiEnabled: Spatial UI elements (e.g. SpatialPanel) ‫isContent3dEnabled: 3D objects ‫isAppEnvironmentEnabled: The environment ‫isPassthroughControlEnabled: Whether or not the application can control the passthrough state ‫isSpatialAudioEnabled: Spatial audio

בעיות מוכרות

  • נכון לעכשיו, כדי להשתמש ב-Jetpack Compose ל-XR, נדרשת גרסת minSDK‏ 30. כפתרון עקיף, אפשר להוסיף את רשומת המניפסט הבאה <uses-sdk tools:overrideLibrary="androidx.xr.scenecore, androidx.xr.compose"/> כדי ליצור ולהפעיל עם minSDK בגרסה 23.
  • אפליקציות Jetpack XR דורשות כרגע בקשת הרשאה android.permission.SCENE_UNDERSTANDING ב-AndroidManifest.
  • כשמפעילים אפליקציה ישירות במרחב מלא באמצעות המאפיין PROPERTY_XR_ACTIVITY_START_MODE במניפסט שלה, הפעילויות או האפליקציות נפתחות בהתחלה במרחב הבית לפני שהן עוברות למרחב מלא.
  • יכול להיות שקובצי glTF ב-Volume Composables יהבהבו בהתחלה במיקום הלא נכון.
  • שימוש ב-SpatialDialog בחלונית שהוזזה באופן משמעותי ידחוף את התוכן בכיוון הלא נכון.