Repository: amosgyamfi/OpenvisionOS Branch: main Commit: 547b687f42c6 Files: 40 Total size: 74.3 MB Directory structure: gitextract_avqgh8va/ ├── Img/ │ └── .gitignore ├── OpenvisionOS/ │ ├── AirPodsMax/ │ │ ├── AirPodsMaxAnimation.swift │ │ ├── Airpods_Max.usdz │ │ ├── Airpods_Max_Pink.usdz │ │ └── kulaklıksketchfab.usdz │ ├── Assets.xcassets/ │ │ ├── AppIcon.solidimagestack/ │ │ │ ├── Back.solidimagestacklayer/ │ │ │ │ ├── Content.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ └── Contents.json │ │ │ ├── Contents.json │ │ │ ├── Front.solidimagestacklayer/ │ │ │ │ ├── Content.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ └── Contents.json │ │ │ └── Middle.solidimagestacklayer/ │ │ │ ├── Content.imageset/ │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ └── Contents.json │ ├── NewYearFireworks/ │ │ ├── NewYearFireworksTwentyFour.swift │ │ └── newYear.usdz │ ├── OpenvisionOSApp.swift │ ├── Own3DModel/ │ │ ├── BgSparcle.usdz │ │ ├── Flower-Port.usdz │ │ ├── FlowerPotView.swift │ │ └── pointSparkle.usdz │ └── Preview Content/ │ └── Preview Assets.xcassets/ │ └── Contents.json ├── OpenvisionOS.xcodeproj/ │ ├── project.pbxproj │ ├── project.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata/ │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcuserdata/ │ │ └── amosgyamfi.xcuserdatad/ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata/ │ └── amosgyamfi.xcuserdatad/ │ └── xcschemes/ │ └── xcschememanagement.plist ├── OpenvisionOSTests/ │ └── OpenvisionOSTests.swift ├── Packages/ │ └── RealityKitContent/ │ ├── .swiftpm/ │ │ └── xcode/ │ │ └── xcuserdata/ │ │ └── amosgyamfi.xcuserdatad/ │ │ └── xcschemes/ │ │ └── xcschememanagement.plist │ ├── Package.realitycomposerpro/ │ │ ├── ProjectData/ │ │ │ └── main.json │ │ └── WorkspaceData/ │ │ ├── SceneMetadataList.json │ │ ├── Settings.rcprojectdata │ │ └── amosgyamfi.rcuserdata │ ├── Package.swift │ ├── README.md │ └── Sources/ │ └── RealityKitContent/ │ ├── RealityKitContent.rkassets/ │ │ ├── ParticleEmitterPresetTextures/ │ │ │ ├── flaresheet.exr │ │ │ └── twinkle.exr │ │ ├── Scene.usda │ │ └── _PlainMaterial.usda │ └── RealityKitContent.swift └── README.md ================================================ FILE CONTENTS ================================================ ================================================ FILE: Img/.gitignore ================================================ ================================================ FILE: OpenvisionOS/AirPodsMax/AirPodsMaxAnimation.swift ================================================ // // AirPodsMaxAnimation.swift // OpenvisionOS // // Created by Amos Gyamfi on 12.11.2023. // import SwiftUI import RealityKit import RealityKitContent struct AirPodsMaxAnimation: View { var body: some View { NavigationStack { VStack { Model3D(named: "Airpods_Max_Pink") { model in model .resizable() .aspectRatio(contentMode: .fit) .scaleEffect(0.5) .phaseAnimator([false, true]) { AirPodsMax, threeDYRotate in AirPodsMax .rotation3DEffect(.degrees(threeDYRotate ? 0 : -360 * 5), axis: (x: 0, y: 1, z: 0)) } animation: { threeDYRotate in .linear(duration: 5).repeatForever(autoreverses: false) } } placeholder: { ProgressView() } } .navigationTitle("Amos' AirPods Max") .toolbar { ToolbarItem(placement: .bottomOrnament) { HStack { Image(systemName: "battery.75percent") .symbolRenderingMode(.hierarchical) Text("75 %") } } } } } } #Preview(windowStyle: .automatic) { AirPodsMaxAnimation() } ================================================ FILE: OpenvisionOS/AirPodsMax/Airpods_Max.usdz ================================================ [File too large to display: 19.4 MB] ================================================ FILE: OpenvisionOS/Assets.xcassets/AppIcon.solidimagestack/Back.solidimagestacklayer/Content.imageset/Contents.json ================================================ { "images" : [ { "idiom" : "reality", "scale" : "2x" } ], "info" : { "author" : "xcode", "version" : 1 } } ================================================ FILE: OpenvisionOS/Assets.xcassets/AppIcon.solidimagestack/Back.solidimagestacklayer/Contents.json ================================================ { "info" : { "author" : "xcode", "version" : 1 } } ================================================ FILE: OpenvisionOS/Assets.xcassets/AppIcon.solidimagestack/Contents.json ================================================ { "info" : { "author" : "xcode", "version" : 1 }, "layers" : [ { "filename" : "Front.solidimagestacklayer" }, { "filename" : "Middle.solidimagestacklayer" }, { "filename" : "Back.solidimagestacklayer" } ] } ================================================ FILE: OpenvisionOS/Assets.xcassets/AppIcon.solidimagestack/Front.solidimagestacklayer/Content.imageset/Contents.json ================================================ { "images" : [ { "idiom" : "reality", "scale" : "2x" } ], "info" : { "author" : "xcode", "version" : 1 } } ================================================ FILE: OpenvisionOS/Assets.xcassets/AppIcon.solidimagestack/Front.solidimagestacklayer/Contents.json ================================================ { "info" : { "author" : "xcode", "version" : 1 } } ================================================ FILE: OpenvisionOS/Assets.xcassets/AppIcon.solidimagestack/Middle.solidimagestacklayer/Content.imageset/Contents.json ================================================ { "images" : [ { "idiom" : "reality", "scale" : "2x" } ], "info" : { "author" : "xcode", "version" : 1 } } ================================================ FILE: OpenvisionOS/Assets.xcassets/AppIcon.solidimagestack/Middle.solidimagestacklayer/Contents.json ================================================ { "info" : { "author" : "xcode", "version" : 1 } } ================================================ FILE: OpenvisionOS/Assets.xcassets/Contents.json ================================================ { "info" : { "version" : 1, "author" : "xcode" } } ================================================ FILE: OpenvisionOS/NewYearFireworks/NewYearFireworksTwentyFour.swift ================================================ // // NewYearFireworksTwentyFour.swift // OpenvisionOS // // Created by Amos Gyamfi on 01.11.2024. // import SwiftUI import RealityKit import RealityKitContent struct NewYearFireworksTwentyFour: View { var body: some View { NavigationStack { VStack { Model3D(named: "newYear") { model in model .resizable() .aspectRatio(contentMode: .fit) .scaleEffect(0.6) .padding() } placeholder: { ProgressView() } } } } } #Preview(windowStyle: .automatic) { NewYearFireworksTwentyFour() } ================================================ FILE: OpenvisionOS/NewYearFireworks/newYear.usdz ================================================ [File too large to display: 34.7 MB] ================================================ FILE: OpenvisionOS/OpenvisionOSApp.swift ================================================ // // OpenvisionOSApp.swift // OpenvisionOS // // Created by Amos Gyamfi on 12.11.2023. // import SwiftUI @main struct OpenvisionOSApp: App { var body: some Scene { WindowGroup { FlowerPotView() } .windowStyle(.plain) } } ================================================ FILE: OpenvisionOS/Own3DModel/BgSparcle.usdz ================================================ [File too large to display: 10.1 MB] ================================================ FILE: OpenvisionOS/Own3DModel/FlowerPotView.swift ================================================ // // FlowerPotView.swift // OpenvisionOS // // Created by Amos Gyamfi on 5.1.2024. // import SwiftUI import RealityKit import RealityKitContent struct FlowerPotView: View { var body: some View { ZStack { VStack { Model3D(named: "pointSparkle") { model in model .resizable() .aspectRatio(contentMode: .fit) .scaleEffect(0.2) .offset(x: -66, y: 200) } placeholder: { ProgressView() } Model3D(named: "Flower-Port") { model in model .resizable() .aspectRatio(contentMode: .fit) } placeholder: { ProgressView() } } Model3D(named: "BgSparcle") { model in model .resizable() .scaledToFit() } placeholder: { ProgressView() } } .padding() } } #Preview { FlowerPotView() } ================================================ FILE: OpenvisionOS/Own3DModel/pointSparkle.usdz ================================================ [File too large to display: 10.1 MB] ================================================ FILE: OpenvisionOS/Preview Content/Preview Assets.xcassets/Contents.json ================================================ { "info" : { "author" : "xcode", "version" : 1 } } ================================================ FILE: OpenvisionOS.xcodeproj/project.pbxproj ================================================ // !$*UTF8*$! { archiveVersion = 1; classes = { }; objectVersion = 56; objects = { /* Begin PBXBuildFile section */ 845B542D2B49112600084428 /* NewYearFireworksTwentyFour.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84BD2A282B429191004E72EC /* NewYearFireworksTwentyFour.swift */; }; 845B542F2B49117200084428 /* FlowerPotView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 846683632B482421005E2879 /* FlowerPotView.swift */; }; 8464901C2B0067D500418B05 /* RealityKitContent in Frameworks */ = {isa = PBXBuildFile; productRef = 8464901B2B0067D500418B05 /* RealityKitContent */; }; 8464901E2B0067D500418B05 /* OpenvisionOSApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8464901D2B0067D500418B05 /* OpenvisionOSApp.swift */; }; 846490202B0067D500418B05 /* AirPodsMaxAnimation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8464901F2B0067D500418B05 /* AirPodsMaxAnimation.swift */; }; 846490222B0067D900418B05 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 846490212B0067D900418B05 /* Assets.xcassets */; }; 846490252B0067D900418B05 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 846490242B0067D900418B05 /* Preview Assets.xcassets */; }; 8464902F2B0067D900418B05 /* OpenvisionOSTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8464902E2B0067D900418B05 /* OpenvisionOSTests.swift */; }; 846490392B00680800418B05 /* Airpods_Max.usdz in Resources */ = {isa = PBXBuildFile; fileRef = 846490382B00680800418B05 /* Airpods_Max.usdz */; }; 8464903B2B006E3D00418B05 /* kulaklıksketchfab.usdz in Resources */ = {isa = PBXBuildFile; fileRef = 8464903A2B006E3D00418B05 /* kulaklıksketchfab.usdz */; }; 8464903D2B006E4900418B05 /* Airpods_Max_Pink.usdz in Resources */ = {isa = PBXBuildFile; fileRef = 8464903C2B006E4900418B05 /* Airpods_Max_Pink.usdz */; }; 846683642B482421005E2879 /* FlowerPotView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 846683632B482421005E2879 /* FlowerPotView.swift */; }; 8466836C2B4833A1005E2879 /* Flower-Port.usdz in Resources */ = {isa = PBXBuildFile; fileRef = 8466836B2B4833A1005E2879 /* Flower-Port.usdz */; }; 8466836D2B4833A1005E2879 /* Flower-Port.usdz in Resources */ = {isa = PBXBuildFile; fileRef = 8466836B2B4833A1005E2879 /* Flower-Port.usdz */; }; 8466836F2B4833BA005E2879 /* BgSparcle.usdz in Resources */ = {isa = PBXBuildFile; fileRef = 8466836E2B4833BA005E2879 /* BgSparcle.usdz */; }; 846683702B4833BA005E2879 /* BgSparcle.usdz in Resources */ = {isa = PBXBuildFile; fileRef = 8466836E2B4833BA005E2879 /* BgSparcle.usdz */; }; 846683722B4833C4005E2879 /* pointSparkle.usdz in Resources */ = {isa = PBXBuildFile; fileRef = 846683712B4833C4005E2879 /* pointSparkle.usdz */; }; 846683732B4833C4005E2879 /* pointSparkle.usdz in Resources */ = {isa = PBXBuildFile; fileRef = 846683712B4833C4005E2879 /* pointSparkle.usdz */; }; 84BD2A292B429191004E72EC /* NewYearFireworksTwentyFour.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84BD2A282B429191004E72EC /* NewYearFireworksTwentyFour.swift */; }; 84BD2A2B2B4291F9004E72EC /* newYear.usdz in Resources */ = {isa = PBXBuildFile; fileRef = 84BD2A2A2B4291F9004E72EC /* newYear.usdz */; }; 84BD2A2C2B4291F9004E72EC /* newYear.usdz in Resources */ = {isa = PBXBuildFile; fileRef = 84BD2A2A2B4291F9004E72EC /* newYear.usdz */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ 8464902B2B0067D900418B05 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 8464900E2B0067D500418B05 /* Project object */; proxyType = 1; remoteGlobalIDString = 846490152B0067D500418B05; remoteInfo = OpenvisionOS; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ 846490162B0067D500418B05 /* OpenvisionOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = OpenvisionOS.app; sourceTree = BUILT_PRODUCTS_DIR; }; 8464901A2B0067D500418B05 /* RealityKitContent */ = {isa = PBXFileReference; lastKnownFileType = wrapper; path = RealityKitContent; sourceTree = ""; }; 8464901D2B0067D500418B05 /* OpenvisionOSApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OpenvisionOSApp.swift; sourceTree = ""; }; 8464901F2B0067D500418B05 /* AirPodsMaxAnimation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AirPodsMaxAnimation.swift; sourceTree = ""; }; 846490212B0067D900418B05 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 846490242B0067D900418B05 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; 8464902A2B0067D900418B05 /* OpenvisionOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = OpenvisionOSTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 8464902E2B0067D900418B05 /* OpenvisionOSTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OpenvisionOSTests.swift; sourceTree = ""; }; 846490382B00680800418B05 /* Airpods_Max.usdz */ = {isa = PBXFileReference; lastKnownFileType = file.usdz; path = Airpods_Max.usdz; sourceTree = ""; }; 8464903A2B006E3D00418B05 /* kulaklıksketchfab.usdz */ = {isa = PBXFileReference; lastKnownFileType = file.usdz; path = "kulaklıksketchfab.usdz"; sourceTree = ""; }; 8464903C2B006E4900418B05 /* Airpods_Max_Pink.usdz */ = {isa = PBXFileReference; lastKnownFileType = file.usdz; path = Airpods_Max_Pink.usdz; sourceTree = ""; }; 846683632B482421005E2879 /* FlowerPotView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FlowerPotView.swift; sourceTree = ""; }; 8466836B2B4833A1005E2879 /* Flower-Port.usdz */ = {isa = PBXFileReference; lastKnownFileType = file.usdz; path = "Flower-Port.usdz"; sourceTree = ""; }; 8466836E2B4833BA005E2879 /* BgSparcle.usdz */ = {isa = PBXFileReference; lastKnownFileType = file.usdz; path = BgSparcle.usdz; sourceTree = ""; }; 846683712B4833C4005E2879 /* pointSparkle.usdz */ = {isa = PBXFileReference; lastKnownFileType = file.usdz; path = pointSparkle.usdz; sourceTree = ""; }; 84BD2A282B429191004E72EC /* NewYearFireworksTwentyFour.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NewYearFireworksTwentyFour.swift; sourceTree = ""; }; 84BD2A2A2B4291F9004E72EC /* newYear.usdz */ = {isa = PBXFileReference; lastKnownFileType = file.usdz; path = newYear.usdz; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ 846490132B0067D500418B05 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( 8464901C2B0067D500418B05 /* RealityKitContent in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; 846490272B0067D900418B05 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ 845B542B2B4910D200084428 /* AirPodsMax */ = { isa = PBXGroup; children = ( 846490382B00680800418B05 /* Airpods_Max.usdz */, 8464903C2B006E4900418B05 /* Airpods_Max_Pink.usdz */, 8464903A2B006E3D00418B05 /* kulaklıksketchfab.usdz */, 8464901F2B0067D500418B05 /* AirPodsMaxAnimation.swift */, ); path = AirPodsMax; sourceTree = ""; }; 845B542C2B4910FC00084428 /* NewYearFireworks */ = { isa = PBXGroup; children = ( 84BD2A2A2B4291F9004E72EC /* newYear.usdz */, 84BD2A282B429191004E72EC /* NewYearFireworksTwentyFour.swift */, ); path = NewYearFireworks; sourceTree = ""; }; 845B542E2B49113400084428 /* Own3DModel */ = { isa = PBXGroup; children = ( 8466836B2B4833A1005E2879 /* Flower-Port.usdz */, 8466836E2B4833BA005E2879 /* BgSparcle.usdz */, 846683712B4833C4005E2879 /* pointSparkle.usdz */, 846683632B482421005E2879 /* FlowerPotView.swift */, ); path = Own3DModel; sourceTree = ""; }; 8464900D2B0067D500418B05 = { isa = PBXGroup; children = ( 846490182B0067D500418B05 /* OpenvisionOS */, 846490192B0067D500418B05 /* Packages */, 8464902D2B0067D900418B05 /* OpenvisionOSTests */, 846490172B0067D500418B05 /* Products */, ); sourceTree = ""; }; 846490172B0067D500418B05 /* Products */ = { isa = PBXGroup; children = ( 846490162B0067D500418B05 /* OpenvisionOS.app */, 8464902A2B0067D900418B05 /* OpenvisionOSTests.xctest */, ); name = Products; sourceTree = ""; }; 846490182B0067D500418B05 /* OpenvisionOS */ = { isa = PBXGroup; children = ( 8464901D2B0067D500418B05 /* OpenvisionOSApp.swift */, 845B542B2B4910D200084428 /* AirPodsMax */, 845B542C2B4910FC00084428 /* NewYearFireworks */, 845B542E2B49113400084428 /* Own3DModel */, 846490212B0067D900418B05 /* Assets.xcassets */, 846490232B0067D900418B05 /* Preview Content */, ); path = OpenvisionOS; sourceTree = ""; }; 846490192B0067D500418B05 /* Packages */ = { isa = PBXGroup; children = ( 8464901A2B0067D500418B05 /* RealityKitContent */, ); path = Packages; sourceTree = ""; }; 846490232B0067D900418B05 /* Preview Content */ = { isa = PBXGroup; children = ( 846490242B0067D900418B05 /* Preview Assets.xcassets */, ); path = "Preview Content"; sourceTree = ""; }; 8464902D2B0067D900418B05 /* OpenvisionOSTests */ = { isa = PBXGroup; children = ( 8464902E2B0067D900418B05 /* OpenvisionOSTests.swift */, ); path = OpenvisionOSTests; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ 846490152B0067D500418B05 /* OpenvisionOS */ = { isa = PBXNativeTarget; buildConfigurationList = 846490322B0067D900418B05 /* Build configuration list for PBXNativeTarget "OpenvisionOS" */; buildPhases = ( 846490122B0067D500418B05 /* Sources */, 846490132B0067D500418B05 /* Frameworks */, 846490142B0067D500418B05 /* Resources */, ); buildRules = ( ); dependencies = ( ); name = OpenvisionOS; packageProductDependencies = ( 8464901B2B0067D500418B05 /* RealityKitContent */, ); productName = OpenvisionOS; productReference = 846490162B0067D500418B05 /* OpenvisionOS.app */; productType = "com.apple.product-type.application"; }; 846490292B0067D900418B05 /* OpenvisionOSTests */ = { isa = PBXNativeTarget; buildConfigurationList = 846490352B0067D900418B05 /* Build configuration list for PBXNativeTarget "OpenvisionOSTests" */; buildPhases = ( 846490262B0067D900418B05 /* Sources */, 846490272B0067D900418B05 /* Frameworks */, 846490282B0067D900418B05 /* Resources */, ); buildRules = ( ); dependencies = ( 8464902C2B0067D900418B05 /* PBXTargetDependency */, ); name = OpenvisionOSTests; productName = OpenvisionOSTests; productReference = 8464902A2B0067D900418B05 /* OpenvisionOSTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ 8464900E2B0067D500418B05 /* Project object */ = { isa = PBXProject; attributes = { BuildIndependentTargetsInParallel = 1; LastSwiftUpdateCheck = 1500; LastUpgradeCheck = 1500; TargetAttributes = { 846490152B0067D500418B05 = { CreatedOnToolsVersion = 15.0; }; 846490292B0067D900418B05 = { CreatedOnToolsVersion = 15.0; TestTargetID = 846490152B0067D500418B05; }; }; }; buildConfigurationList = 846490112B0067D500418B05 /* Build configuration list for PBXProject "OpenvisionOS" */; compatibilityVersion = "Xcode 14.0"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( en, Base, ); mainGroup = 8464900D2B0067D500418B05; productRefGroup = 846490172B0067D500418B05 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( 846490152B0067D500418B05 /* OpenvisionOS */, 846490292B0067D900418B05 /* OpenvisionOSTests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ 846490142B0067D500418B05 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( 846490392B00680800418B05 /* Airpods_Max.usdz in Resources */, 8464903B2B006E3D00418B05 /* kulaklıksketchfab.usdz in Resources */, 8466836C2B4833A1005E2879 /* Flower-Port.usdz in Resources */, 846490252B0067D900418B05 /* Preview Assets.xcassets in Resources */, 846490222B0067D900418B05 /* Assets.xcassets in Resources */, 8466836F2B4833BA005E2879 /* BgSparcle.usdz in Resources */, 8464903D2B006E4900418B05 /* Airpods_Max_Pink.usdz in Resources */, 846683722B4833C4005E2879 /* pointSparkle.usdz in Resources */, 84BD2A2B2B4291F9004E72EC /* newYear.usdz in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; 846490282B0067D900418B05 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( 846683702B4833BA005E2879 /* BgSparcle.usdz in Resources */, 846683732B4833C4005E2879 /* pointSparkle.usdz in Resources */, 84BD2A2C2B4291F9004E72EC /* newYear.usdz in Resources */, 8466836D2B4833A1005E2879 /* Flower-Port.usdz in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ 846490122B0067D500418B05 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 846490202B0067D500418B05 /* AirPodsMaxAnimation.swift in Sources */, 84BD2A292B429191004E72EC /* NewYearFireworksTwentyFour.swift in Sources */, 8464901E2B0067D500418B05 /* OpenvisionOSApp.swift in Sources */, 846683642B482421005E2879 /* FlowerPotView.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; 846490262B0067D900418B05 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 845B542D2B49112600084428 /* NewYearFireworksTwentyFour.swift in Sources */, 8464902F2B0067D900418B05 /* OpenvisionOSTests.swift in Sources */, 845B542F2B49117200084428 /* FlowerPotView.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ 8464902C2B0067D900418B05 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 846490152B0067D500418B05 /* OpenvisionOS */; targetProxy = 8464902B2B0067D900418B05 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ 846490302B0067D900418B05 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu17; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", "$(inherited)", ); GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNDECLARED_SELECTOR = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; LOCALIZATION_PREFERS_STRING_CATALOGS = YES; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = xros; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; XROS_DEPLOYMENT_TARGET = 1.0; }; name = Debug; }; 846490312B0067D900418B05 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu17; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNDECLARED_SELECTOR = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; LOCALIZATION_PREFERS_STRING_CATALOGS = YES; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; SDKROOT = xros; SWIFT_COMPILATION_MODE = wholemodule; VALIDATE_PRODUCT = YES; XROS_DEPLOYMENT_TARGET = 1.0; }; name = Release; }; 846490332B0067D900418B05 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_ASSET_PATHS = "\"OpenvisionOS/Preview Content\""; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); MARKETING_VERSION = 1.0; PRODUCT_BUNDLE_IDENTIFIER = com.amosgyamfi.OpenvisionOS; PRODUCT_NAME = "$(TARGET_NAME)"; SUPPORTED_PLATFORMS = "xros xrsimulator"; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2,7"; }; name = Debug; }; 846490342B0067D900418B05 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_ASSET_PATHS = "\"OpenvisionOS/Preview Content\""; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); MARKETING_VERSION = 1.0; PRODUCT_BUNDLE_IDENTIFIER = com.amosgyamfi.OpenvisionOS; PRODUCT_NAME = "$(TARGET_NAME)"; SUPPORTED_PLATFORMS = "xros xrsimulator"; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2,7"; }; name = Release; }; 846490362B0067D900418B05 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; GENERATE_INFOPLIST_FILE = YES; MARKETING_VERSION = 1.0; PRODUCT_BUNDLE_IDENTIFIER = com.amosgyamfi.OpenvisionOSTests; PRODUCT_NAME = "$(TARGET_NAME)"; SUPPORTED_PLATFORMS = "xros xrsimulator"; SWIFT_EMIT_LOC_STRINGS = NO; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2,7"; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/OpenvisionOS.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/OpenvisionOS"; XROS_DEPLOYMENT_TARGET = 1.0; }; name = Debug; }; 846490372B0067D900418B05 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; GENERATE_INFOPLIST_FILE = YES; MARKETING_VERSION = 1.0; PRODUCT_BUNDLE_IDENTIFIER = com.amosgyamfi.OpenvisionOSTests; PRODUCT_NAME = "$(TARGET_NAME)"; SUPPORTED_PLATFORMS = "xros xrsimulator"; SWIFT_EMIT_LOC_STRINGS = NO; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2,7"; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/OpenvisionOS.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/OpenvisionOS"; XROS_DEPLOYMENT_TARGET = 1.0; }; name = Release; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ 846490112B0067D500418B05 /* Build configuration list for PBXProject "OpenvisionOS" */ = { isa = XCConfigurationList; buildConfigurations = ( 846490302B0067D900418B05 /* Debug */, 846490312B0067D900418B05 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; 846490322B0067D900418B05 /* Build configuration list for PBXNativeTarget "OpenvisionOS" */ = { isa = XCConfigurationList; buildConfigurations = ( 846490332B0067D900418B05 /* Debug */, 846490342B0067D900418B05 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; 846490352B0067D900418B05 /* Build configuration list for PBXNativeTarget "OpenvisionOSTests" */ = { isa = XCConfigurationList; buildConfigurations = ( 846490362B0067D900418B05 /* Debug */, 846490372B0067D900418B05 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ /* Begin XCSwiftPackageProductDependency section */ 8464901B2B0067D500418B05 /* RealityKitContent */ = { isa = XCSwiftPackageProductDependency; productName = RealityKitContent; }; /* End XCSwiftPackageProductDependency section */ }; rootObject = 8464900E2B0067D500418B05 /* Project object */; } ================================================ FILE: OpenvisionOS.xcodeproj/project.xcworkspace/contents.xcworkspacedata ================================================ ================================================ FILE: OpenvisionOS.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist ================================================ IDEDidComputeMac32BitWarning ================================================ FILE: OpenvisionOS.xcodeproj/xcuserdata/amosgyamfi.xcuserdatad/xcschemes/xcschememanagement.plist ================================================ SchemeUserState OpenvisionOS.xcscheme_^#shared#^_ orderHint 0 ================================================ FILE: OpenvisionOSTests/OpenvisionOSTests.swift ================================================ // // OpenvisionOSTests.swift // OpenvisionOSTests // // Created by Amos Gyamfi on 12.11.2023. // import XCTest @testable import OpenvisionOS class OpenvisionOSTests: XCTestCase { override func setUpWithError() throws { // Put setup code here. This method is called before the invocation of each test method in the class. } override func tearDownWithError() throws { // Put teardown code here. This method is called after the invocation of each test method in the class. } func testExample() throws { // This is an example of a functional test case. // Use XCTAssert and related functions to verify your tests produce the correct results. // Any test you write for XCTest can be annotated as throws and async. // Mark your test throws to produce an unexpected failure when your test encounters an uncaught error. // Mark your test async to allow awaiting for asynchronous code to complete. Check the results with assertions afterwards. } func testPerformanceExample() throws { // This is an example of a performance test case. self.measure { // Put the code you want to measure the time of here. } } } ================================================ FILE: Packages/RealityKitContent/.swiftpm/xcode/xcuserdata/amosgyamfi.xcuserdatad/xcschemes/xcschememanagement.plist ================================================ SchemeUserState RealityKitContent.xcscheme_^#shared#^_ orderHint 1 ================================================ FILE: Packages/RealityKitContent/Package.realitycomposerpro/ProjectData/main.json ================================================ { "pathsToIds" : { "\/RealityKitContent\/Sources\/RealityKitContent\/RealityKitContent.rkassets\/GridMaterial.usda" : "440DE5B4-E4E4-459B-AABF-9ACE96319272", "\/RealityKitContent\/Sources\/RealityKitContent\/RealityKitContent.rkassets\/procedural_sphere_grid.usda" : "34C460AE-CA1B-4348-BD05-621ACBDFFE97", "\/RealityKitContent\/Sources\/RealityKitContent\/RealityKitContent.rkassets\/Scene.usda" : "0A9B4653-B11E-4D6A-850E-C6FCB621626C", "\/RealityKitContent\/Sources\/RealityKitContent\/RealityKitContent.rkassets\/Untitled Scene.usda" : "03E02005-EFA6-48D6-8A76-05B2822A74E9", "RealityKitContent\/Sources\/RealityKitContent\/RealityKitContent.rkassets\/_GridMaterial.usda" : "01A389CE-549D-43D4-8082-422095AD9977", "RealityKitContent\/Sources\/RealityKitContent\/RealityKitContent.rkassets\/_PlainMaterial.usda" : "71393687-2933-4D8A-AC10-8E59942BADC1", "RealityKitContent\/Sources\/RealityKitContent\/RealityKitContent.rkassets\/GridMaterial.usda" : "FBD8436F-6B8B-4B82-99B5-995D538B4704", "RealityKitContent\/Sources\/RealityKitContent\/RealityKitContent.rkassets\/procedural_sphere_grid.usda" : "1CBF3893-ABFD-408C-8B91-045BFD257808", "RealityKitContent\/Sources\/RealityKitContent\/RealityKitContent.rkassets\/Scene.usda" : "26DBAE76-5DD8-47B6-A085-1B4ADA111097", "RealityKitContent\/Sources\/RealityKitContent\/RealityKitContent.rkassets\/Untitled Scene.usda" : "7EF42796-68EE-4330-954D-0853FBBEB57C" } } ================================================ FILE: Packages/RealityKitContent/Package.realitycomposerpro/WorkspaceData/SceneMetadataList.json ================================================ { "0A9B4653-B11E-4D6A-850E-C6FCB621626C" : { "objectMetadataList" : [ [ "0A9B4653-B11E-4D6A-850E-C6FCB621626C", "Root" ], { "isExpanded" : true, "isLocked" : false }, [ "0A9B4653-B11E-4D6A-850E-C6FCB621626C", "Root", "Sphere" ], { "isExpanded" : true, "isLocked" : false }, [ "0A9B4653-B11E-4D6A-850E-C6FCB621626C", "Root", "GridMaterial" ], { "isExpanded" : true, "isLocked" : false } ] }, "01A389CE-549D-43D4-8082-422095AD9977" : { "objectMetadataList" : [ [ "01A389CE-549D-43D4-8082-422095AD9977", "Root", "GridMaterial" ], { "isExpanded" : true, "isLocked" : false }, [ "01A389CE-549D-43D4-8082-422095AD9977", "Root" ], { "isExpanded" : true, "isLocked" : false } ] }, "1CBF3893-ABFD-408C-8B91-045BFD257808" : { "objectMetadataList" : [ ] }, "03E02005-EFA6-48D6-8A76-05B2822A74E9" : { "objectMetadataList" : [ ] }, "7EF42796-68EE-4330-954D-0853FBBEB57C" : { "objectMetadataList" : [ ] }, "26DBAE76-5DD8-47B6-A085-1B4ADA111097" : { "objectMetadataList" : [ [ "26DBAE76-5DD8-47B6-A085-1B4ADA111097", "Root" ], { "isExpanded" : true, "isLocked" : false } ] }, "34C460AE-CA1B-4348-BD05-621ACBDFFE97" : { "objectMetadataList" : [ ] }, "440DE5B4-E4E4-459B-AABF-9ACE96319272" : { "objectMetadataList" : [ [ "440DE5B4-E4E4-459B-AABF-9ACE96319272", "Root" ], { "isExpanded" : true, "isLocked" : false } ] }, "71393687-2933-4D8A-AC10-8E59942BADC1" : { "objectMetadataList" : [ [ "71393687-2933-4D8A-AC10-8E59942BADC1", "Root" ], { "isExpanded" : true, "isLocked" : false } ] }, "FBD8436F-6B8B-4B82-99B5-995D538B4704" : { "objectMetadataList" : [ [ "FBD8436F-6B8B-4B82-99B5-995D538B4704", "Root" ], { "isExpanded" : true, "isLocked" : false } ] } } ================================================ FILE: Packages/RealityKitContent/Package.realitycomposerpro/WorkspaceData/Settings.rcprojectdata ================================================ { "cameraPresets" : { }, "secondaryToolbarData" : { "isGridVisible" : true, "sceneReverbPreset" : -1 }, "unitDefaults" : { "°" : "°", "kg" : "g", "m" : "cm", "m\/s" : "m\/s", "m\/s²" : "m\/s²", "s" : "s" } } ================================================ FILE: Packages/RealityKitContent/Package.realitycomposerpro/WorkspaceData/amosgyamfi.rcuserdata ================================================ { "advancedEditorSelectedIdentifier" : "ProjectBrowser", "openSceneRelativePaths" : [ "Scene.usda" ], "recentIdentifiers" : { }, "sceneCameraHistory" : { "26DBAE76-5DD8-47B6-A085-1B4ADA111097" : [ { "date" : 725954100.433521, "title" : "Untitled", "transform" : [ 1, 0, -0, 0, -0, 0.8660254, -0.5, 0, 0, 0.5, 0.8660254, 0, 0, 0.17979166, 0.3116083, 1 ] } ] } } ================================================ FILE: Packages/RealityKitContent/Package.swift ================================================ // swift-tools-version:5.9 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription let package = Package( name: "RealityKitContent", products: [ // Products define the executables and libraries a package produces, and make them visible to other packages. .library( name: "RealityKitContent", targets: ["RealityKitContent"]), ], dependencies: [ // Dependencies declare other packages that this package depends on. // .package(url: /* package url */, from: "1.0.0"), ], targets: [ // Targets are the basic building blocks of a package. A target can define a module or a test suite. // Targets can depend on other targets in this package, and on products in packages this package depends on. .target( name: "RealityKitContent", dependencies: []), ] ) ================================================ FILE: Packages/RealityKitContent/README.md ================================================ # RealityKitContent A description of this package. ================================================ FILE: Packages/RealityKitContent/Sources/RealityKitContent/RealityKitContent.rkassets/Scene.usda ================================================ #usda 1.0 ( defaultPrim = "Root" metersPerUnit = 1 upAxis = "Y" ) def Xform "Root" { reorder nameChildren = ["Sphere", "_GridMaterial", "_PlainMaterial"] rel material:binding = None ( bindMaterialAs = "weakerThanDescendants" ) def Sphere "Sphere" ( active = true prepend apiSchemas = ["MaterialBindingAPI"] ) { rel material:binding = ( bindMaterialAs = "weakerThanDescendants" ) double radius = 0.05 quatf xformOp:orient = (1, 0, 0, 0) float3 xformOp:scale = (1, 1, 1) float3 xformOp:translate = (0, 0, 0.0004) uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"] def RealityKitComponent "Collider" { uint group = 1 uniform token info:id = "RealityKit.Collider" uint mask = 4294967295 token type = "Default" def RealityKitStruct "Shape" { float3 extent = (0.1, 0.1, 0.1) float height = 0.1 float radius = 0.05 token shapeType = "Sphere" } } def RealityKitComponent "InputTarget" { uniform token info:id = "RealityKit.InputTarget" } def RealityKitComponent "VFXEmitter" { uniform token info:id = "RealityKit.VFXEmitter" def RealityKitStruct "currentState" { token birthDirection = "Normal" token birthLocation = "Surface" float3 emissionDirection = (0, 0, 0) double emissionDuration = 1 double emissionDurationVariation = 0 token emitterShape = "Sphere" double idleDuration = 0 double idleDurationVariation = 0 bool isLocal = 0 bool isSpawningEnabled = 1 bool loops = 1 float particleSpeed = 0.06 float particleSpeedVariation = 0.04 float3 shapeSize = (0.05, 0.05, 0.05) bool spawnInheritParentColor = 1 token spawnOccasion = "OnUpdate" float spawnSpreadFactor = 0 float spawnSpreadFactorVariation = 0 float spawnVelocityFactor = 1 double warmupDuration = 1.5 def RealityKitStruct "mainEmitter" { float3 acceleration = (0, 0, 0) token animationRepeatMode = "Looping" token billboardMode = "Billboard" float birthRate = 40 float birthRateVariation = 0 token blendMode = "Additive" float colorEvolutionPower = 1 int64 columnCount = 4 float dampingFactor = 0.25 float4 endColorA = (1, 0.051991113, 1, 1) float4 endColorB = (0, 0.98059916, 1, 1) float frameRate = 30 float frameRateVariation = 0 int64 initialFrame = 0 int64 initialFrameVariation = 2 bool isAnimated = 1 bool isLightingEnabled = 0 float noiseAnimationSpeed = 1 float noiseScale = 1 float noiseStrength = 0.1 token opacityOverLife = "GradualFadeInOut" float particleAngle = 0 float particleAngleVariation = 0.5 float particleAngularVelocity = 0.25 float particleAngularVelocityVariation = 0.5 asset particleImage = @ParticleEmitterPresetTextures/twinkle.exr@ double particleLifeSpan = 1 double particleLifeSpanVariation = 0.2 float particleMass = 1 float particleMassVariation = 0.2 float particleSize = 0.05 float particleSizeVariation = 0.004 float3 radialGravityCenter = (1, 1, 0) float radialGravityStrength = 0 int64 rowCount = 4 float sizeMultiplierAtEndOfLifespan = 0.35 float sizeMultiplierAtEndOfLifespanPower = 3 token sortOrder = "IncreasingDepth" float spreadingAngle = 0 float4 startColorA = (1, 0.051991113, 1, 1) float4 startColorB = (0.9986965, 0.9674097, 0, 1) float stretchFactor = 0 bool useEndColor = 1 bool useEndColorRange = 1 bool useStartColorRange = 1 float3 vortexDirection = (0, 1, 0) float vortexStrength = 0 } def RealityKitStruct "spawnedEmitter" { float3 acceleration = (0, -0.04, 0) token animationRepeatMode = "AutoReverse" token billboardMode = "Billboard" float birthRate = 25 float birthRateVariation = 0 token blendMode = "Additive" float colorEvolutionPower = 0 int64 columnCount = 4 float dampingFactor = 3 float4 endColorA = (0, 0.98059916, 1, 1) float4 endColorB = (1, 0.051991113, 1, 1) float frameRate = 24 float frameRateVariation = 0 int64 initialFrame = 2 int64 initialFrameVariation = 4 bool isAnimated = 1 bool isLightingEnabled = 0 float noiseAnimationSpeed = 0.25 float noiseScale = 1 float noiseStrength = 0.1 token opacityOverLife = "GradualFadeInOut" float particleAngle = 0.745 float particleAngleVariation = 0.25 float particleAngularVelocity = 0.25 float particleAngularVelocityVariation = 0 asset particleImage = @ParticleEmitterPresetTextures/twinkle.exr@ double particleLifeSpan = 0.75 double particleLifeSpanVariation = 0.25 float particleMass = 1 float particleMassVariation = 2 float particleSize = 0.02 float particleSizeVariation = 0.004 float3 radialGravityCenter = (0, 0, 0) float radialGravityStrength = 0 int64 rowCount = 4 float sizeMultiplierAtEndOfLifespan = 0 float sizeMultiplierAtEndOfLifespanPower = 1 token sortOrder = "IncreasingID" float spreadingAngle = 0 float4 startColorA = (1, 0.051991113, 1, 0.04) float4 startColorB = (0, 0.98059916, 1, 0.04) float stretchFactor = 0 bool useEndColor = 0 bool useEndColorRange = 1 bool useStartColorRange = 1 float3 vortexDirection = (0, 1, 0) float vortexStrength = 0 } } } } def "_PlainMaterial" ( active = true prepend references = @_PlainMaterial.usda@ ) { float3 xformOp:scale = (1, 1, 1) uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"] } } ================================================ FILE: Packages/RealityKitContent/Sources/RealityKitContent/RealityKitContent.rkassets/_PlainMaterial.usda ================================================ #usda 1.0 ( defaultPrim = "Root" metersPerUnit = 1 upAxis = "Y" ) def Xform "Root" { def Material "PlainMaterial" { token outputs:mtlx:surface token outputs:realitykit:vertex prepend token outputs:surface.connect = float2 ui:nodegraph:realitykit:subgraphOutputs:pos = (358.25, 99.5) float2 ui:nodegraph:realitykit:subgraphOutputs:size = (181.5, 99) def Shader "MaterialXPreviewSurface" { uniform token info:id = "ND_UsdPreviewSurface_surfaceshader" token outputs:out float2 ui:nodegraph:node:pos = (103.75, 99.5) float2 ui:nodegraph:node:size = (207.5, 199) } def Shader "UsdPreviewSurface" { uniform token info:id = "UsdPreviewSurface" color3f inputs:diffuseColor = (0.89737034, 0.89737034, 0.89737034) ( colorSpace = "Input - Texture - sRGB - sRGB" ) float inputs:metallic = 0.15 float inputs:roughness = 0.5 token outputs:surface } } } ================================================ FILE: Packages/RealityKitContent/Sources/RealityKitContent/RealityKitContent.swift ================================================ import Foundation /// Bundle for the RealityKitContent project public let realityKitContentBundle = Bundle.module ================================================ FILE: README.md ================================================ # Open visionOS: Animations and UI Designs ## visionOS animations and UI designs built with SwiftUI. Check out the [Xcode project](https://github.com/amosgyamfi/OpenvisionOS/tree/main/OpenvisionOS) for specific SwiftUI animations and designs ### Hello lettering animation ![Hello lettering animation](Img/AppleHelloLetteringAnimation.gif) --- ### Vision Pro 3D rotation ![Vision Pro 3D rotation](Img/3dObjectsInvisionOS.gif) --- ### Freeform drawing with PencilKit ![PencilKit drawing](Img/visionDrawFinal.gif) --- ### 3D rotation animation: Using Model3D, .rotation3DEffect, and .phaseAnimator ![3D rotation animation](https://github.com/amosgyamfi/OpenvisionOS/blob/main/Img/Model3DandRotation.gif) --- ### Fireworks created with Reality Composer Pro ![Fireworks ](Img/visionOSFireworks.gif) --- ### visionSpaces/Audio Room ![visionSpaces/Audio Room](Img/visionSpaces.gif) --- ### SwiftUI and visionOS Livetreaming animation ![SwiftUI and visionOS Livetreaming animation](Img/livestream2.gif) --- ### Animate bubbles with Phase Animator ![Phase Animator](Img/phaseAnimator.gif) ---