Jetpack SceneCore

ליצור ולשנות את תרשים הסצנה של Android XR עם תוכן תלת-ממדי.
העדכון האחרון גרסה יציבה גרסה מועמדת להפצה גרסת בטא גרסת אלפא
‫21 באוקטובר 2026 1.0.0 - - ‎1.1.0-alpha01

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

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

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

מגניב

dependencies {
    implementation "androidx.xr.scenecore:scenecore:1.1.0-alpha01"

    // Use to write unit tests
    testImplementation "androidx.xr.scenecore:scenecore-testing:1.1.0-alpha01"
}

Kotlin

dependencies {
    implementation("androidx.xr.scenecore:scenecore:1.1.0-alpha01")

    // Use to write unit tests
    testImplementation("androidx.xr.scenecore:scenecore-testing:1.1.0-alpha01")
}

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

משוב

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

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

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

גרסה 1.1

גרסה 1.1.0-alpha01

‫21 באוקטובר 2026

‫androidx.xr.scenecore:scenecore-*:1.1.0-alpha01 מופץ. גרסה 1.1.0-alpha01 מכילה את השמירות האלה.

שינויים ב-API

  • נוספו ממשקי API לעדכון רשת דינמית (MeshBuffer.createDynamic,‏ MeshBuffer.updateVertexData,‏ MeshBuffer.updateIndexData ו-constructor דינמי של CustomMesh.BuilderFromMeshData) כדי לתמוך בעדכון נתוני קודקוד ואינדקס בזמן הריצה. (Ia1ecb)
  • הוספנו שיטות עזר של VertexLayout.getBufferIndex כדי לאחזר בקלות את אינדקס המאגר של VertexAttribute או VertexBufferLayout נתונים. (I1a9e3)
  • הפכתי את CustomMesh.bounds למשתנה כדי שיהיה אפשר לעדכן את התיבה התוחמת באופן דינמי בזמן הריצה. (Ib0397)
  • קידום של ממשקי Animation API ב-glTF (GltfAnimation, ‏ GltfModelEntity.getAnimations ו-GltfModelEntity.stopAllAnimations) לציבוריים/יציבים, תוך שמירה על GltfAnimation.loop setter כניסיוני, ועל GltfAnimationStartOptions ו-start(options) כניסיוניים וכאלה שהוצאו משימוש. (Iacdae)
  • הוספנו את stopAllAnimations() ל-GltfModelEntity, הפכנו את GltfAnimation.start() ללא פרמטרים, הוספנו את המאפיינים loop ו-speed ל-GltfAnimation, והוצאנו משימוש את GltfAnimationStartOptions, start(options) ו-seekTo(Duration). (I53105)
  • עדכנו את ממשקי ה-API של GltfModelEntity כדי לתעד את IllegalStateException (במיוחד את Entity.DisposedException) כשמתבצעת קריאה לישויות שהוסרו. I65a76f

תיקוני באגים

  • התלות androidx.lifecycle:lifecycle-runtime עודכנה לגרסה 2.10.0. הגרסה הזו נדרשת כדי להריץ בדיקות lint של זמן ריצה של מחזור חיים בחבילה עם AGP בגרסה 9.5.0-alpha04 ואילך. (I99bfd, ‏ b/556807521)
  • שיפור של kdocs שקשורים ל-AudioOutputProvider כדי להדגיש שלא צריך להשתמש בהם שוב עם כמה מכונות של ExoPlayer (I6b18e)
  • הוסרו יחסי תלות מיותרים ב-impress ממודולים שונים של XR. I84636c

גירסה 1.0

גרסה 1.0.0

‫21 באוקטובר 2026

‫androidx.xr.scenecore:scenecore-*:1.0.0 מופץ. גרסה 1.0.0 מכילה את השמירות האלה.

התכונות העיקריות בגרסה 1.0.0:

  • ‫Jetpack XR SceneCore עכשיו יציב! ‫SceneCore מאפשר לכם למקם ולסדר תוכן תלת-ממדי, שמוגדר על ידי ישויות, ביחס לתוכן אחר ולסביבה שלכם. בעזרת SceneCore, אתם יכולים ליצור, למקם ולשנות לוחות דו-ממדיים ומודלים תלת-ממדיים בסצנות של מציאות וירטואלית ומציאות משולבת, לציין סביבות מרחביות ומקורות אודיו מרחביים ולעגן תוכן וירטואלי בעולם האמיתי.
  • מידע נוסף זמין בדף הסקירה הכללית ובמאמרי העזרה של ה-API.

גרסה ‎1.0.0-rc02

‫7 באוקטובר 2026

‫androidx.xr.scenecore:scenecore-*:1.0.0-rc02 מופץ. גרסה ‎1.0.0-rc02 מכילה את השמירות האלה.

תיקוני באגים

  • תוקנה דליפת זיכרון פוטנציאלית על ידי הסרת perceptionRuntimeCache ב-SessionExt ושינוי הקוד כדי לאחזר את PerceptionRuntime ישירות מהמופע של Session. (Ie35b1)
  • תוקנה דליפת הקשר פוטנציאלית באמצעות applicationContext עבור נקודות אחיזה מקוריות של OpenXR כדי להבטיח שזמן הריצה המקורי לא מכיל הפניות להקשר של Activity. (Ie35b1)
  • תוקנו מרוצי תהליכים ב-XrInstanceManager על ידי הוספת נעילת סנכרון ואתחול מתאימה. (Ie35b1)
  • תוקן ReferenceCleaner כדי לתמוך בביטול הרישום של פעולות ניקוי, והובטח שפעולות הניקוי של Entity יופעלו באופן מפורש במהלך dispose(), כדי למנוע הפעלה כפולה במהלך איסוף הזבל. (Ie35b1)
  • תוקנה דליפת זיכרון ב-Scene על ידי הסרת ה-sceneCache ב-SessionExt ושינוי מבנה הקוד של Scene כדי לאחזר את המכונה ישירות מ-sessionConnectors. (Ie35b1)

גרסה ‎1.0.0-rc01

‫9 בספטמבר 2026

‫androidx.xr.scenecore:scenecore-*:1.0.0-rc01 מופץ. גרסה 1.0.0-rc01 מכילה את השמירות האלה.

שינויים ב-API

  • הספרייה xr:scenecore:scenecore-openxr נוספה. (Ic49f2)
  • הסרנו כמה ממשקי API שהוצאו משימוש לפני ההשקה של הגרסה היציבה 1.0.0.

תיקוני באגים

  • תוקן באג של דליפת זיכרון שבו המערכת יכולה לשמור את ההפניה לפעילות כשהפעילות נמחקת. (I6dcd7)

שינויים בהתנהגות

  • הוסר פלט logcat מ-SceneCore. (I10c3c)

גרסה ‎1.0.0-beta02

‫12 באוגוסט 2026

‫androidx.xr.scenecore:scenecore-*:1.0.0-beta02 מופץ. גרסה ‎1.0.0-beta02 מכילה את השמירות האלה.

תיקוני באגים

  • toMoveEvent() תחזיר את הערך null אם ישות האם עברה איסוף זבל. (Ia7a1b)

גרסה 1.0.0-beta01

‫15 ביולי 2026

‫androidx.xr.scenecore:scenecore-*:1.0.0-beta01 מופץ. גרסה ‎1.0.0-beta01 מכילה את השמירות האלה.

שינויים ב-API

  • ממשקי ה-API של GltfAnimation ו-SpatialGltfModelAnimation סומנו כניסיוניים. חלק מהמאפיינים הפכו לפונקציות getter. (I8d689, b/524771027)
  • הסרנו את ה-factory method הציבורי MovableComponent.createTrackingMovable. (I00912, b/477169015)
  • הפונקציה Session.create הומרה לפונקציית השהיה. (I5d27f)
  • ActivitySpace ו-AnchorSpace מרחיבים עכשיו מחלקה נפוצה של SpaceEntity שמכילה התנהגות נפוצה של ישויות שהמיקומים שלהן נשלטים על ידי המערכת (I506ec, ‏ b/513619219)
  • השם של AnchorEntity השתנה ל-AnchorSpace (Ifa95e, ‏ b/513619219)
  • ‫SoundEffectPoolComponentTester, ממשק API ציבורי לבדיקה. (I87df7, b/498104417)
  • הוספנו פרמטר cornerRadius אופציונלי ל-constructor של SurfaceEntity.Shape.Quad והגדרנו את המאפיין cornerRadius כגלוי לכולם. מפתחים יכולים עכשיו לציין רדיוס פינה כשהם יוצרים צורת Quad כדי לעבד אזורי ציור ב-SurfaceEntity עם פינות מעוגלות, ולשאול לגבי הרדיוס של צורות Quad קיימות. thought (Ia7809, ‏ b/474681085)
  • מספק עומסי יתר של ממשקי API ציבוריים לבדיקה SpatialAudioTrackBuilderTester, ‏ SpatialAudioTrackTester ו-SceneCoreTestRule.getTester. (I378c6, ‏ b/496333938)
  • הוספת שינויים מיוחדים של toString() לכמה סוגים של ARCore. הסוגים האלה נועדו לספק למפתחים מידע נוסף למטרות ניפוי באגים, ולא נועדו לשימוש בסביבת ייצור או באפליקציות שנשלחו.

‫גרסה 1.0.0-alpha16

‫17 ביוני 2026

‫androidx.xr.scenecore:scenecore-*:1.0.0-alpha16 מופץ. גרסה ‎1.0.0-alpha16 מכילה את השמירות האלה.

שינויים ב-API

  • נוספו עומסי יתר של addVertexData,‏ setIndexData ו-addSubset ל-CustomMesh.BuilderFromMeshData ול-CustomMesh.BuilderFromMeshBuffer. עומסי היתר האלה מאפשרים למפתחים להעביר נתונים גולמיים ופרמטרים ישירות (למשל, ByteBuffer, ‏ offset, ‏ size, ‏ topology, ‏ indexOffset, ‏ indexCount) בלי צורך לעטוף אותם באובייקטים מתווכים כמו ByteBufferRegion או MeshSubset. (I84d5c)
  • השמות של Scene.requestFullSpaceMode() ו-Scene.requestHomeSpaceMode() השתנו ל-requestFullSpace() ו-requestHomeSpace(), בהתאמה. שיטות אחרות ומאמרי עזרה אחרים שמתייחסים ל "מצב מרחב הבית" ול "מצב מרחב מלא" עודכנו באופן דומה. (I45751)
  • מספק ממשקי API ציבוריים לבדיקה PanelEntityTester ו-MainPanelEntityTester (I961e4)
  • הוספת המאפיין pointSourceParams אל SoundEffectPoolComponent (I4a750)
  • מספק ממשק API ציבורי לבדיקה MovableComponentTester (I0c972)
  • מספק ממשק API ציבורי לבדיקה PointerCaptureComponentTester (Ic0d4f)
  • ‫API ציבורי לבדיקה ActivityPanelEntityTester (I837c4)
  • מספק ממשק API ציבורי לבדיקה ResizableComponentTester (I0a3a4)
  • מספק ממשק API ציבורי לבדיקה BoundsComponentTester. (Iefd53)
  • מספק API ציבורי לבדיקה SpatialMediaPlayerTester (Ia3e09)
  • ‫API ציבורי לבדיקה SpatialEnvironmentTester (Icf60f)
  • מספק ממשקי API ציבוריים לבדיקה: GltfModelTester ו-SceneCoreTestRule.getGltfModelTester. (I33fcb)
  • ‫InteractableComponentTester, ממשק API ציבורי לבדיקה. (Ia7096)
  • ‫SurfaceEntityTester, ממשק API ציבורי לבדיקה. (Ic0740)
  • מספק ממשקי API ציבוריים לבדיקה: GltfModelEntityTester, ‏ TestGltfModelNode ו-TestGltfAnimation. (I72c4d)
  • מספק ממשקי API ציבוריים לבדיקה: SceneTester ו-SceneCoreTestRule.sceneTester. (Ib4ec5)
  • מספק ממשקי API ציבוריים לבדיקה: PerceptionSpaceTester ו-SceneCoreTestRule.perceptionSpaceTester. (Icf739)
  • ‫MeshEntityTester, ממשק API ציבורי לבדיקה. (I63801)
  • מספק עומסי יתר ציבוריים של ממשקי ה-API לבדיקה ImageBasedLightingAssetTester ו-SceneCoreTestRule.getTester. (I57ec4)
  • ‫API ציבורי לבדיקה TextureTester (Ia865b)
  • ‫API ציבורי לבדיקה PositionalAudioComponentTester (Icd96e)
  • מספק ממשק API ציבורי לבדיקה SpatialSoundPoolTester (Ia3531)
  • ‫API ציבורי לבדיקה SoundEffectPoolTester (If349a)
  • מספק ממשקי API ציבוריים לבדיקה: ActivitySpaceTester ו-SceneCoreTestRule.activitySpaceTester. (I2d5c2)
  • מספק ממשק API ציבורי לבדיקה SpatialWindowTester (I41837)
  • מספק API לבדיקות ציבוריות AnchorEntityTester (I68404)
  • מספק את ממשק ה-API הציבורי לבדיקה SceneCoreTestRule. (Ic72d3)
  • הוספנו את המחלקה PixelDensity וחשפנו אותה דרך Scene#virtualPixelDensity כדי לספק יחס פיקסלים למטר שמבוסס על חומרה, לצורך מיפוי מדויק של ממדים פיזיים ב-ActivitySpace. (I0e3ac)
  • הוספנו ממשקי API ציבוריים ליצירה ולעיבוד של רשתות בהתאמה אישית. (I7ad2f)
  • ה-API של VertexLayout עודכן כך שישתמש ברשימה של VertexBufferLayout, כאשר כל VertexBufferLayout מתאר את המאפיינים בתוך מאגר קודקודים יחיד. כך אפשר לסדר את נתוני הקודקודים בצורה גמישה יותר, כולל מאפיינים משולבים עם צעדים והיסטים בהתאמה אישית. (Ic426b)
  • מספק MovableComponent.createTrackingMovable כדי להפוך את ARCore Trackable לתנוחה שקשורה ל-Activity Space. (I12249)
  • ערך ברירת המחדל של ההורה ב-Entity.create עודכן ל-null. (Ic3145)
  • Entity עודכן למחלקה במקום לממשק, ועכשיו הוא המחלקה הבסיסית לכל סוגי הישויות. כחלק מהשינוי הזה, BaseEntity הוסר. (I7fbc9)
  • ‫GltfModel,‏ ExrImage ו-ImageBasedLightingAsset מטמיעים עכשיו את AutoCloseable כדי לאפשר ניהול משאבים אידיומטי באמצעות הבלוק use של Kotlin. (I1ac79)
  • הוספנו את המחלקה ImageBasedLightingAsset כדי להחליף את ExrImage להגדרת תאורת סביבה מרחבית. השדה ExrImage הוצא משימוש והוסר מה-API הציבורי. המאפיין SpatialEnvironmentPreference עודכן לשימוש ב-ImageBasedLightingAsset. (I6c92a)
  • שינינו את השם של הפרמטר skybox ב-SpatialEnvironment ל-imageBasedLightingAsset כדי לשקף טוב יותר את המטרה שלו, והבהרנו שצריך לכלול טקסטורות חזותיות של תיבת שמיים בפרמטר הגיאומטריה. (I24d4a)
  • ישויות מרחביות משתמשות עכשיו בצפיפות מכשיר יציבה לחישובים של פיקסלים למטר ברמות API 1 ו-2 של Spatial API, כדי להבטיח גודל עקבי ללא קשר לשינויים בצפיפות התצוגה של המערכת. (I37051)

גרסה 1.0.0-alpha15

‫19 במאי 2026

‫androidx.xr.scenecore:scenecore-*:1.0.0-alpha15 מופץ. גרסה ‎1.0.0-alpha15 מכילה את השמירות האלה.

שינויים ב-API

  • ה-API הציבורי Entity.dispose() הוסר. במקום להפעיל את dispose() במופעים של Entity, אפליקציות יכולות להגדיר את parent ל-null ולנקות את כל ההפניות החזקות למופעים האלה כדי לאפשר את הניקוי שלהם. (I396c9)
  • השיטות של SoundEffectPool מסוג set/clearOnLoadCompleteListener נמחקו. במקום זאת, אתם צריכים להשתמש ב-add/removeLoadCompleteListener. (Iae78d)
  • השדה set/clearSpatialVisibilityChangedListener של הסצנה הוחלף בשדה add/removeSpatialVisibilityChangedListener. (I67dff)
  • כל השיטות של SceneCore add/removeOnFooListener שונו ל-add/removeFooListener, והוסר On מהשם. (Ibe50b)
  • השיטות AnchorEntity.setOnOriginChangedListener ו-AnchorEntity.setOnStateChangedListener הוחלפו בשיטות add/removeFooListener, כדי לתמוך בכמה מאזינים בו-זמנית. (I13749)
  • השם של AnchorEntity.State.TIMEDOUT שונה ל-State.TIMED_OUT. (Id2b8d)
  • שינינו את המבנה של Component API כדי לשפר את הבטיחות ואת יכולת ההרחבה. Component היא עכשיו מחלקה מופשטת. השיטות onAttach() ו-onDetach() הן עכשיו protected כדי למנוע שיחות ישירות. כדי לנהל את מחזורי החיים של הרכיבים, צריך להשתמש ב-Entity.addComponent() וב-Entity.removeComponent(). (Id04e8)
  • הקבועים PlaneSemanticType PlaneOrientation של SceneCore הועברו מ-Ints לסוגים בהתאמה אישית. הקבועים של ANY יוסרו, והלקוחות יצטרכו למנות במפורש את כל הקבועים הרצויים, או להשתמש בקבועי ה-Set החדשים של .ALL שלא ניתנים לשינוי. השיטה AnchorEntity מקבלת עכשיו קבוצה של הסוגים האלה, במקום ערך יחיד. (Ib1033)
  • הוספנו תמיכה באנימציה שלדית (skinning) ל-Custom Mesh API הניסיוני. מפתחים יכולים עכשיו להוסיף אנימציה לרשתות בהתאמה אישית על ידי ציון boneCount בזמן יצירת MeshEntity ועדכון האנימציה בזמן אמת באמצעות MeshEntity.setBoneTransforms(). (Id8ba2, b/496692490)
  • השקנו את ה-API הניסיוני CustomMesh. מפתחים יכולים עכשיו ליצור ולעבד גיאומטריה תלת-ממדית בסצנות שלהם באופן פרוגרמטי באמצעות CustomMesh,‏ MeshBuffer ו-MeshEntity. (I94617)
  • בוצעה הסרה של androidx.xr.scenecore.SpatializerConstants.SourceType.SOURCE_TYPE_SOUND_FIELD. במקומה צריך להשתמש במדיניות SourceType.SOUND_FIELD. (Ia68b9)
  • הוספת רכיבי אודיו מרחבי: PositionalAudioComponent, ‏ SoundEffectPoolComponent ו-SoundFieldAudioComponent (Ieda89)
  • הפונקציה AnchorEntity.getAnchor הוחלפה ב-AnchorEntity.anchor ועכשיו היא תחזיר Anchor כשה-AnchorEntity נוצר מ-Anchor של ARCore (I5c7c8)
  • ערך ברירת המחדל של הפרמטר parent בשיטות המפעל ActivityPanelEntity,‏ GltfModelEntity,‏ GroupEntity,‏ PanelEntity ו-SurfaceEntity השתנה מ-ActivitySpace ל-null. כדי לצרף ישות לתרשים הסצנה ולהפוך אותה לגלויה, המפתחים צריכים עכשיו להגדיר באופן מפורש את ההורה שלה במהלך יצירת המופע או באמצעות Entity.parent = ... (Ie7cc1)

תיקוני באגים

  • עכשיו SceneCore מחזיר באופן אוטומטי מופעים של Entity כשהם הופכים לנגישים באופן מדומה, כך שהמפתחים לא צריכים להפעיל באופן מפורש את dispose() כדי לפנות משאבים. כדי לוודא שמופע של [Entity] יוחזר כראוי, המפתחים צריכים:
    • מנתקים אותו מהתרשים של הסצנה על ידי הגדרת parent ל-null.
    • לוותר על כל ההפניות החזקות למופע בקוד שלהם.
    • הערה לגבי סוגי ישויות מיוחדים: בישויות שלא יכולות להיות הורה (כמו AnchorEntity), המפתחים צריכים לשמור על הפניה חזקה כל עוד המכונה בשימוש. אם כל ההפניות ישוחררו, המופעים האלה יהפכו לנגישים באופן זמני ויוחזרו באופן אוטומטי. (I83fe4)
  • צמצום כללי השמירה של Proguard לכל הספריות של SceneCore. (I98447)

בעיות מוכרות

  • אם מצרפים PositionalAudioComponent ל-Entity עם מופע ExoPlayer לא פעיל, תתרחש קריסה. אל תפעילו את setPointSourceParams ואל תחברו או תנתקו את רכיבי האודיו המרחבי בזמן ש-ExoPlayer מושהה. נפתור את הבעיה הזו במהדורה הבאה.

גרסה 1.0.0-alpha14

‫6 במאי 2026

‫androidx.xr.scenecore:scenecore-*:1.0.0-alpha14 מופץ. גרסה ‎1.0.0-alpha14 מכילה את השמירות האלה.

שינויים ב-API

  • ‫TrackingState ו-VpsAvailabilityResult הועברו אל androidx.xr.arcore package, והסוגים ב-androidx.xr.runtime הוצאו משימוש. (Ic7930, b/480462213)
  • השם של Plane.Type שונה ל-PlaneType. (I8c90c, ‏ b/482675376)
  • השם של Plane.Label שונה ל-PlaneLabel. (Ic6b67, b/482675376)
  • השדה androidx.xr.runtime.FieldOfView הוצא משימוש. במקומה צריך להשתמש במדיניות androidx.xr.runtime.math.FieldOfView. (Ia01a0, b/480233045)
  • השם של Matrix4.pose השתנה לשם Matrix4.toPose(). המאפיין pose יצא משימוש. (I329b4, b/493383490)
  • שינינו את השם של HandJointType ערכי enum. (Ifbc83, ‏ b/482670596)
  • חשיפת Component.onAttach ו-onDetach כ-API ציבורי כדי לאפשר הטמעות Component בהתאמה אישית. (I0ca1f)
  • הוספת רכיבי אודיו מרחבי (I39ddd, ‏ b/489421980, ‏ b/436642086, ‏ b/436642499)
  • הסרת הישות מהאוסף PointSourceParams. במקום זאת, הישות תשמש ישירות עם SpatialAudioTrack, ‏ SpatialSoundPool ו-SpatialMediaPlayer (Ib3685, ‏ b/489421980, ‏ b/436634048)
  • השם של DeviceTrackingMode.LAST_KNOWN שונה ל-SPATIAL_LAST_KNOWN (עם חלופה שהוצאה משימוש), נוסף INERTIAL_LAST_KNOWN למעקב 3DoF ונוסף TRACKING_DEGRADED ל-TrackingState. (Ie661c, ‏ b/445466590)
  • הוצא משימוש: GroupEntity. כדי ליצור ישות עם הפונקציונליות הבסיסית של ישות בלבד, צריך להפעיל את Entity.create, שתחזיר ממשק של ישות. (I4c450, b/473867483)
  • נוסף XrLog API. מגדירים את XrLog.isEnabled ל-true כדי להפעיל את הרישום ביומן ב-JetpackXR, ומשתמשים ב-XrLog.Level כדי להגדיר את רמת הרישום ביומן. (I76a1f, ‏ b/463460895, ‏ b/487378441)

תיקוני באגים

  • עכשיו ברירת המחדל של Scene.keyEntity היא mainPanelEntity. (I6a3ef)

גרסה ‎1.0.0-alpha13

‫25 במרץ 2026

‫androidx.xr.scenecore:scenecore-*:1.0.0-alpha13 מופץ. גרסה ‎1.0.0-alpha13 מכילה את השמירות האלה.

שינויים ב-API

  • הסרת הסימון unscaledGravityAlignedActivitySpace מהמכשיר Session.create. האובייקט ActivitySpace תמיד מוצג עכשיו בגודל המקורי שלו ומיושר לפי כוח הכבידה. (If6f11, b/458173423)
  • הסרנו את הפונקציות setMaterialOverride ו-clearMaterialOverride שהוצאו משימוש מ-GltfModelEntity, ועכשיו הן נקראות ב-GltfModelNode הנפרד. (I2e5d2)
  • הוספנו את transformPixelCoordinatesToLocalPosition ואת transformNormalizedCoordinatesToLocalPosition ל-PanelEntity והסרנו methods ניסיוניות מקבילות שהחזירו תנוחות במקום מיקומים של Vector3. (Ib6960, b/460123106, b/458333591)
  • הוספנו ממשקי API של GltfAnimation לשליטה באנימציות glTF ב-SceneCore. (I2c172, b/466065486, b/465819070, b/465818617)
  • השם של ScenePose.activitySpacePose שונה ל-ScenePose.poseInActivitySpace (I8f175, ‏ b/427822261)
  • נוסף יישום של זמן ריצה מוטל של Scenecore‏ (I9c4ab, ‏ b/476440158)
  • כשמשנים את הגודל של הישות בחלונית הראשית, יכול להיות שהיא תעבור לנקודת המוצא ActivitySpace. אין פתרון עקיף, חוץ מלהחזיר את החלונית למיקום המקורי שלה באופן ידני או באמצעות תוכנה. הבאג הזה יתוקן בגרסה עתידית. (b/489427007).
  • במקרים מסוימים, יכול להיות שהאפשרות MovableComponent לא תופיע עבור SurfaceEntity וסוגי ישויות אחרים שאינם לוח. הגדרה מפורשת של MovableComponent.size תגרום להצגת האפשרות. הבאג הזה יתוקן בגרסה עתידית (b/490983469).

גרסה ‎1.0.0-alpha12

‫25 בפברואר 2026

‫androidx.xr.scenecore:scenecore-*:1.0.0-alpha12 מופץ. גרסה 1.0.0-alpha12 מכילה את השמירות האלה.

בעיות מוכרות

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

שינויים ב-API

  • השמות של ActivitySpace.addOnSpaceUpdatedListener ו-ActivitySpace.removeOnSpaceUpdatedListener השתנו ל-addOnOriginChangedListener ו-removeOnOriginChangedListener. השם של AnchorEntity.setOnSpaceUpdatedListener השתנה לשם setOnOriginChangedListener. (I5d8fb)
  • הוספנו את מאפיין השם הציבורי אל FakeEntity והפכנו את התצוגה לציבורית ב-FakePanelEntity. (Ifa1f9)

תיקוני באגים

  • תיקון של חישובי צפיפות הפיקסלים בתמונות מערכת חדשות יותר (I57d04)

גרסה 1.0.0-alpha11

‫28 בינואר 2026

‫androidx.xr.scenecore:scenecore-*:1.0.0-alpha11 מופץ. גרסה 1.0.0-alpha11 מכילה את השמירות האלה.

שינויים ב-API

  • שינוי השם של PerceivedResolutionResult.InvalidCameraView ל-PerceivedResolutionResult.InvalidRenderViewpoint כי ממשקי ה-API של getPerceivedResolution מסתמכים עכשיו על ה-API של RenderViewpoint ב-ARCore במקום על CameraViewScenePose. השם הזה משקף טוב יותר את ההטמעה החדשה. (I8c967, ‏ b/446989745, ‏ b/419311998)
  • ה-methods‏ PanelEntity/SurfaceEntity.getPerceivedResolution מקבלות עכשיו RenderViewpoint שסופק על ידי המפתח כארגומנט. בעבר, זמן הריצה בחר באופן שרירותי את ה-RenderViewpoint ששימש לחישוב הרזולוציה הנתפסת. (I8c967, ‏ b/446989745, ‏ b/419311998)
  • בוצעה הסרה של SpatialUser,‏ ScenePose.Head ו-ScenePose.CameraView. הפונקציונליות של ממשקי ה-API האלה נכללת בממשקי ה-API של ArDevice ו-RenderViewpoint ב-ARCore for Jetpack XR. כדי לקבל ScenePose שמתאים לראש או לעין שמאל או ימין של המשתמש, המפתחים יכולים להשתמש ב-PerceptionSpace.getScenePoseFromPerceptionPose עם התנוחה המתאימה שמתקבלת באמצעות ממשקי ה-API של ARCore. (I2f69c, b/446989745)

גרסה 1.0.0-alpha10

‫3 בדצמבר 2025

‫androidx.xr.scenecore:scenecore-*:1.0.0-alpha10 מופץ. גרסה 1.0.0-alpha10 מכילה את השמירות האלה.

שינויים ב-API

  • הוספנו את transformPixelCoordinatesToPose ואת transformNormalizedCoordinatesToPose אל PanelEntity (I462b3)
  • הוספנו מחלקת עזר, Utils, ל-SceneCore Runtime על סמך הלוגיקה ב-SceneCore (I570b9)

תיקוני באגים

  • תוקנה קריסה פוטנציאלית שיכולה להתרחש כשסשן נהרס ומתקבל SpatialModeChangeEvent (If44e8)
  • תוקן באג שעלול לגרום להשלכת IllegalStateException כשיוצאים מפעילות או נכנסים אליה מחדש. (Ibff1c)

גרסה 1.0.0-alpha09

‫19 בנובמבר 2025

‫androidx.xr.scenecore:scenecore-*:1.0.0-alpha09 מופץ. גרסה ‎1.0.0-alpha09 מכילה את השמירות האלה.

תכונות חדשות

  • מוסיף API לאחזור ScenePose שמייצג את הקומפוזיציה של תנוחת המקור של מרחב התפיסה ותנוחה ביחס למקור של מרחב התפיסה. (I5b50a)
  • נוספה הפונקציה getGravityAlignedPose. התנוחה המיושרת לכוח הכבידה מתעלמת מהעלרוד והגלגול של הסיבוב. (I5ae21)
  • סוגי הקבועים של AnchorEntity.State השתנו מ-Ints לסוגי משנה של State. (Ib0c49)
  • הוספנו את getChildren() לממשק Entity. מחזור החיים של MainPanelEntity עודכן. (Ia69d6)

שינויים ב-API

  • PointerCaptureComponent.PointerCaptureState סוגי קבועים השתנו מ-Ints לסוגי משנה של PointerCaptureState. (Ic888a)
  • השדה Scene.spatialCapabilities הוא עכשיו מסוג Set<SpatialCapability> במקום שדה Int. השם של הקבועים של SpatialCapability השתנה. (I9c109)
  • השמות של סוגי הקבועים של SurfaceEntity השתנו, והם הפכו מ-Ints לסוגי משנה של SurfaceEntity. (I419ed)
  • השמות של סוגי הקבועים של SpatializerConstant השתנו, והם הפכו מ-Ints לסוגי משנה של SpatializerConstant. (Ia0e18)
  • השמות של סוגי הקבועים של TextureSampler השתנו, והם הפכו מ-Ints לסוגי משנה של TextureSampler. (I44078)
  • SpatialVisibility סוגי קבועים השתנו מ-Ints לסוגי משנה של SpatialVisibility. (I70739)
  • השמות של סוגי הקבועים של ResizeEvent.ResizeState השתנו, והם הפכו מ-Ints לסוגי משנה של ResizeState. (I384d5)
  • שמותיהם של InputEvent סוגי קבועים שונו והם הועברו מ-Ints כדי לרשת מהסוג המקיף שלהם. (I82817)
  • GltfModelEntity.AnimationState סוגי קבועים השתנו מ-Ints לסוגי משנה של AnimationState. (I24f4e)
  • השמות של סוגי הקבועים של AlphaMode השתנו, והם הפכו מ-Ints לסוגי משנה של AlphaMode. (I27b56)
  • Space סוגי קבועים השתנו מ-Ints לסוגי משנה של Space. (I9255b)
  • הפונקציה ScenePose.hitTest ופונקציות קשורות מחזירות עכשיו את הערך null אם לא נמצאה חיתוך, במקום HitTestResult עם ערך null של hitPosition. השדה HitTestResult.hitPosition לא יכול להיות ריק יותר. (I1400a)
  • האזכורים של ActivityPose שונו ל-ScenePose. (I7fe43)

גרסה 1.0.0-alpha08

‫22 באוקטובר 2025

‫androidx.xr.scenecore:scenecore-*:1.0.0-alpha08 מופץ. גרסה ‎1.0.0-alpha08 מכילה את השמירות האלה.

שינויים ב-API

  • השם של ActivityPanelEntity.moveActivity שונה ל-transferActivity (I273c5, ‏ b/430332856)

תיקוני באגים

  • ‫:xr:scenecore:scenecore-spatial-rendering ו-:xr:scenecore:scenecore-spatial-core נוספו כתלות בהטמעה של :xr:scenecore:scenecore (I6ab65, ‏ b/447000520)
  • אם ניגשים אל session.scene אחרי שהסשן נהרס, נזרקת חריגה. (I77e6f)

גרסה 1.0.0-alpha07

‫24 בספטמבר 2025

‫androidx.xr.scenecore:scenecore:1.0.0-alpha07,‏ androidx.xr.scenecore:scenecore-guava:1.0.0-alpha07 ו-androidx.xr.scenecore:scenecore-testing:1.0.0-alpha07 שוחררו. גרסה ‎1.0.0-alpha07 מכילה את השמירות האלה.

שינויים ב-API

  • שינינו את השם של fixedAspectRatio ל-isFixedAspectRatioEnabled והפכנו אותו למאפיין בוליאני (I5c4e8, ‏ b/440588971)
  • ‫Scenecore זיופים נמצאים עכשיו במודול xr:scenecore:scenecore-testing. (Idd951)
  • שינינו את השם של shouldAutoHideContent ל-isAutoHideContentWhileResizingEnabled ואת השם של shouldAlwaysShowOverlay ל-isAlwaysShowOverlayEnabled (I97c36, ‏ b/432335421)
  • עדכנו את הקבועים של SceneCore TextureSampler כדי לשפר את הקריאוּת, לדוגמה TextureSampler.MinFilter.LINEAR הוא עכשיו TextureSampler.MIN_FILTER_LINEAR (Ib159c)
  • ההגדרה setKeyEntity של הסצנה מוזגה למשתנה keyEntity. אם מגדירים את keyEntity לישות שלא ניתן להעביר, כמו AnchorEntity, תופיע השגיאה IllegalArgumentException במקום הערך הבוליאני false. (I62080, ‏ b/428721695, ‏ b/422215745)
  • המשתנה SpatialModeChangeListener של הסצנה הוחלף ב-setSpatialModeChangedListener. הוא מקבל Consumer<SpatialModeChangeEvent> במקום SpatialModeChangedListener. עכשיו אפשר להעביר Executor ל-setSpatialModeChangedListener. (I62080, ‏ b/428721695, ‏ b/422215745)
  • הסרנו את הפרמטר bundle מ-ActivityPanelEntity.startActivity (I64344, ‏ b/430332856, ‏ b/430333040)
  • השם של SpatializerConstants.SOURCE_TYPE_BYPASS שונה ל-SpatializerConstants.SOURCE_TYPE_DEFAULT. (Ifc7fe, b/422215565)
  • נוסף קבוע אחד (SpatialSoundPool.PLAY_FAILED). (Ifc7fe, b/422215565)
  • נוספו ארגומנטים שמוגדרים כברירת מחדל ל-methods של SpatialSoundPool.play. (Ifc7fe, b/422215565)
  • הוסר ערך ההחזרה של פונקציות setter ב-SpatialAudioTrackBuilder. (Ifc7fe, b/422215565)
  • שינויים ב-SurfaceEntity
    • השם של Shape שונה על ידי SurfaceEntity.CanvasShape
    • השם של Hemisphere שונה על ידי SurfaceEntity.CanvasShape.Vr180Hemisphere
    • השם של SurfaceEntity.CanvasShape.Vr360Sphere השתנה לשם Sphere
    • השם של SurfaceEntity.EdgeFeatheringParams.SmoothFeather השתנה לשם RectangleFeather
    • השם של NoFeathering שונה על ידי SurfaceEntity.EdgeFeathingParams.SolidEdge
    • השם של SurfaceEntity.ContentSecurityLevel השתנה לשם SurfaceProtection
    • SurfaceEntity.ContentSecurityLevel.{values} הוסיף את הקידומת SURFACE_PROTECTION_.
    • ‫SurfaceEntity.SuperSampling.{$values} הוסיף את הקידומת SUPER_SAMPLING_
    • ‫SurfaceEntity.StereoMode.{values} הוסיף את הקידומת STEREO_MODE_
    • SurfaceEntity.ContentColorMetadata.maxCLL שינה את השם של maxContentLightLevel (I7eb5f, ‏ b/422216050, ‏ b/427529950)
  • שינוי השם של launchActivity ל-startActivity (I7db90, ‏ b/430332856)
  • בוצעה הסרה של Scene.activitySpaceRoot. במקומה צריך להשתמש במדיניות Scene.activitySpace. (I05ee8, ‏ b/378706624, ‏ b/422215745)
  • ‫configureBundleForFullSpaceModeLaunch ו-configureBundleForFullSpaceModeLaunchWithEnvironmentInherited שונו ל-createBundleForFullSpaceModeLaunch ו-createBundleForFullSpaceModeLaunchWithEnvironmentInherited בהתאמה, והועברו לקובץ LaunchUtils.kt כשיטות ברמה העליונה, והן מקבלות את Session כפרמטר הראשון (I64a2c,‏ b/437186050)
  • ה-factory של GroupEntity מחזיר עכשיו את הסוג GroupEntity במקום Entity. (I66042)

תיקוני באגים

  • הצגת IllegalStateException כשמשתמשים במופע של ישות אחרי סילוק. (I90990, ‏ b/427314036, ‏ b/432063442)

גרסה 1.0.0-alpha06

‫13 באוגוסט 2025

‫androidx.xr.scenecore:scenecore:1.0.0-alpha06,‏ androidx.xr.scenecore:scenecore-guava:1.0.0-alpha06 ו-androidx.xr.scenecore:scenecore-testing:1.0.0-alpha06 שוחררו. גרסה ‎1.0.0-alpha06 מכילה את השמירות האלה.

שינויים ב-API

  • ביטול ההגבלה על ממשקי ה-API של SceneCore,‏ BaseEntity ו-BaseScenePose (88c0ff6)

גרסה ‎1.0.0-alpha05

‫30 ביולי 2025

‫androidx.xr.scenecore:scenecore-guava:1.0.0-alpha05,‏ androidx.xr.scenecore:scenecore-testing:1.0.0-alpha05 ו-androidx.xr.scenecore:scenecore:1.0.0-alpha05 שוחררו. גרסה ‎1.0.0-alpha05 מכילה את השמירות האלה.

תכונות חדשות

  • ‫Perceived Resolution API נוסף לישויות של החלונית ול-SurfaceEntities. (I118f6)
  • PerceivedResolution שיטות קריאה חוזרת (callback) נוספו ל-Scene.kt כדי לעקוב אחרי הרזולוציה הנתפסת של החלונית הראשית של הפעילות ב-HSM. (I58084)
  • SurfaceEntity – נוספה תמיכה באפליקציה לבקשת דגימת-על בזמן היצירה. ההגדרה הזו מאפשרת לאפליקציות להשתמש במסנן דגימת-על (super sampling) להחלקת קצוות (anti-aliasing). (I06913)
  • הנכס recommendedContentBoxInFullSpace נוסף אל ActivitySpace. היא מחזירה תיבה מומלצת להצבת תוכן במצב מרחב מלא. (I4cd6f)
  • הוספנו בנאי עמוס (overloaded) לשינוי של רכיבים שניתן להזיז, שמאפשר עיגון. (Ic0c70)

שינויים ב-API

בגרסה הזו בוצעו שינויים נרחבים ב-API של SceneCore. השמות של כמה מחלקות השתנו או שהן הועברו למודולים אחרים, ורוב השיטות של getter/setter הוחלפו במאפיינים של Kotlin. אנחנו צופים שיהיו שינויים נוספים ב-API שיגרמו לתקלות עד להשקת גרסת הבטא הראשונה, אבל הם לא יהיו רבים או משבשים כמו השינויים האלה.

  • שינינו את השם ו/או העברנו את המחלקות והממשקים הבאים: androidx.xr.scenecore.PixelDimensions ל-androidx.xr.runtime.math.IntSize2d, androidx.xr.scenecore.Dimensions ל-androidx.xr.runtime.math.FloatSize3d, androidx.xr.scenecore.ActivityPose ל-ScenePose, androidx.xr.scenecore.ContentlessEntity ל-GroupEntity, androidx.xr.scenecore.PlaneType ל-PlaneOrientation, androidx.xr.scenecore.PlaneSemantic ל-PlaneSemanticType. (Ifd405)(I3b622) (If534d)
  • מספר פונקציות setter של מאפייני Scene הוגדרו כפרטיות. הן לא נועדו לשינוי על ידי לקוחות SceneCore: activitySpace, activitySpaceRoot, mainPanelEntity, perceptionSpace, spatialCapabilities, spatialEnvironment ו-spatialUser. (I2f506)
  • ב-Entity: המאפיינים הבאים השתנו: get/setParent(), ‏ setContentDescription; המאפיין Entity.is/setHidden() הוצא משימוש, צריך להשתמש במאפיין Entity.is/setEnabled במקום זאת. (Ibc4c6)
  • הסרנו את המחלקה androidx.xr.scenecore.BasePanelEntity. במקומה, צריך להשתמש ישירות ב-PanelEntity. הוחלפו פונקציות getter ו-setter של PanelEntity במאפיינים. המאפיין PanelEntity.size השתנה מ-Float3dSize ל-Float2dSize. השיטה androidx.xr.scenecore.PanelEntity.getPixelDimensions הוצאה משימוש. במקומה צריך להשתמש ב-getSizeInPixels. (Icc174)
  • ‫androidx.xr.scenecore.OnSpaceUpdatedListener הוחלף בטקסט Runnable. (I19308)
  • החלפנו את SpatialUser.getCameraViews() בנכס. (Ib0cc5) ב-ExrImage וב-GltfModel:, שינינו את השיטות של create לפונקציות השהיה, ושינינו את הפרמטרים של create כך שיקבלו Uri או Path במקום String. (Id8883) (I0d247), (I25706)
  • העברנו את SpatialEnvironment.requestFullSpaceMode ו-SpatialEnvironment.requestHomeSpaceMode ל-Scene. לדוגמה, צריך להשתמש ב-session.scene.requestFullSpaceMode() במקום ב-session.scene.spatialEnvironment.requestFullSpaceMode(). ל-addOnPassthroughOpacityChangedListener ול-addOnSpatialEnvironmentChangedListener יש עכשיו שינויים שמקבלים מנהלי משימות אופציונליים. (I12fe0) (I6b21e)
  • הסרנו את השיטות הבאות של SpatialEnvironment שהוצאו משימוש: togglePassthrough,‏ setPassthrough,‏ setPassthroughOpacity,‏ getPassthroughMode,‏ getPassthroughOpacity,‏ setSkybox ו-setGeometry. הוסרה גם המחלקה שהוצאה משימוש SpatialEnvironment.PassthroughMode (I927bd) (I927bd) (I927bd)
  • הוחלפו פונקציות ה-getter וה-setter הבאות של SpatialEnvironment במאפייני Kotlin: ‏getCurrentPassthroughOpacity(), ‏ get/setPassthroughOpacityPreference(), ‏ get/setSpatialEnvironmentPreference(), ‏ isSpatialEnvironmentPreferenceActive() (I33a7b) (Ie06e2) (Ie06e2)
  • סוג הSpatialEnvironmentPreference.preferredPassthroughOpacity השתנה מ-Float? ל-Float. הוא כבר לא מקבל ערכים ריקים (null). במקום זאת, הערך SpatialEnvironment.NO_PASSTHROUGH_OPACITY_PREFERENCE משמש כדי לציין שאין העדפה לגבי אטימות. (I40107)
  • הפרמטר windowBoundsPx עודכן ל-pixelDimensions והסוג שלו עודכן מ-Rect ל-IntSize2d בשיטת היצירה. (I1926e)
  • ה-constructor של SpatialEnvironment הוא עכשיו פנימי (I75a51)
  • החלפת המחלקה SpatialPointerIconNone והמחלקות SpatialPointerIconCircle באובייקטים נלווים SpatialPointerIcon.NONE ו-SpatialPointerIcon.CIRCLE (I416d2)
  • השדה SpatialPointerIcon בטבלה SpatialPointerComponent לא יכול להיות ריק יותר. כדי לציין שצריך להשתמש בסמל ברירת המחדל של המערכת, צריך להשתמש ב-SpatialPointerIcon.DEFAULT במקום ב-null. (I416d2)
  • המאפיין androidx.xr.scenecore.AnchorEntity.getState() הוחלף במאפיין לקריאה בלבד. שינינו את השמות של הפרמטרים ב-method‏ AnchorEntity.create() לשם הבהרה. בשיטות של AnchorEntity להגדרה ולהוספה של מאזינים, המאזין הועבר לארגומנט הסופי כדי להפעיל ביטויי למבדה נגררים. הטקסט androidx.xr.scenecore.OnStateChangedListener הוחלף בטקסט Consumer<AnchorEntity.State> ב-AnchorEntity. (I472e0)
  • GltfModelEntity.getAnimationState() הוא עכשיו נכס. (I10b29)
  • החלפנו את ActivitySpace.getBounds() בנכס. השם של ActivitySpace.addBoundsChangedListener שונה ל-ActivitySpace.addOnBoundsChangedListener. החלפנו את ActivitySpace.setOnSpaceUpdatedListener בשיטות הוספה/הסרה. (I4c956)
  • השם של AnchorPlacement: planeTypeFilter השתנה ל-anchorablePlaneOrientations, והשם של planeSemanticFilter השתנה ל-anchorablePlaneSemanticTypes. הוספה של MovableComponent ל-AnchorEntity או ל-ActivitySpace תחזיר את הערך false, השם של MoveListener השתנה ל-EntityMoveListener shouldDisposeParentAnchor, השם של disposeParentOnReAnchor systemMovable הוסר מהפונקציה create לטובת creeateCustomMovable, createSystemMovable ו-createAnchorable (If11c4)
  • הסרנו את SurfaceEntity.featherRadiusX/Y והוספנו את הקונספט של מחלקה EdgeFeatheringParams. (Ic78fc)
  • ה-method‏ PanelEntity.enablePanelDepthTest() הוחלפה בנכס panelClippingConfig. מגדירים את Scene.panelClippingConfig = PanelClippingConfig(isDepthTestEnabled = true) כדי להפעיל את בדיקת העומק או מגדירים את PanelClippingConfig(isDepthTestEnabled = false) כדי להשבית אותה. (I0cbe0)
  • הסוג של Scene.mainPanelEntity הוא עכשיו MainPanelEntity במקום PanelEntity (I7125a)
  • השם של ה-method‏ setFullSpaceMode של Scene השתנה ל-configureBundleForFullSpaceModeLaunch, והשם של ה-method‏ setFullSpaceModeWithEnvironmentInherited השתנה ל-configureBundleForFullSpaceModeLaunchWithEnvironmentInherited. (I0cbe0) (I0cbe0)
  • הערכים UNKNOWN,‏ OUTSIDE_FOV,‏ PARTIALLY_WITHIN_FOV ו-WITHIN_FOV של SpatialVisibility שונו ל-SPATIAL_VISIBILITY_UNKNOWN,‏ SPATIAL_VISIBILITY_OUTSIDE_FIELD_OF_VIEW,‏ SPATIAL_VISIBILITY_PARTIALLY_WITHIN_FIELD_OF_VIEW ו-SPATIAL_VISIBILITY_WITHIN_FIELD_OF_VIEW, בהתאמה (Ie7e8c)
  • המחלקה SpatialVisibility הוחלפה באובייקט ציבורי עם ערכי const Int. הפונקציה setSpatialVisibilityChangedListener מקבלת עכשיו Consumer<Int> במקום Consumer<SpatialVisibility> (Ie7e8c)
  • ‫PointerCaptureComponent קבועים שונו והועברו לאובייקט PointerCaptureComponent.PointerCaptureState (I9c7ac)
  • ‫PointerCaptureComponents' StateListener הוחלף בטקסט Consumer<Int>. (I9c7ac)
  • הטקסט InputEventListener הוחלף בטקסט Consumer<InputEvent> (I9c7ac)
  • ‫setPreferredAspectRatio הועבר מהמחלקה Scene לאובייקט SpatialWindow, והוא מקבל את Session כפרמטר הראשון. (I7b717)
  • ‫Entity.setHidden() הוחלף ב-Entity.setEnabled() ו-Entity.isHidden() הוחלף ב-Entity.isEnabled(). ‫setHidden(false) שווה ל-setEnabled(true) ול-isHidden() == !isEnabled(). (Icf0de)
  • הסוג של Entity.contentDescription השתנה ממחרוזת ל-CharSequence. (Ie59be)
  • הפונקציות Session.create ו-Session.configure מחזירות עכשיו את השגיאה SecurityException אם לא ניתנו מספיק הרשאות, במקום להחזיר את הערכים SessionCreatePermissionsNotGranted או SessionConfigurePermissionsNotGranted. (I7c488)
  • ‫ResizableComponent.create עכשיו דורש Consumer<ResizeEvent> ResizeEventListener הוחלף ב-Consumer<ResizeEvent> ResizableComponent.size השם של ResizableComponent.affordanceSize ResizableComponent.minimumSize השתנה ל-ResizableComponent.minimumEntitySize ResizableComponent.maximumSize השם של ResizableComponent.maximumEntitySize השתנה ל-ResizableComponent.autoHideContent השם של ResizableComponent.shouldAutoHideContent השתנה ל-ResizableComponent.forceShowResizeOverlay השם של ResizableComponent.shouldAlwaysShowOverlay השתנה ל-I97a2d)
  • הערך של minSDK הופחת ל-24 עבור androidx.xr.scenecore ו-androidx.xr.compose. חבילות XR עדיין דורשות API 34 בזמן הריצה. (I17224)
  • הוסרה ההגבלה RequiresApi(34) בכל חבילות Jetpack XR. ההגבלה הזו הייתה מיותרת כי Jetpack XR זמין כרגע רק במכשירים עם רמת API 34 ומעלה. (Iae0f8)
  • ארטיפקט SceneCore הראשי (xr:scenecore:scenecore) יכיל רק ממשקי API אסינכרוניים בסגנון Kotlin. מפתחי Java יכולים להסתמך על הספרייה xr:scenecore:scenecore-guava כדי לגשת לממשקי API תואמים. (If221b)
  • פרויקטים שפורסמו עם Kotlin 2.0 דורשים KGP 2.0.0 ואילך כדי לצרוך (Idb6b5)
  • הספרייה הזו משתמשת עכשיו באנוטציות של JSpecify nullness, שהן מסוג type-use. מפתחים ב-Kotlin צריכים להשתמש בארגומנט הבא של המהדר כדי לאכוף שימוש נכון: -Xjspecify-annotations=strict (זוהי ברירת המחדל החל מגרסה 2.1.0 של מהדר Kotlin) (Ia8420)
  • כל השיטות האסינכרוניות שמחזירות ListenableFuture הוחלפו בפונקציות השהיה של Kotlin. מפתחי Java שרוצים להשתמש בשיטות אסינכרוניות שמבוססות על ListenableFuture במקום בפונקציות השהיה של Kotlin, צריכים עכשיו להשתמש בפונקציות הרחבה ב-:xr:scenecore-scenecore-guava. לדוגמה, GuavaExrImage מכיל את הפונקציות האסינכרוניות של ExrImage שמקבילות ל-Guava,‏ GuavaScenePose מכיל את הפונקציות האסינכרוניות של ScenePose שמקבילות ל-Guava,‏ GuavaGltfModel מכיל את הפונקציות האסינכרוניות של Guava-equivalent GltfModel וכו'. (If7283) (I0af60) (If7283) (Ia8515) (I4efdf) (I54bbf) (I3467a) (I82a33)

תיקוני באגים

  • כלל מעודכן של Jetpack XR Scenecore ProGuard למניעת AbstractMethodError ללקוחות ממוזערים. (I91a01)
  • תיקונים נוספים לתמיכה בהקטנת Proguard ב-Jetpack XR SceneCore (I4f47e)
  • תוקן באג שבו InteractableComponent עלול לגרום לקריסה אם hitPosition ב-HitInfo של InputEvent עלול לקרוס אם hitPosition שהוחזר מהמערכת היה null‏ (I7a695)
  • השמות של ערכי Config *Mode שונו כדי לשקף את ההתנהגות שלהם. (I6d247)
  • תוקנו בעיות ב-FOV וב-HitTest ב-SceneCore TestApp. (I2c51e)
  • תוקן באג ב-SpatialCapabilities.hasCapability() שבו הפונקציה החזירה את הערך True אם אחת מהיכולות שהועברו עם bitwise OR הייתה True, במקום להחזיר את הערך True רק אם כולן היו True. (I2cd40)
  • ‫SurfaceEntity.StereoMode.TOP_BOTTOM עודכן כך שהמפה העליונה מיועדת לעין שמאל והמפה התחתונה מיועדת לעין ימין. (I4ae68)

גרסה ‎1.0.0-alpha04

‫7 במאי 2025

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

תכונות חדשות

  • מעכשיו, הטיפול בפעולת החזרה יעבוד על ישויות של חלוניות בלי פעילויות מוטמעות. כדי שהטיפול בלחצן החזרה יעבוד, צריך לציין את android:enableOnBackInvokedCallback= "true" במניפסט של Android.
  • עכשיו StereoSurfaceEntity תומך בהפעלה של MV-HEVC באמצעות שני ערכים חדשים של StereoMode: ‏MULTIVIEW_LEFT_PRIMARY ו-MULTIVIEW_RIGHT_PRIMARY.
  • הפונקציות PanelEntity.setSize ו-PanelEntity.getSize מחזירות עכשיו גדלים במרחב ההורה.
  • ‫Entity.setPose,‏ Entity.getPose,‏ Entity.setScale,‏ Entity.getScale,‏ Entity.setAlpha ו-Entity.getAlpha מקבלים עכשיו פרמטר חדש, relativeTo, שמאפשר לקבל או להגדיר ערכים שקשורים למרחבים שונים. הערכים הנתמכים הם Parent, ‏ Activity ו-Real World spaces, וערך ברירת המחדל של הפרמטר הזה הוא Parent.
  • נוספו שיטות של Spatial Visibility Callback extension ל-SessionExt.kt כדי לעקוב אחרי המקרים שבהם תוכן הסצנה זז בתוך שדה הראייה של המשתמש או מחוץ לו.
  • הוספנו את setPointSourceParams אל SpatialAudioTrack, כדי לאפשר עדכון של הפרמטרים אחרי שהמסלול נוצר.
  • נוספה מחלקה חדשה, Scene, עם הפניות לממשקי API של Scenecore. הסצנה תהיה נגישה כמאפיין של תוסף של הסשן. פונקציות בתוך SessionExt הועברו אל Scene, ולכן צריך לשנות את הייבוא, לדוגמה, SessionExt.getScene(session).‫addSpatialCapababilitiesChangedListener מול SessionExt.addSpatialCapabilitiesChangedListener.
  • ActivityPose.hitTestAsync נוסף, ומאפשר hitTest נגד תוכן וירטואלי.
  • נוסף סוג רכיב חדש SpatialPointerComponent, שמאפשר ללקוחות לציין את הסמל שמוצג עבור הסמן, או להשבית את הסמל. כרגע אפשר לצרף את הרכיב הזה רק למופעים של PanelEntity.
  • הוספנו את הפונקציה החדשה PanelEntity, שמקבלת את מידות הלוח במטרים או בפיקסלים. הוסר מפעל PanelEntity ישן יותר שמקבל שני פרמטרים מסוג Dimension עבור החלונית.

שינויים ב-API

  • הוסרה ההגבלה RequiresApi(34) בכל חבילות Jetpack XR. ההגבלה הזו הייתה מיותרת כי Jetpack XR זמין כרגע רק במכשירים עם רמת API 34 ומעלה. (Iae0f8)
  • פרויקטים שפורסמו עם Kotlin 2.0 דורשים KGP 2.0.0 ואילך כדי לצרוך (Idb6b5)
  • המחלקה PermissionHelper הוסרה.
  • האפשרות PanelEntity.getPixelDensity הוצאה משימוש.
  • השדות PanelEntity.setPixelDimensions ו-PanelEntity.getPixelDimension הוסרו, והוחלפו בשדות setSizeInPixels ו-getSizeInPixels.
  • האפשרות Entity.getActivitySpaceAlpha הוסרה. אפשר להחליף ב-Entity.getAlpha(Space.Activity).
  • האפשרות Entity.getWorldSpaceScale הוסרה. אפשר להחליף אותו ב-Entity.getScale(Space.REAL\_WORLD).
  • הכיתה Session ב-SceneCore נמחקה לטובת Session ב-XR Runtime.
  • השם של StereoSurfaceEntity השתנה לשם SurfaceEntity.
  • ‫Entity.setSize ו-Entity.getSize הוסרו, ואותן methods נוספו ל-PanelEntity.
  • השם של PointSourceAttributes השתנה לשם PointSourceParams.
  • השם של SpatializerConstants.SOURCE\_TYPE\_BYPASS השתנה לשם SpatializerConstants.SOURCE\_TYPE\_DEFAULT.
  • הישות PointSourceParams שונתה מגישה ציבורית לגישה פנימית.
  • עכשיו צריך להגדיר את PlaneTrackingMode ב-Session.configure() כדי להשתמש ב-AnchorEntity.create.
  • עכשיו ממשקי ה-API של SpatialUser דורשים להגדיר את HeadTrackingMode ב-Session.configure().
  • אם ResizableComponent לא מצורף, יתקבל יומן ברמת INFO במקום יומן ברמת ERROR.
  • הכיתה Fov היא עכשיו כיתת Kotlin רגילה.
  • מפצלים את Entity.kt כדי להציב כל סוג של ישות קונקרטית בקובץ משלו.
  • כשיוצרים PanelEntity חדש, רוב התצוגות המפורטות יועברו ל-FrameLayout. כך קל יותר להשתמש ב-LayoutInspector עם לוחות מרחביים.
  • מופע XrExtensions שנמצא בשימוש רשום עכשיו בפלטפורמה, כמיטב יכולתנו, כדי לעזור בניפוי באגים באפליקציה.

תיקוני באגים

  • נוסף תיקון כדי למנוע קריסה שיכולה להתרחש כשמעבירים PanelEntity עם MovableComponent ו-AnchorPlacement
  • תוקנה בעיה שבה ResizableComponent סיפק גדלים לא עדכניים בקריאה חוזרת (callback) של onResizeStart.
  • תוקנה קריסה שקרתה כש-dispose() של JxrPlatformAdapterAxr נקרא כמה פעמים.

גרסה 1.0.0-alpha03

‫26 בפברואר 2025

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

תכונות חדשות

  • עכשיו יש תמיכה בהקטנת Proguard לקוד Jetpack XR

תיקוני באגים

  • תיקונים נוספים לתמיכה בהקטנה של Proguard ב-Jetpack XR SceneCore‏ (I4f47e)
  • כלל מעודכן של Jetpack XR Scenecore ProGuard למניעת AbstractMethodError ללקוחות ממוזערים. (I91a01)

גרסה 1.0.0-alpha02

‫12 בפברואר 2025

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

שינוי תוכנה שעלול לגרום לכשל באפליקציות שנוצרו לפני גרסה 1.0.0-alpha02

  • ה-methods של ה-factory הועברו מהמחלקה Session ל-method נלווית בכל סוג בהתאמה:
    • השדה Session.createActivityPanelEntity(Dimensions, String, Activity, Pose) נמחק והוחלף בשדה ActivityPanelEntity.create(Session, Dimensions, String, Pose)
    • השדה Session.createAnchorEntity(Anchor) נמחק והוחלף בשדה AnchorEntity.create(Session, Anchor)
    • השדה Session.createAnchorEntity(Dimensions, Int, Int, Duration) נמחק והוחלף בשדה AnchorEntity.create(Session, Dimensions, Int, Int, Duration)
    • השדה Session.createEntity(String, Pose) נמחק והוחלף בשדה ContentlessEntity.create(Session, String, Pose)
    • השדה Session.createExrImageResource(String) נמחק והוחלף בשדה ExrImage.create(Session, String)
    • השדה Session.createGltfEntity(GltfModel, Pose) נמחק והוחלף בשדה GltfModelEntity.create(Session, GltfModel, Pose)
    • השדה Session.createGltfModelResource(String) נמחק והוחלף בשדה GltfModel.create(Session, String)
    • השדה Session.createInteractableComponent(Executor, InputEventListener) נמחק והוחלף בשדה InteractableComponent.create(Session, Executor, InputEventListener)
    • השדה Session.createMovableComponent(Boolean, Boolean, Set<AnchorPlacement>, Boolean) נמחק והוחלף בשדה MovableComponent.create(Session, Boolean, Boolean, Set<AnchorPlacement>, Boolean)
    • השדה Session.createPanelEntity(View, Dimensions, Dimensions, String, Pose) נמחק והוחלף בשדה PanelEntity.create(Session, View, Dimensions, Dimensions, String, Pose)
    • השדה Session.createResizableComponent(Dimensions, Dimensions) נמחק והוחלף בשדה ResizableComponent.create(Session, Dimensions, Dimensions)
    • השדה Session.createStereoSurfaceEntity(Int, Dimensions, Pose) נמחק והוחלף בשדה StereoSurface.create(Session, Int, Dimensions, Pose)
  • ה-methods הבאות שהוצאו משימוש הוסרו:
    • הקובץ Session.canEmbedActivityPanel(Activity) נמחק. במקומה צריך להשתמש במדיניות getSpatialCapabilities.hasCapabilility(SPATIAL_CAPABILITY_EMBED_ACTIVITY).
    • הקובץ Session.hasSpatialCapability(Int) נמחק. היא הוחלפה ב-getSpatialCapabilities().hasCapability(), שמאפשרת לבדוק אם יש יכולות מרחביות בצורה מופרדת יותר, כי getSpatialCapabilities() מחזירה אובייקט SpatialCapabilities.
    • השדה Session.requestFullSpaceMode() נמחק והוחלף בשדה SpatialEnvironment.requestFullSpaceMode()
    • השדה Session.requestHomeSpaceMode() נמחק והוחלף בשדה SpatialEnvironment.requestHomeSpaceMode()
  • הפונקציות Session.setFullSpaceMode(Bundle) ו-Session.setFullSpaceModeWithEnvironmentInherited(Bundle) הועברו לפונקציות של תוספים. כדי לקבל גישה, צריך להוסיף את הייבוא החדש לקובצי המפתחים:
    • import androidx.xr.scenecore.setFullSpaceMode
    • import androidx.xr.scenecore.setFullSpaceModeWithEnvironmentInherited
  • הפונקציה Session.setPreferredAspectRatio(Activity, Float) הועברה לפונקציית תוסף. כדי לקבל גישה, המפתחים יצטרכו להוסיף את הייבוא החדש לקבצים שלהם:
    • import androidx.xr.scenecore.setPreferredAspectRatio
  • הפונקציות Session.getEntitiesOfType(Class<out T>) ו-Session.getEntityForRtEntity(RtEntity) הועברו לפונקציות של תוספים. כדי לקבל גישה, המפתחים יצטרכו להוסיף את הייבוא החדש לקבצים שלהם:
    • import androidx.xr.scenecore.getEntitiesOfType
    • import androidx.xr.scenecore.getEntityForRtEntity
  • המשתמש Session.unpersistAnchor(Anchor) נמחק
  • המשתמש Session.createPersistedAnchorEntity(UUID) נמחק

בעיות מוכרות

  • יכול להיות שההגדרות PanelEntity.setCornerRadius() ו-ActivityPanelEntity.setCornerRadius() לא ייכנסו לתוקף עד שהלוח יועבר בפעם הבאה. אפשר לפתור את הבעיה הזו על ידי העברת הלוח למיקום הנוכחי שלו
  • כשמתבצעת קריאה ל-BoundsChanged ב-ActivitySpace, יכול להיות שחלק מה-ActivityPose לא עודכנו בצורה נכונה. הוא יעודכן בשיחת OnSpaceUpdated הבאה בתאריך ActivitySpace

שינויים בתוכנה שעלולים לגרום לכשלים ושינויים בהתנהגות

  • ל-PanelEntity ול-ActivityPanelEntity תהיה רדיוס פינה שמוגדר כברירת מחדל של 32dp או פחות אם הרוחב או הגובה של הלוח קטנים מ-32dp

ממשקי API ויכולות חדשים

  • מציג את StereoSurface.CanvasShape, שמאפשר ליצור אזורי ציור ב-Spherical וב-Hemispherical כדי לעבד מדיה עשירה.
  • הפונקציה StereoSurfaceEntity.create() מקבלת עכשיו פרמטר CanvasShape. (המערכת מתעלמת כרגע מהפרמטר הזה, אבל הוא יהיה בשימוש בגרסה עתידית)
  • הפרמטר Dimensions לא נכלל יותר ב-StereoSurfaceEntity.create(). האפליקציות צריכות לשלוט בגודל של ה-canvas באמצעות הגדרת CanvasShape
  • ל-StereoSurfaceEntity יש איבר CanvasShape שאפשר להגדיר באופן דינמי.
  • המאפיין StereoSurfaceEntity.dimensions הוא עכשיו לקריאה בלבד. כדי לשנות את המימדים, צריך להגדיר את CanvasShape באפליקציות.
  • עכשיו אפשר להגדיר מחדש את StereoMode אחרי הבנייה באמצעות StereoSurfaceEntity.

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

  • הפחתת minSDK בזמן הקימפול ל-24. כל ממשקי ה-API של Jetpack XR עדיין דורשים את API 34 בזמן הריצה.
  • ‫Session factory (Session.create) של SceneCore לא מפעיל יותר Intent כדי לקבל את ההרשאה SCENE_UNDERSTANDING. במקום זאת, אפליקציית הלקוח צריכה לבקש מהמשתמש את ההרשאות באופן מפורש לפני שהיא מנסה ליצור את נקודות העיגון. אם המשתמש לא יעניק את ההרשאה, לא תהיה אפשרות ליצור עוגן.

תיקוני באגים

  • הפונקציה getActivitySpacePose() תוקנה כדי להביא בחשבון את קנה המידה של ActivitySpace, על ידי החזרת ערכי תרגום במטרים מותאמים במקום להחזיר תמיד מטרים לא מותאמים. עכשיו transformPoseTo משתמש גם ביחידות הנכונות כדי לחשב שינויים בקואורדינטות כש-ActivitySpace מעורב במקור או ביעד.
  • מעכשיו, בכל פעם שמועברת העדפה של תיבת שמיים ריקה באמצעות setSpatialEnvironmentPreference(new SpatialEnvironmentPreference(null, geom)), תיבת השמיים תוגדר לתיבת שמיים שכולה שחורה. כדי לחזור ל-skybox ולגיאומטריה שמוגדרים כברירת המחדל של המערכת, משתמשים ב-setSpatialEnvironmentPreference(null).

גרסה 1.0.0-alpha01

‫12 בדצמבר 2024

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

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

  • ‫SpatialEnvironment: יוצרים חוויות סוחפות לחלוטין עם תמונת Skybox או גיאומטריה של מודל תלת-ממדי כרקע לסצנת ה-XR של הסביבה שלכם. אפשר גם להפעיל את מצב Passthrough, כדי שהסצנה הווירטואלית תשתלב בסביבה האמיתית של המשתמש.
  • ‫PanelEntity: הוספת תוכן דו-ממדי לסצנות תלת-ממדיות על ידי הטמעת פריסות ופעילויות רגילות של Android בחלוניות מרחביות שיכולות לצוף או להיות מעוגנות למשטחים בעולם האמיתי.
  • ‫GltfModelEntity: הצבה, הנפשה ואינטראקציה עם מודלים תלת-ממדיים בסצנה. ‫SceneCore תומך בפורמט הקובץ glTF כדי שיהיה קל לשלב אותו עם מודלים קיימים.
  • SpatialAudio: הוספת מקורות אודיו סביבתיים ונקודתיים לסצנת התלת-ממד כדי ליצור חוויית סאונד מרחבית וסוחפת.
  • ‫StereoSurfaceEntity: ‏SceneCore תומך בניתוב תוכן לעין שמאל/ימין שמוצג ב-Android Surface. אפשר להשתמש בזה כדי לרנדר תוכן סטריאוסקופי בפורמט של זה לצד זה או מלמעלה למטה, כמו תמונות סטריאו, סרטוני תלת-ממד או ממשקי משתמש אחרים שרונדרו באופן דינמי. באפליקציות צריך להשתמש ב-MediaPlayer או ב-ExoPlayer לפענוח סרטונים.
  • מערכת רכיבים: SceneCore מציעה מערכת רכיבים חזקה וגמישה להוספת יכולות לתוכן XR, כולל אפשרויות למשתמשים להזיז מודלים ולוחות, לשנות את הגודל שלהם ולקיים איתם אינטראקציה.
  • עוגן: כשהתכונה "מעבר" מופעלת, אתם יכולים לחבר חלוניות ומודלים למשטחים אמיתיים, וכך לשלב בצורה חלקה תוכן וירטואלי בסביבה האמיתית של המשתמשים.
  • תנוחת המשתמש: גישה למיקום של המשתמש בסצנה הווירטואלית, כדי להתאים את התוכן למיקום של המשתמש.
  • ‫SpatialCapabilities: פיתוח אפליקציות רספונסיביות לחלוטין שמנצלות יכולות מרחביות כשהן זמינות, כמו מיקום תלת-ממדי של תוכן בממשק המשתמש. בנוסף, האפליקציה יכולה לעקוב אחרי שינויים ביכולות בזמן שהיא פועלת, כדי לשנות את החוויה בהתאם לאופן שבו המשתמש משתמש במכשיר Android XR.

בעיות מוכרות

  • נכון לעכשיו, כדי להשתמש ב-Jetpack SceneCore נדרשת גרסת minSDK‏ 30. כדי לעקוף את הבעיה, אפשר להוסיף את רשומת המניפסט הבאה <uses-sdk tools:overrideLibrary="androidx.xr.scenecore, androidx.xr.compose"/> כדי לבנות ולהפעיל עם minSDK של 23.
  • הסשן יכול להפוך ללא חוקי במצבים שונים שבהם ה-Activity נוצר מחדש באופן אוטומטי, כולל שינוי הגודל של החלונית הראשית, חיבור ציוד היקפי ומעבר בין מצב בהיר למצב כהה. אם אתם נתקלים בבעיות של ביטול סשנים, אתם יכולים לנסות את הפתרונות הבאים: להגדיר שהחלונית הראשית לא תהיה ניתנת לשינוי גודל, להשתמש בישות של חלונית דינמית, להשבית את היצירה מחדש של הפעילות לשינויי הגדרות ספציפיים או להשבית את השינויים בעיצוב של מצב בהיר/מצב כהה.
  • אין תמיכה ברכיבים שאפשר להזיז ולשנות את הגודל שלהם ב-GltfEntity.
  • ‫Entity.getSize()‎ לא נתמך ב-GltfEntity.
  • אפליקציות Jetpack XR צריכות לבקש את ההרשאה android.permission.SCENE_UNDERSTANDING ב-AndroidManifest.
  • אפשר ליצור סשן רק במכשיר Android XR. בשלב הזה, אם יוצרים סשן ומנסים להשתמש בו במכשיר שהוא לא Android XR, מקבלים RuntimeException.
  • הגדרת ה-skybox לערך null באמצעות `SpatialEnvironment.setSpatialEnvironmentPreference() לא גורמת ל-skybox שחור מלא כפי שמתועד. יכול להיות שתוצג תיבת השמיים שמוגדרת כברירת המחדל של המערכת, או שלא יהיה שינוי בתיבת השמיים הנוכחית.
  • לקוחות SceneCore צריכים להוסיף את implementation(“com.google.guava:listenablefuture-1.0”) להגדרות Gradle של יחסי התלות של האפליקציה. בגרסה עתידית, scenecore תכלול את הספרייה הזו כתלות ב-api, כך שהלקוחות לא יצטרכו להצהיר עליה באופן מפורש.
  • ‫SceneCore כולל בטעות את com.google.guava:guava-31.1-android ו-com.google.protobuf:protobuf-javalite כיחסי תלות טרנזיטיביים. אם זה גורם לשגיאות של כיתות כפולות ב-build, אפשר להחריג את שני יחסי התלות האלה בלי בעיה.
  • אם האפליקציה משתמשת ב-SceneCore ומפעילה את ProGuard, היא תקרוס כשיוצרים סשן. כדי לעקוף את הבעיה, אפשר להשבית את ProGuard. במדריך הזה מוסבר איך להפעיל את ProGuard.