What would you like to see?
Add clearer S1API support for choosing the default orientation/template used by custom PhoneApp instances.
A modder reported that overriding phone app orientation rotates the phone, but the app canvas remains sideways. Based on the current API behavior, PhoneApp.Orientation affects phone rotation/camera offset when the app opens, but custom app panels are still cloned from ProductManagerApp in SpawnUI.
It would help to provide an API-supported way to create a vertical or horizontal phone app canvas by default, likely by cloning from an appropriate native app/template for the requested orientation. If runtime orientation changes are also supported later, the API should document that per-app UI layout, resizing, and scaling may still need to be handled by the mod.
Why would this help?
Right now, modders can see an orientation option in the API/docs, but it is not obvious that this only handles phone rotation/camera offset and does not necessarily produce a correctly oriented/resized canvas for the app UI.
This makes portrait-style phone apps confusing to build: a modder may override orientation and expect S1API to provide a vertical canvas, but instead their UI can remain laid out sideways because the cloned app canvas/template came from a horizontal app.
Extra Context (Optional)
Community report summary:
- A modder tried changing a phone app's orientation via override.
- The phone rotated, but the app canvas was sideways.
- They asked whether an additional step was required or whether they needed to manually rotate/resize the UI.
- Current maintainer understanding: orientation currently affects the phone/app state, while resizing/rotating UI is likely not handled automatically by the game and may need to be handled per app.
Current repo context:
S1API/PhoneApp/PhoneApp.cs exposes protected virtual EOrientation Orientation => EOrientation.Horizontal;.
SetAppOpen uses Orientation to call Phone.Instance.SetIsHorizontal(true) for horizontal apps and adjust look offset.
SpawnUI currently clones AppsCanvas/ProductManagerApp for custom phone apps.
S1API/docs/phone-app.md currently says overriding Orientation to Vertical creates portrait-style apps and that S1API adjusts phone rotation/camera offset.
Possible acceptance criteria:
- S1API provides a supported way to choose vertical vs. horizontal default phone app layout/template.
- The docs clearly distinguish phone rotation from canvas/UI layout responsibilities.
- If runtime orientation changes are exposed, the docs explain what S1API handles and what the app/modder must handle manually.
What would you like to see?
Add clearer S1API support for choosing the default orientation/template used by custom
PhoneAppinstances.A modder reported that overriding phone app orientation rotates the phone, but the app canvas remains sideways. Based on the current API behavior,
PhoneApp.Orientationaffects phone rotation/camera offset when the app opens, but custom app panels are still cloned fromProductManagerAppinSpawnUI.It would help to provide an API-supported way to create a vertical or horizontal phone app canvas by default, likely by cloning from an appropriate native app/template for the requested orientation. If runtime orientation changes are also supported later, the API should document that per-app UI layout, resizing, and scaling may still need to be handled by the mod.
Why would this help?
Right now, modders can see an orientation option in the API/docs, but it is not obvious that this only handles phone rotation/camera offset and does not necessarily produce a correctly oriented/resized canvas for the app UI.
This makes portrait-style phone apps confusing to build: a modder may override orientation and expect S1API to provide a vertical canvas, but instead their UI can remain laid out sideways because the cloned app canvas/template came from a horizontal app.
Extra Context (Optional)
Community report summary:
Current repo context:
S1API/PhoneApp/PhoneApp.csexposesprotected virtual EOrientation Orientation => EOrientation.Horizontal;.SetAppOpenusesOrientationto callPhone.Instance.SetIsHorizontal(true)for horizontal apps and adjust look offset.SpawnUIcurrently clonesAppsCanvas/ProductManagerAppfor custom phone apps.S1API/docs/phone-app.mdcurrently says overridingOrientationtoVerticalcreates portrait-style apps and that S1API adjusts phone rotation/camera offset.Possible acceptance criteria: