Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial visionOS integration #1956

Merged
merged 7 commits into from
Jan 31, 2024

Conversation

mischreiber
Copy link
Contributor

@mischreiber mischreiber commented Jan 26, 2024

Platforms Impacted

  • iOS
  • macOS

Description of changes

This PR represents a very WIP implementation of the FluentUI library and demo app for visionOS. Most components are still pretty broken and not yet supported, but a variety of core scenarios are now viable for additional exploration.

This is not full visionOS support!

That said, this at least unblocks any downstream apps that want to build against visionOS and utilize some aspects of the FluentUI library.

Some important caveats:

  • CocoaPods is not yet supported. Only SPM and direct library integration are currently available. We'll continue to monitor visionOS support in CocoaPods and evaluate accordingly.
  • Some alias tokens have been updated with hardcoded values. This will be eventually removed and migrated to a proper per-platform override system.
  • As mentioned above, many components are either unsupported or have not been throughly verified on visionOS. Please treat this as an experimental WIP.

Binary change

Note: the script for processing binary changes seems to be having problems with my build. While I investigate, here's the quick breakdown:

File Before After Delta
Total 31,037,192 bytes 31,114,936 bytes ⚠️ 77,744 bytes

Verification

iOS app builds and runs as expected. visionOS app detailed below:

Visual Verification

vision1_filtered
vision2
vision3
vision4

Pull request checklist

This PR has considered:

  • Light and Dark appearances
  • iOS supported versions (all major versions greater than or equal current target deployment version)
  • VoiceOver and Keyboard Accessibility
  • Internationalization and Right to Left layouts
  • Different resolutions (1x, 2x, 3x)
  • Size classes and window sizes (iPhone vs iPad, notched devices, multitasking, different window sizes, etc)
  • iPad Pointer interaction
  • SwiftUI consumption (validation or new demo scenarios needed)
  • Objective-C exposure (provide it only if needed)
Microsoft Reviewers: Open in CodeFlow

@mischreiber mischreiber requested review from a team as code owners January 26, 2024 00:08
@huwilkes
Copy link
Collaborator

huwilkes commented Jan 26, 2024

Should this go into a separate visionOS branch for a lot of the same reasons we decided to not let the Catalyst changes into main?

Edit:

for context

@mischreiber mischreiber marked this pull request as draft January 26, 2024 21:50
@mischreiber mischreiber marked this pull request as ready for review January 27, 2024 00:51
@mischreiber
Copy link
Contributor Author

Should this go into a separate visionOS branch for a lot of the same reasons we decided to not let the Catalyst changes into main?

Edit:

for context

Added clearer indications in the demo as to which controls are enabled. I'll also be working to fix accessibility for a handful of cases where the controls are usable but the demo itself is not to our standards.

@mischreiber mischreiber enabled auto-merge (squash) January 31, 2024 22:01
@mischreiber mischreiber merged commit ae6228e into microsoft:main Jan 31, 2024
6 checks passed
@mischreiber mischreiber deleted the user/mischreiber/visionOS branch February 1, 2024 21:32
@mischreiber mischreiber mentioned this pull request Mar 6, 2024
12 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants