From 0f845a8851c9f025b7cfb37aa62aa7a5f7251655 Mon Sep 17 00:00:00 2001 From: Justin Bush Date: Wed, 17 Apr 2024 11:37:06 -0600 Subject: [PATCH] import: base project --- .../SwiftDataDemo.xcodeproj/project.pbxproj | 352 +++++++++++++++++ .../contents.xcworkspacedata | 0 .../xcshareddata/IDEWorkspaceChecks.plist | 0 .../AccentColor.colorset/Contents.json | 0 .../AppIcon.appiconset/Contents.json | 58 +++ .../Assets.xcassets/Contents.json | 0 SwiftDataDemo/SwiftDataDemo/ContentView.swift | 59 +++ SwiftDataDemo/SwiftDataDemo/Item.swift | 18 + .../Preview Assets.xcassets}/Contents.json | 0 .../SwiftDataDemo/SwiftDataDemo.entitlements | 0 .../SwiftDataDemo/SwiftDataDemoApp.swift | 118 ++++++ .../SwiftDiffusion.xcodeproj/project.pbxproj | 368 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../SwiftDiffusion/AppConfig/AppConfig.swift | 17 + .../AppConfig/FileStructure.swift | 54 +++ .../AccentColor.colorset/Contents.json | 11 + .../AppIcon.appiconset/Contents.json | 58 +++ .../Assets.xcassets}/Contents.json | 0 .../SwiftDiffusion/ContentView.swift | 59 +++ SwiftDiffusion/SwiftDiffusion/Item.swift | 18 + .../Preview Assets.xcassets/Contents.json | 0 .../SwiftDiffusion.entitlements | 10 + .../SwiftDiffusion/SwiftDiffusionApp.swift | 38 ++ .../SwiftDiffusion.xcodeproj}/project.pbxproj | 0 .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/swiftpm/Package.resolved | 0 .../App/AppStructure/App+Setup.swift | 0 .../App/AppStructure/AppDirectory.swift | 0 .../App/AppStructure/AppDocuments.swift | 0 .../App/AppStructure/AppFileStructure.swift | 0 .../SwiftDiffusion}/App/Constants.swift | 0 .../SwiftDiffusion}/App/Debug.swift | 0 .../SwiftDiffusion}/App/KeyCodes.swift | 0 .../AccentColor.colorset/Contents.json | 11 + .../AppIcon.appiconset/Contents.json | 0 .../AppIcon.appiconset/icon_128x128.png | Bin .../AppIcon.appiconset/icon_128x128@2x.png | Bin .../AppIcon.appiconset/icon_16x16.png | Bin .../AppIcon.appiconset/icon_16x16@2x.png | Bin .../AppIcon.appiconset/icon_256x256.png | Bin .../AppIcon.appiconset/icon_256x256@2x.png | Bin .../AppIcon.appiconset/icon_32x32.png | Bin .../AppIcon.appiconset/icon_32x32@2x.png | Bin .../AppIcon.appiconset/icon_512x512.png | Bin .../AppIcon.appiconset/icon_512x512@2x.png | Bin .../Assets.xcassets/Contents.json | 6 + .../Logo.imageset/Contents.json | 0 .../Logo.imageset/SwiftDiffusionLogo.png | Bin .../Assets.xcassets/PreviewData/Contents.json | 6 + .../PreviewData/ImageData/Contents.json | 6 + .../ImageData/boat-preview.imageset/16.jpeg | Bin .../boat-preview.imageset/Contents.json | 0 .../ImageData/boat-thumbnail.imageset/16.jpeg | Bin .../boat-thumbnail.imageset/Contents.json | 0 .../ImageData/jelly-preview.imageset/3.jpeg | Bin .../jelly-preview.imageset/Contents.json | 0 .../ImageData/jelly-thumbnail.imageset/3.jpeg | Bin .../jelly-thumbnail.imageset/Contents.json | 0 .../ImageData/pastel-preview.imageset/4.jpeg | Bin .../pastel-preview.imageset/Contents.json | 0 .../pastel-thumbnail.imageset/4.jpeg | Bin .../pastel-thumbnail.imageset/Contents.json | 0 .../SwiftDiffusion}/Info.plist | 0 .../Managers/CheckpointsApiManager.swift | 0 .../Managers/CheckpointsManager.swift | 0 .../Models/CheckpointApiModel.swift | 0 .../Checkpoints/Models/CheckpointModel.swift | 0 .../Models/CheckpointModelPreferences.swift | 0 .../Checkpoints/Views/DebugApiView.swift | 0 .../Generic/ModelManager.swift | 0 .../Generic/Models/LoraModel.swift | 0 .../Generic/Models/VaeModel.swift | 0 .../Models/SidebarModels/ImageInfo.swift | 0 .../Models/SidebarModels/SidebarFolder.swift | 0 .../Models/SidebarModels/SidebarItem.swift | 0 .../Models/StoredModels/MapModelData.swift | 0 .../StoredCheckpointApiModel.swift | 0 .../StoredModels/StoredCheckpointModel.swift | 0 .../StoredModels/StoredPromptModel.swift | 0 .../Models/StoredModels/StoredVaeModel.swift | 0 .../Observers/DirectoryObserver.swift | 0 .../Observers/ScriptManagerObserver.swift | 0 .../Preview Assets.xcassets/Contents.json | 6 + .../PythonProcess/PythonProcess.swift | 0 .../ScriptManager+PythonProcess.swift | 0 .../ScriptManager+TerminateAll.swift | 0 .../ScriptManager+ServiceAvailability.swift | 0 .../ScriptManager/GenerationStatus.swift | 0 .../ScriptManager/ModelLoadState.swift | 0 .../ScriptManager/ScriptManager.swift | 1 + .../ScriptManager/ScriptSetupHelper.swift | 0 .../ScriptManager/ScriptState.swift | 0 .../ScriptManager/StateDebugInfo.swift | 0 .../AutomaticApiService.swift | 0 .../AutomaticServices/Txt2ImgService.swift | 0 .../Services/FilePickerService.swift | 0 .../PastableService/ParseCivitai.swift | 0 .../PastableService/PastableService.swift | 0 .../PasteGenerationDataButton.swift | 0 .../SwiftDiffusion.entitlements | 10 + .../SwiftDiffusion}/SwiftDiffusionApp.swift | 0 .../SwiftDiffusionAppDelegate.swift | 0 .../Utilities/AppRelauncherUtility.swift | 0 .../Utilities/CopyPasteUtility.swift | 0 .../SwiftDiffusion}/Utilities/Delay.swift | 0 .../Utilities/FileUtility.swift | 0 .../ImageSaver/ImageSaver+Composite.swift | 0 .../Utilities/ImageSaver/ImageSaver.swift | 0 .../Utilities/NotificationUtility.swift | 0 .../Utilities/SoundUtility.swift | 0 .../Utilities/URLParserUtility.swift | 0 .../Views/CommonPreviews/CommonPreviews.swift | 0 .../MockSidebarItemCreator.swift | 0 .../View+EnvironmentPreviews.swift | 0 .../DeveloperToolbarItems.swift | 0 .../DeveloperItems/SegmentedViewPicker.swift | 0 .../ContentToolbar/ToolbarProgressView.swift | 0 .../ContentToolbar/WindowHeader.swift | 0 .../ContentView/ContentView+Generate.swift | 0 .../MainViews/ContentView/ContentView.swift | 0 .../CustomViews/BackgroundButtonStyles.swift | 0 .../ContentView/CustomViews/BlueButton.swift | 0 .../CustomViews/ContentProgressBar.swift | 0 .../MainViews/DetailView/DetailView.swift | 0 .../Extensions/NSImageExtensions.swift | 0 .../FileHierarchy/FileHierarchy+Control.swift | 0 .../FileHierarchy/FileHierarchy.swift | 0 .../DetailView/FileHierarchy/FileNode.swift | 0 .../DetailView/FileOutlineView.swift | 0 .../DetailView/FileRow/FileRowView.swift | 0 .../DetailView/FileRow/ThumbnailLoader.swift | 0 .../FullscreenImage/FullscreenImageView.swift | 0 .../FullscreenImage/ImageWindowManager.swift | 0 .../DetailView/Views/DetailImageView.swift | 0 .../Views/DetailToolbarSymbolButton.swift | 0 .../MainViews/DetailView/Views/Dividers.swift | 0 .../DetailView/Views/ShareButton.swift | 0 .../DebugPromptViews/ApiCheckpointRow.swift | 0 .../DebugPromptActionView.swift | 0 .../DebugPromptStatusView.swift | 0 .../PasteGenerationDataStatusBar.swift | 0 .../PromptBars/PromptBarButton.swift | 0 .../PromptBars/PromptControlBar.swift | 0 .../PromptMenus/CheckpointMenu.swift | 0 .../Components/ExpandableSectionHeader.swift | 0 .../PromptMenus/SamplingMethodMenu.swift | 0 .../PromptView/PromptMenus/VaeModelMenu.swift | 0 .../MainViews/PromptView/PromptModel.swift | 0 .../PromptView/PromptRows/PromptRows.swift | 0 .../PromptView/PromptRows/SeedRows.swift | 0 .../PromptTextEditor/PromptEditorView.swift | 0 .../MainViews/PromptView/PromptView.swift | 0 .../DisplayOptionsBar/DisplayOptionsBar.swift | 0 .../DisplayOptionsBar/HoverToggleButton.swift | 0 .../SegmentedDisplayOptions.swift | 0 .../Components/FilterSortingSection.swift | 0 .../Sidebar/Components/VisualEffectView.swift | 0 .../CachedPreviewImageView.swift | 0 .../CachedThumbnailImageView.swift | 0 .../PreviewImageProcessing/ImageCache.swift | 0 .../NSImage+Extensions.swift | 0 .../PreviewImageProcessingManager.swift | 0 .../Views/MainViews/Sidebar/Sidebar.swift | 0 .../SidebarExtensions/Sidebar+Move.swift | 0 .../SidebarExtensions/Sidebar+Preload.swift | 0 .../DropHandlerModifier.swift | 0 .../FolderTitleControl.swift | 0 .../ParentFolderListItem.swift | 0 .../SidebarFolderView/SidebarFolderItem.swift | 0 .../SidebarFolderView/SidebarFolderView.swift | 0 .../SidebarFolderView/SidebarItemView.swift | 0 .../SidebarStoredItemView.swift | 0 .../SidebarModel/SidebarModel+Clean.swift | 0 .../SidebarModel/SidebarModel+Copy.swift | 0 .../SidebarModel/SidebarModel+Create.swift | 0 .../SidebarModel/SidebarModel+Delete.swift | 0 .../SidebarModel/SidebarModel+Move.swift | 0 .../SidebarModel/SidebarModel+Queue.swift | 0 .../SidebarModel/SidebarModel+Save.swift | 0 .../Sidebar/SidebarModel/SidebarModel.swift | 0 .../WorkspaceFolderView.swift | 0 .../WorkspaceItemView.swift | 0 .../Custom/CustomViews/HalfMaxWidthView.swift | 0 .../CustomViews/VisualEffectBlurView.swift | 0 .../Custom/ToolbarViews/ToolbarButton.swift | 0 .../OtherViews/DebugViews/ConsoleView.swift | 0 .../Views/Symbols/SFSymbol+SwiftUI.swift | 0 .../Views/Symbols/SFSymbol.swift | 0 .../Views/Symbols/SymbolButtons.swift | 0 .../BetaOnboardingView.swift | 0 .../CheckpointManagerView.swift | 0 .../CheckpointPreferencesView.swift | 0 .../RequiredInputPathsPulsatingButton.swift | 0 .../RequiredInputPathsView.swift | 0 .../CustomViews/BrowseFileRow.swift | 0 .../CustomViews/SettingsSectionHeader.swift | 0 .../CustomViews/ToggleWithHeader.swift | 0 .../CustomViews/ToolbarTabButtonStyle.swift | 0 .../SettingsSections/DeveloperSection.swift | 0 .../SettingsSections/EngineSection.swift | 0 .../SettingsSections/FilesSection.swift | 0 .../SettingsSections/GeneralSection.swift | 0 .../SettingsSections/PromptSection.swift | 0 .../SettingsView/SettingsTab.swift | 0 .../SettingsView/SettingsView.swift | 0 .../SettingsView/UserSettings+URLs.swift | 0 .../SettingsView/UserSettings.swift | 0 .../UpdateView/GitHubReleaseFetcher.swift | 0 .../UpdateView/UpdateManager.swift | 0 .../WindowViews/UpdateView/UpdateView.swift | 0 .../UpdateView/UpdateViewState.swift | 0 .../SwiftDiffusion}/WindowManager.swift | 0 214 files changed, 1314 insertions(+) create mode 100644 SwiftDataDemo/SwiftDataDemo.xcodeproj/project.pbxproj rename {SwiftDiffusion.xcodeproj => SwiftDataDemo/SwiftDataDemo.xcodeproj}/project.xcworkspace/contents.xcworkspacedata (100%) rename {SwiftDiffusion.xcodeproj => SwiftDataDemo/SwiftDataDemo.xcodeproj}/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist (100%) rename {SwiftDiffusion => SwiftDataDemo/SwiftDataDemo}/Assets.xcassets/AccentColor.colorset/Contents.json (100%) create mode 100644 SwiftDataDemo/SwiftDataDemo/Assets.xcassets/AppIcon.appiconset/Contents.json rename {SwiftDiffusion => SwiftDataDemo/SwiftDataDemo}/Assets.xcassets/Contents.json (100%) create mode 100644 SwiftDataDemo/SwiftDataDemo/ContentView.swift create mode 100644 SwiftDataDemo/SwiftDataDemo/Item.swift rename {SwiftDiffusion/Assets.xcassets/PreviewData => SwiftDataDemo/SwiftDataDemo/Preview Content/Preview Assets.xcassets}/Contents.json (100%) rename SwiftDiffusion/SwiftDiffusion.entitlements => SwiftDataDemo/SwiftDataDemo/SwiftDataDemo.entitlements (100%) create mode 100644 SwiftDataDemo/SwiftDataDemo/SwiftDataDemoApp.swift create mode 100644 SwiftDiffusion/SwiftDiffusion.xcodeproj/project.pbxproj create mode 100644 SwiftDiffusion/SwiftDiffusion.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 SwiftDiffusion/SwiftDiffusion.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 SwiftDiffusion/SwiftDiffusion/AppConfig/AppConfig.swift create mode 100644 SwiftDiffusion/SwiftDiffusion/AppConfig/FileStructure.swift create mode 100644 SwiftDiffusion/SwiftDiffusion/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 SwiftDiffusion/SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/Contents.json rename SwiftDiffusion/{Assets.xcassets/PreviewData/ImageData => SwiftDiffusion/Assets.xcassets}/Contents.json (100%) create mode 100644 SwiftDiffusion/SwiftDiffusion/ContentView.swift create mode 100644 SwiftDiffusion/SwiftDiffusion/Item.swift rename SwiftDiffusion/{ => SwiftDiffusion}/Preview Content/Preview Assets.xcassets/Contents.json (100%) create mode 100644 SwiftDiffusion/SwiftDiffusion/SwiftDiffusion.entitlements create mode 100644 SwiftDiffusion/SwiftDiffusion/SwiftDiffusionApp.swift rename {SwiftDiffusion.xcodeproj => v0.2/SwiftDiffusion.xcodeproj}/project.pbxproj (100%) create mode 100644 v0.2/SwiftDiffusion.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 v0.2/SwiftDiffusion.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename {SwiftDiffusion.xcodeproj => v0.2/SwiftDiffusion.xcodeproj}/project.xcworkspace/xcshareddata/swiftpm/Package.resolved (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/App/AppStructure/App+Setup.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/App/AppStructure/AppDirectory.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/App/AppStructure/AppDocuments.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/App/AppStructure/AppFileStructure.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/App/Constants.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/App/Debug.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/App/KeyCodes.swift (100%) create mode 100644 v0.2/SwiftDiffusion/Assets.xcassets/AccentColor.colorset/Contents.json rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Assets.xcassets/AppIcon.appiconset/Contents.json (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Assets.xcassets/AppIcon.appiconset/icon_128x128.png (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Assets.xcassets/AppIcon.appiconset/icon_128x128@2x.png (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Assets.xcassets/AppIcon.appiconset/icon_16x16.png (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Assets.xcassets/AppIcon.appiconset/icon_16x16@2x.png (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Assets.xcassets/AppIcon.appiconset/icon_256x256.png (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Assets.xcassets/AppIcon.appiconset/icon_32x32.png (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Assets.xcassets/AppIcon.appiconset/icon_32x32@2x.png (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Assets.xcassets/AppIcon.appiconset/icon_512x512.png (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Assets.xcassets/AppIcon.appiconset/icon_512x512@2x.png (100%) create mode 100644 v0.2/SwiftDiffusion/Assets.xcassets/Contents.json rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Assets.xcassets/Logo.imageset/Contents.json (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Assets.xcassets/Logo.imageset/SwiftDiffusionLogo.png (100%) create mode 100644 v0.2/SwiftDiffusion/Assets.xcassets/PreviewData/Contents.json create mode 100644 v0.2/SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/Contents.json rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Assets.xcassets/PreviewData/ImageData/boat-preview.imageset/16.jpeg (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Assets.xcassets/PreviewData/ImageData/boat-preview.imageset/Contents.json (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Assets.xcassets/PreviewData/ImageData/boat-thumbnail.imageset/16.jpeg (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Assets.xcassets/PreviewData/ImageData/boat-thumbnail.imageset/Contents.json (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Assets.xcassets/PreviewData/ImageData/jelly-preview.imageset/3.jpeg (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Assets.xcassets/PreviewData/ImageData/jelly-preview.imageset/Contents.json (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Assets.xcassets/PreviewData/ImageData/jelly-thumbnail.imageset/3.jpeg (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Assets.xcassets/PreviewData/ImageData/jelly-thumbnail.imageset/Contents.json (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Assets.xcassets/PreviewData/ImageData/pastel-preview.imageset/4.jpeg (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Assets.xcassets/PreviewData/ImageData/pastel-preview.imageset/Contents.json (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Assets.xcassets/PreviewData/ImageData/pastel-thumbnail.imageset/4.jpeg (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Assets.xcassets/PreviewData/ImageData/pastel-thumbnail.imageset/Contents.json (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Info.plist (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Models/AutomaticModels/Custom/Checkpoints/Managers/CheckpointsApiManager.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Models/AutomaticModels/Custom/Checkpoints/Managers/CheckpointsManager.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Models/AutomaticModels/Custom/Checkpoints/Models/CheckpointApiModel.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Models/AutomaticModels/Custom/Checkpoints/Models/CheckpointModel.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Models/AutomaticModels/Custom/Checkpoints/Models/CheckpointModelPreferences.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Models/AutomaticModels/Custom/Checkpoints/Views/DebugApiView.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Models/AutomaticModels/Generic/ModelManager.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Models/AutomaticModels/Generic/Models/LoraModel.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Models/AutomaticModels/Generic/Models/VaeModel.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Models/SidebarModels/ImageInfo.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Models/SidebarModels/SidebarFolder.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Models/SidebarModels/SidebarItem.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Models/StoredModels/MapModelData.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Models/StoredModels/StoredCheckpointApiModel.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Models/StoredModels/StoredCheckpointModel.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Models/StoredModels/StoredPromptModel.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Models/StoredModels/StoredVaeModel.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Observers/DirectoryObserver.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Observers/ScriptManagerObserver.swift (100%) create mode 100644 v0.2/SwiftDiffusion/Preview Content/Preview Assets.xcassets/Contents.json rename {SwiftDiffusion => v0.2/SwiftDiffusion}/ScriptManager/PythonProcess/PythonProcess.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/ScriptManager/PythonProcess/ScriptManager+PythonProcess.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/ScriptManager/PythonProcess/ScriptManager+TerminateAll.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/ScriptManager/ScriptManager/Extensions/ScriptManager+ServiceAvailability.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/ScriptManager/ScriptManager/GenerationStatus.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/ScriptManager/ScriptManager/ModelLoadState.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/ScriptManager/ScriptManager/ScriptManager.swift (99%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/ScriptManager/ScriptManager/ScriptSetupHelper.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/ScriptManager/ScriptManager/ScriptState.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/ScriptManager/ScriptManager/StateDebugInfo.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Services/AutomaticServices/AutomaticApiService.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Services/AutomaticServices/Txt2ImgService.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Services/FilePickerService.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Services/PastableService/ParseCivitai.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Services/PastableService/PastableService.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Services/PastableService/PasteGenerationDataButton.swift (100%) create mode 100644 v0.2/SwiftDiffusion/SwiftDiffusion.entitlements rename {SwiftDiffusion => v0.2/SwiftDiffusion}/SwiftDiffusionApp.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/SwiftDiffusionAppDelegate.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Utilities/AppRelauncherUtility.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Utilities/CopyPasteUtility.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Utilities/Delay.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Utilities/FileUtility.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Utilities/ImageSaver/ImageSaver+Composite.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Utilities/ImageSaver/ImageSaver.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Utilities/NotificationUtility.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Utilities/SoundUtility.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Utilities/URLParserUtility.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/CommonPreviews/CommonPreviews.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/CommonPreviews/MockSidebarItemCreator.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/CommonPreviews/View+EnvironmentPreviews.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/ContentView/ContentToolbar/DeveloperItems/DeveloperToolbarItems.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/ContentView/ContentToolbar/DeveloperItems/SegmentedViewPicker.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/ContentView/ContentToolbar/ToolbarProgressView.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/ContentView/ContentToolbar/WindowHeader.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/ContentView/ContentView+Generate.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/ContentView/ContentView.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/ContentView/CustomViews/BackgroundButtonStyles.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/ContentView/CustomViews/BlueButton.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/ContentView/CustomViews/ContentProgressBar.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/DetailView/DetailView.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/DetailView/Extensions/NSImageExtensions.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/DetailView/FileHierarchy/FileHierarchy+Control.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/DetailView/FileHierarchy/FileHierarchy.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/DetailView/FileHierarchy/FileNode.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/DetailView/FileOutlineView.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/DetailView/FileRow/FileRowView.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/DetailView/FileRow/ThumbnailLoader.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/DetailView/FullscreenImage/FullscreenImageView.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/DetailView/FullscreenImage/ImageWindowManager.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/DetailView/Views/DetailImageView.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/DetailView/Views/DetailToolbarSymbolButton.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/DetailView/Views/Dividers.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/DetailView/Views/ShareButton.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/PromptView/DebugPromptViews/ApiCheckpointRow.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/PromptView/DebugPromptViews/DebugPromptActionView.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/PromptView/DebugPromptViews/DebugPromptStatusView.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/PromptView/PromptBars/PasteGenerationDataStatusBar.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/PromptView/PromptBars/PromptBarButton.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/PromptView/PromptBars/PromptControlBar.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/PromptView/PromptMenus/CheckpointMenu.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/PromptView/PromptMenus/Components/ExpandableSectionHeader.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/PromptView/PromptMenus/SamplingMethodMenu.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/PromptView/PromptMenus/VaeModelMenu.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/PromptView/PromptModel.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/PromptView/PromptRows/PromptRows.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/PromptView/PromptRows/SeedRows.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/PromptView/PromptTextEditor/PromptEditorView.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/PromptView/PromptView.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/Sidebar/Components/DisplayOptionsBar/DisplayOptionsBar.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/Sidebar/Components/DisplayOptionsBar/HoverToggleButton.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/Sidebar/Components/DisplayOptionsBar/SegmentedDisplayOptions.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/Sidebar/Components/FilterSortingSection.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/Sidebar/Components/VisualEffectView.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/Sidebar/PreviewImageProcessing/CachedPreviewImageView.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/Sidebar/PreviewImageProcessing/CachedThumbnailImageView.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/Sidebar/PreviewImageProcessing/ImageCache.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/Sidebar/PreviewImageProcessing/NSImage+Extensions.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/Sidebar/PreviewImageProcessing/PreviewImageProcessingManager.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/Sidebar/Sidebar.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/Sidebar/SidebarExtensions/Sidebar+Move.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/Sidebar/SidebarExtensions/Sidebar+Preload.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/Sidebar/SidebarFolderView/DropHandlerModifier.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/Sidebar/SidebarFolderView/FolderTitleControl.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/Sidebar/SidebarFolderView/ParentFolderListItem.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/Sidebar/SidebarFolderView/SidebarFolderItem.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/Sidebar/SidebarFolderView/SidebarFolderView.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/Sidebar/SidebarFolderView/SidebarItemView.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/Sidebar/SidebarFolderView/SidebarStoredItemView.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/Sidebar/SidebarModel/SidebarModel+Clean.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/Sidebar/SidebarModel/SidebarModel+Copy.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/Sidebar/SidebarModel/SidebarModel+Create.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/Sidebar/SidebarModel/SidebarModel+Delete.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/Sidebar/SidebarModel/SidebarModel+Move.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/Sidebar/SidebarModel/SidebarModel+Queue.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/Sidebar/SidebarModel/SidebarModel+Save.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/Sidebar/SidebarModel/SidebarModel.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/Sidebar/WorkspaceFolderView/WorkspaceFolderView.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/MainViews/Sidebar/WorkspaceFolderView/WorkspaceItemView.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/OtherViews/Custom/CustomViews/HalfMaxWidthView.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/OtherViews/Custom/CustomViews/VisualEffectBlurView.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/OtherViews/Custom/ToolbarViews/ToolbarButton.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/OtherViews/DebugViews/ConsoleView.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/Symbols/SFSymbol+SwiftUI.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/Symbols/SFSymbol.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/Symbols/SymbolButtons.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/WindowViews/BetaOnboardingView/BetaOnboardingView.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/WindowViews/CheckpointManagerView/CheckpointManagerView.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/WindowViews/CheckpointManagerView/CheckpointPreferencesView.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/WindowViews/SettingsView/RequiredInputPaths/RequiredInputPathsPulsatingButton.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/WindowViews/SettingsView/RequiredInputPaths/RequiredInputPathsView.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/WindowViews/SettingsView/SettingsSections/CustomViews/BrowseFileRow.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/WindowViews/SettingsView/SettingsSections/CustomViews/SettingsSectionHeader.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/WindowViews/SettingsView/SettingsSections/CustomViews/ToggleWithHeader.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/WindowViews/SettingsView/SettingsSections/CustomViews/ToolbarTabButtonStyle.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/WindowViews/SettingsView/SettingsSections/DeveloperSection.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/WindowViews/SettingsView/SettingsSections/EngineSection.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/WindowViews/SettingsView/SettingsSections/FilesSection.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/WindowViews/SettingsView/SettingsSections/GeneralSection.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/WindowViews/SettingsView/SettingsSections/PromptSection.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/WindowViews/SettingsView/SettingsTab.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/WindowViews/SettingsView/SettingsView.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/WindowViews/SettingsView/UserSettings+URLs.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/WindowViews/SettingsView/UserSettings.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/WindowViews/UpdateView/GitHubReleaseFetcher.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/WindowViews/UpdateView/UpdateManager.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/WindowViews/UpdateView/UpdateView.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/Views/WindowViews/UpdateView/UpdateViewState.swift (100%) rename {SwiftDiffusion => v0.2/SwiftDiffusion}/WindowManager.swift (100%) diff --git a/SwiftDataDemo/SwiftDataDemo.xcodeproj/project.pbxproj b/SwiftDataDemo/SwiftDataDemo.xcodeproj/project.pbxproj new file mode 100644 index 00000000..b2acdb03 --- /dev/null +++ b/SwiftDataDemo/SwiftDataDemo.xcodeproj/project.pbxproj @@ -0,0 +1,352 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 56; + objects = { + +/* Begin PBXBuildFile section */ + 2908771A2BD02A3B0067AE7A /* SwiftDataDemoApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 290877192BD02A3B0067AE7A /* SwiftDataDemoApp.swift */; }; + 2908771C2BD02A3B0067AE7A /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2908771B2BD02A3B0067AE7A /* ContentView.swift */; }; + 2908771E2BD02A3B0067AE7A /* Item.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2908771D2BD02A3B0067AE7A /* Item.swift */; }; + 290877202BD02A3B0067AE7A /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 2908771F2BD02A3B0067AE7A /* Assets.xcassets */; }; + 290877232BD02A3B0067AE7A /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 290877222BD02A3B0067AE7A /* Preview Assets.xcassets */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 290877162BD02A3B0067AE7A /* SwiftDataDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SwiftDataDemo.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 290877192BD02A3B0067AE7A /* SwiftDataDemoApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftDataDemoApp.swift; sourceTree = ""; }; + 2908771B2BD02A3B0067AE7A /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; + 2908771D2BD02A3B0067AE7A /* Item.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Item.swift; sourceTree = ""; }; + 2908771F2BD02A3B0067AE7A /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 290877222BD02A3B0067AE7A /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; + 290877242BD02A3B0067AE7A /* SwiftDataDemo.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = SwiftDataDemo.entitlements; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 290877132BD02A3B0067AE7A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 2908770D2BD02A3B0067AE7A = { + isa = PBXGroup; + children = ( + 290877182BD02A3B0067AE7A /* SwiftDataDemo */, + 290877172BD02A3B0067AE7A /* Products */, + ); + sourceTree = ""; + }; + 290877172BD02A3B0067AE7A /* Products */ = { + isa = PBXGroup; + children = ( + 290877162BD02A3B0067AE7A /* SwiftDataDemo.app */, + ); + name = Products; + sourceTree = ""; + }; + 290877182BD02A3B0067AE7A /* SwiftDataDemo */ = { + isa = PBXGroup; + children = ( + 290877192BD02A3B0067AE7A /* SwiftDataDemoApp.swift */, + 2908771B2BD02A3B0067AE7A /* ContentView.swift */, + 2908771D2BD02A3B0067AE7A /* Item.swift */, + 2908771F2BD02A3B0067AE7A /* Assets.xcassets */, + 290877242BD02A3B0067AE7A /* SwiftDataDemo.entitlements */, + 290877212BD02A3B0067AE7A /* Preview Content */, + ); + path = SwiftDataDemo; + sourceTree = ""; + }; + 290877212BD02A3B0067AE7A /* Preview Content */ = { + isa = PBXGroup; + children = ( + 290877222BD02A3B0067AE7A /* Preview Assets.xcassets */, + ); + path = "Preview Content"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 290877152BD02A3B0067AE7A /* SwiftDataDemo */ = { + isa = PBXNativeTarget; + buildConfigurationList = 290877272BD02A3B0067AE7A /* Build configuration list for PBXNativeTarget "SwiftDataDemo" */; + buildPhases = ( + 290877122BD02A3B0067AE7A /* Sources */, + 290877132BD02A3B0067AE7A /* Frameworks */, + 290877142BD02A3B0067AE7A /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = SwiftDataDemo; + productName = SwiftDataDemo; + productReference = 290877162BD02A3B0067AE7A /* SwiftDataDemo.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 2908770E2BD02A3B0067AE7A /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = 1; + LastSwiftUpdateCheck = 1530; + LastUpgradeCheck = 1530; + TargetAttributes = { + 290877152BD02A3B0067AE7A = { + CreatedOnToolsVersion = 15.3; + }; + }; + }; + buildConfigurationList = 290877112BD02A3B0067AE7A /* Build configuration list for PBXProject "SwiftDataDemo" */; + compatibilityVersion = "Xcode 14.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 2908770D2BD02A3B0067AE7A; + productRefGroup = 290877172BD02A3B0067AE7A /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 290877152BD02A3B0067AE7A /* SwiftDataDemo */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 290877142BD02A3B0067AE7A /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 290877232BD02A3B0067AE7A /* Preview Assets.xcassets in Resources */, + 290877202BD02A3B0067AE7A /* Assets.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 290877122BD02A3B0067AE7A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 2908771C2BD02A3B0067AE7A /* ContentView.swift in Sources */, + 2908771E2BD02A3B0067AE7A /* Item.swift in Sources */, + 2908771A2BD02A3B0067AE7A /* SwiftDataDemoApp.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 290877252BD02A3B0067AE7A /* 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; + MACOSX_DEPLOYMENT_TARGET = 14.4; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 290877262BD02A3B0067AE7A /* 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; + MACOSX_DEPLOYMENT_TARGET = 14.4; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = macosx; + SWIFT_COMPILATION_MODE = wholemodule; + }; + name = Release; + }; + 290877282BD02A3B0067AE7A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_ENTITLEMENTS = SwiftDataDemo/SwiftDataDemo.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_ASSET_PATHS = "\"SwiftDataDemo/Preview Content\""; + DEVELOPMENT_TEAM = 85N3S3DG8M; + ENABLE_HARDENED_RUNTIME = YES; + ENABLE_PREVIEWS = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = 14.0; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.buzsh.SwiftDataDemo; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + }; + name = Debug; + }; + 290877292BD02A3B0067AE7A /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_ENTITLEMENTS = SwiftDataDemo/SwiftDataDemo.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_ASSET_PATHS = "\"SwiftDataDemo/Preview Content\""; + DEVELOPMENT_TEAM = 85N3S3DG8M; + ENABLE_HARDENED_RUNTIME = YES; + ENABLE_PREVIEWS = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = 14.0; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.buzsh.SwiftDataDemo; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 290877112BD02A3B0067AE7A /* Build configuration list for PBXProject "SwiftDataDemo" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 290877252BD02A3B0067AE7A /* Debug */, + 290877262BD02A3B0067AE7A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 290877272BD02A3B0067AE7A /* Build configuration list for PBXNativeTarget "SwiftDataDemo" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 290877282BD02A3B0067AE7A /* Debug */, + 290877292BD02A3B0067AE7A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 2908770E2BD02A3B0067AE7A /* Project object */; +} diff --git a/SwiftDiffusion.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/SwiftDataDemo/SwiftDataDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from SwiftDiffusion.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to SwiftDataDemo/SwiftDataDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/SwiftDiffusion.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/SwiftDataDemo/SwiftDataDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from SwiftDiffusion.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to SwiftDataDemo/SwiftDataDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/SwiftDiffusion/Assets.xcassets/AccentColor.colorset/Contents.json b/SwiftDataDemo/SwiftDataDemo/Assets.xcassets/AccentColor.colorset/Contents.json similarity index 100% rename from SwiftDiffusion/Assets.xcassets/AccentColor.colorset/Contents.json rename to SwiftDataDemo/SwiftDataDemo/Assets.xcassets/AccentColor.colorset/Contents.json diff --git a/SwiftDataDemo/SwiftDataDemo/Assets.xcassets/AppIcon.appiconset/Contents.json b/SwiftDataDemo/SwiftDataDemo/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 00000000..3f00db43 --- /dev/null +++ b/SwiftDataDemo/SwiftDataDemo/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,58 @@ +{ + "images" : [ + { + "idiom" : "mac", + "scale" : "1x", + "size" : "16x16" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "16x16" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "32x32" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "32x32" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "128x128" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "128x128" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "256x256" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "256x256" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "512x512" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "512x512" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SwiftDiffusion/Assets.xcassets/Contents.json b/SwiftDataDemo/SwiftDataDemo/Assets.xcassets/Contents.json similarity index 100% rename from SwiftDiffusion/Assets.xcassets/Contents.json rename to SwiftDataDemo/SwiftDataDemo/Assets.xcassets/Contents.json diff --git a/SwiftDataDemo/SwiftDataDemo/ContentView.swift b/SwiftDataDemo/SwiftDataDemo/ContentView.swift new file mode 100644 index 00000000..0670d9ed --- /dev/null +++ b/SwiftDataDemo/SwiftDataDemo/ContentView.swift @@ -0,0 +1,59 @@ +// +// ContentView.swift +// SwiftDataDemo +// +// Created by Justin Bush on 4/17/24. +// + +import SwiftUI +import SwiftData + +struct ContentView: View { + @Environment(\.modelContext) private var modelContext + @Query private var items: [Item] + + var body: some View { + NavigationSplitView { + List { + ForEach(items) { item in + NavigationLink { + Text("Item at \(item.timestamp, format: Date.FormatStyle(date: .numeric, time: .standard))") + } label: { + Text(item.timestamp, format: Date.FormatStyle(date: .numeric, time: .standard)) + } + } + .onDelete(perform: deleteItems) + } + .navigationSplitViewColumnWidth(min: 180, ideal: 200) + .toolbar { + ToolbarItem { + Button(action: addItem) { + Label("Add Item", systemImage: "plus") + } + } + } + } detail: { + Text("Select an item") + } + } + + private func addItem() { + withAnimation { + let newItem = Item(timestamp: Date()) + modelContext.insert(newItem) + } + } + + private func deleteItems(offsets: IndexSet) { + withAnimation { + for index in offsets { + modelContext.delete(items[index]) + } + } + } +} + +#Preview { + ContentView() + .modelContainer(for: Item.self, inMemory: true) +} diff --git a/SwiftDataDemo/SwiftDataDemo/Item.swift b/SwiftDataDemo/SwiftDataDemo/Item.swift new file mode 100644 index 00000000..c7a28a44 --- /dev/null +++ b/SwiftDataDemo/SwiftDataDemo/Item.swift @@ -0,0 +1,18 @@ +// +// Item.swift +// SwiftDataDemo +// +// Created by Justin Bush on 4/17/24. +// + +import Foundation +import SwiftData + +@Model +final class Item { + var timestamp: Date + + init(timestamp: Date) { + self.timestamp = timestamp + } +} diff --git a/SwiftDiffusion/Assets.xcassets/PreviewData/Contents.json b/SwiftDataDemo/SwiftDataDemo/Preview Content/Preview Assets.xcassets/Contents.json similarity index 100% rename from SwiftDiffusion/Assets.xcassets/PreviewData/Contents.json rename to SwiftDataDemo/SwiftDataDemo/Preview Content/Preview Assets.xcassets/Contents.json diff --git a/SwiftDiffusion/SwiftDiffusion.entitlements b/SwiftDataDemo/SwiftDataDemo/SwiftDataDemo.entitlements similarity index 100% rename from SwiftDiffusion/SwiftDiffusion.entitlements rename to SwiftDataDemo/SwiftDataDemo/SwiftDataDemo.entitlements diff --git a/SwiftDataDemo/SwiftDataDemo/SwiftDataDemoApp.swift b/SwiftDataDemo/SwiftDataDemo/SwiftDataDemoApp.swift new file mode 100644 index 00000000..131984af --- /dev/null +++ b/SwiftDataDemo/SwiftDataDemo/SwiftDataDemoApp.swift @@ -0,0 +1,118 @@ +// +// SwiftDataDemoApp.swift +// SwiftDataDemo +// +// Created by Justin Bush on 4/17/24. +// + +import SwiftUI +import SwiftData + +@main +struct SwiftDataDemoApp: App { + var sharedModelContainer: ModelContainer = { + guard let storeUrl = AppConfig.FileStructure.storeUrl else { + fatalError("Failed to initialize store URL. Check application support directories and permissions.") + } + + let schema = Schema([ + Item.self, + ]) + + let modelConfiguration = ModelConfiguration("SwiftDataDemoName", schema: schema, url: storeUrl, allowsSave: true) + + do { + return try ModelContainer(for: schema, configurations: [modelConfiguration]) + } catch { + fatalError("Could not create ModelContainer: \(error)") + } + }() + + var body: some Scene { + WindowGroup { + ContentView() + } + .modelContainer(sharedModelContainer) + } +} + +struct Constants { + + struct Api {} + struct App {} + struct CommandLine {} + struct Debug {} + struct Delays {} + struct FileStructure {} + struct FileTypes {} + struct Keys {} + struct Layout {} + struct Parsing {} + struct PromptOptions {} + struct Sidebar {} + struct WindowSize {} + +} + +extension Constants.App { + static let name = "SwiftDataDemo" +} + +extension Constants.CommandLine { + static let zshPath = "/bin/zsh" + static let zshUrl = URL(fileURLWithPath: zshPath) +} + + + +struct AppConfig { + + struct FileStructure {} + +} + +extension AppConfig.FileStructure { + private static let SupportFolderName = "SwiftDataDemo" + private static let UserDataFolderName = "UserData" + private static let LocalDatabaseFolderName = "Database" + private static let SwiftDataFileName = "Local.store" + + static var appSupportUrl: URL? = { + guard let appSupportUrl = FileManager.default.urls(for: .applicationSupportDirectory, in: .userDomainMask).first else { + fatalError("Application Support directory not found.") + } + return appSupportUrl + }() + + private static func buildStoreUrl(from appSupportUrl: URL) -> URL { + return appSupportUrl + .appendingPathComponent(SupportFolderName) + .appendingPathComponent(UserDataFolderName) + .appendingPathComponent(LocalDatabaseFolderName) + .appendingPathComponent(SwiftDataFileName) + } + + static var storeUrl: URL? { + guard let appSupportUrl = appSupportUrl else { return nil } + let storeUrl = buildStoreUrl(from: appSupportUrl) + + do { + return try storeUrl.ensureParentDirectoriesExists() + } catch { + print("Failed to create directories for store URL: \(error)") + return nil + } + } +} + +extension URL { + func ensureParentDirectoriesExists() throws -> URL { + let directoryPath = self.deletingLastPathComponent() + do { + try FileManager.default.createDirectory(at: directoryPath, withIntermediateDirectories: true, attributes: nil) + return self + } catch { + throw error + } + } +} diff --git a/SwiftDiffusion/SwiftDiffusion.xcodeproj/project.pbxproj b/SwiftDiffusion/SwiftDiffusion.xcodeproj/project.pbxproj new file mode 100644 index 00000000..53109935 --- /dev/null +++ b/SwiftDiffusion/SwiftDiffusion.xcodeproj/project.pbxproj @@ -0,0 +1,368 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 56; + objects = { + +/* Begin PBXBuildFile section */ + 290877372BD03A350067AE7A /* SwiftDiffusionApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 290877362BD03A350067AE7A /* SwiftDiffusionApp.swift */; }; + 290877392BD03A350067AE7A /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 290877382BD03A350067AE7A /* ContentView.swift */; }; + 2908773B2BD03A350067AE7A /* Item.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2908773A2BD03A350067AE7A /* Item.swift */; }; + 2908773D2BD03A350067AE7A /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 2908773C2BD03A350067AE7A /* Assets.xcassets */; }; + 290877402BD03A350067AE7A /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 2908773F2BD03A350067AE7A /* Preview Assets.xcassets */; }; + 290877492BD03A5D0067AE7A /* AppConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 290877482BD03A5D0067AE7A /* AppConfig.swift */; }; + 2908774B2BD03A640067AE7A /* FileStructure.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2908774A2BD03A640067AE7A /* FileStructure.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 290877332BD03A350067AE7A /* SwiftDiffusion.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SwiftDiffusion.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 290877362BD03A350067AE7A /* SwiftDiffusionApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftDiffusionApp.swift; sourceTree = ""; }; + 290877382BD03A350067AE7A /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; + 2908773A2BD03A350067AE7A /* Item.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Item.swift; sourceTree = ""; }; + 2908773C2BD03A350067AE7A /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 2908773F2BD03A350067AE7A /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; + 290877412BD03A350067AE7A /* SwiftDiffusion.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = SwiftDiffusion.entitlements; sourceTree = ""; }; + 290877482BD03A5D0067AE7A /* AppConfig.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppConfig.swift; sourceTree = ""; }; + 2908774A2BD03A640067AE7A /* FileStructure.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FileStructure.swift; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 290877302BD03A350067AE7A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 2908772A2BD03A350067AE7A = { + isa = PBXGroup; + children = ( + 290877352BD03A350067AE7A /* SwiftDiffusion */, + 290877342BD03A350067AE7A /* Products */, + ); + sourceTree = ""; + }; + 290877342BD03A350067AE7A /* Products */ = { + isa = PBXGroup; + children = ( + 290877332BD03A350067AE7A /* SwiftDiffusion.app */, + ); + name = Products; + sourceTree = ""; + }; + 290877352BD03A350067AE7A /* SwiftDiffusion */ = { + isa = PBXGroup; + children = ( + 290877362BD03A350067AE7A /* SwiftDiffusionApp.swift */, + 290877382BD03A350067AE7A /* ContentView.swift */, + 2908773A2BD03A350067AE7A /* Item.swift */, + 290877472BD03A540067AE7A /* AppConfig */, + 2908773C2BD03A350067AE7A /* Assets.xcassets */, + 290877412BD03A350067AE7A /* SwiftDiffusion.entitlements */, + 2908773E2BD03A350067AE7A /* Preview Content */, + ); + path = SwiftDiffusion; + sourceTree = ""; + }; + 2908773E2BD03A350067AE7A /* Preview Content */ = { + isa = PBXGroup; + children = ( + 2908773F2BD03A350067AE7A /* Preview Assets.xcassets */, + ); + path = "Preview Content"; + sourceTree = ""; + }; + 290877472BD03A540067AE7A /* AppConfig */ = { + isa = PBXGroup; + children = ( + 290877482BD03A5D0067AE7A /* AppConfig.swift */, + 2908774A2BD03A640067AE7A /* FileStructure.swift */, + ); + path = AppConfig; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 290877322BD03A350067AE7A /* SwiftDiffusion */ = { + isa = PBXNativeTarget; + buildConfigurationList = 290877442BD03A350067AE7A /* Build configuration list for PBXNativeTarget "SwiftDiffusion" */; + buildPhases = ( + 2908772F2BD03A350067AE7A /* Sources */, + 290877302BD03A350067AE7A /* Frameworks */, + 290877312BD03A350067AE7A /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = SwiftDiffusion; + productName = SwiftDiffusion; + productReference = 290877332BD03A350067AE7A /* SwiftDiffusion.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 2908772B2BD03A350067AE7A /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = 1; + LastSwiftUpdateCheck = 1530; + LastUpgradeCheck = 1530; + TargetAttributes = { + 290877322BD03A350067AE7A = { + CreatedOnToolsVersion = 15.3; + }; + }; + }; + buildConfigurationList = 2908772E2BD03A350067AE7A /* Build configuration list for PBXProject "SwiftDiffusion" */; + compatibilityVersion = "Xcode 14.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 2908772A2BD03A350067AE7A; + productRefGroup = 290877342BD03A350067AE7A /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 290877322BD03A350067AE7A /* SwiftDiffusion */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 290877312BD03A350067AE7A /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 290877402BD03A350067AE7A /* Preview Assets.xcassets in Resources */, + 2908773D2BD03A350067AE7A /* Assets.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 2908772F2BD03A350067AE7A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 2908774B2BD03A640067AE7A /* FileStructure.swift in Sources */, + 290877392BD03A350067AE7A /* ContentView.swift in Sources */, + 290877492BD03A5D0067AE7A /* AppConfig.swift in Sources */, + 2908773B2BD03A350067AE7A /* Item.swift in Sources */, + 290877372BD03A350067AE7A /* SwiftDiffusionApp.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 290877422BD03A350067AE7A /* 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; + MACOSX_DEPLOYMENT_TARGET = 14.4; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 290877432BD03A350067AE7A /* 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; + MACOSX_DEPLOYMENT_TARGET = 14.4; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = macosx; + SWIFT_COMPILATION_MODE = wholemodule; + }; + name = Release; + }; + 290877452BD03A350067AE7A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_ENTITLEMENTS = SwiftDiffusion/SwiftDiffusion.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_ASSET_PATHS = "\"SwiftDiffusion/Preview Content\""; + DEVELOPMENT_TEAM = 85N3S3DG8M; + ENABLE_HARDENED_RUNTIME = YES; + ENABLE_PREVIEWS = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = 14.0; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.buzsh.SwiftDiffusion; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + }; + name = Debug; + }; + 290877462BD03A350067AE7A /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_ENTITLEMENTS = SwiftDiffusion/SwiftDiffusion.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_ASSET_PATHS = "\"SwiftDiffusion/Preview Content\""; + DEVELOPMENT_TEAM = 85N3S3DG8M; + ENABLE_HARDENED_RUNTIME = YES; + ENABLE_PREVIEWS = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = 14.0; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.buzsh.SwiftDiffusion; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 2908772E2BD03A350067AE7A /* Build configuration list for PBXProject "SwiftDiffusion" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 290877422BD03A350067AE7A /* Debug */, + 290877432BD03A350067AE7A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 290877442BD03A350067AE7A /* Build configuration list for PBXNativeTarget "SwiftDiffusion" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 290877452BD03A350067AE7A /* Debug */, + 290877462BD03A350067AE7A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 2908772B2BD03A350067AE7A /* Project object */; +} diff --git a/SwiftDiffusion/SwiftDiffusion.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/SwiftDiffusion/SwiftDiffusion.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..919434a6 --- /dev/null +++ b/SwiftDiffusion/SwiftDiffusion.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/SwiftDiffusion/SwiftDiffusion.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/SwiftDiffusion/SwiftDiffusion.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 00000000..18d98100 --- /dev/null +++ b/SwiftDiffusion/SwiftDiffusion.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/SwiftDiffusion/SwiftDiffusion/AppConfig/AppConfig.swift b/SwiftDiffusion/SwiftDiffusion/AppConfig/AppConfig.swift new file mode 100644 index 00000000..03115780 --- /dev/null +++ b/SwiftDiffusion/SwiftDiffusion/AppConfig/AppConfig.swift @@ -0,0 +1,17 @@ +// +// AppConfig.swift +// SwiftDiffusion +// +// Created by Justin Bush on 4/17/24. +// + +import Foundation + +struct AppConfig { + + static let name = "SwiftDiffusion" + static let modelConfigurationName = "SwiftDiffusion-v3" + + struct FileStructure {} + +} diff --git a/SwiftDiffusion/SwiftDiffusion/AppConfig/FileStructure.swift b/SwiftDiffusion/SwiftDiffusion/AppConfig/FileStructure.swift new file mode 100644 index 00000000..f7a2c49d --- /dev/null +++ b/SwiftDiffusion/SwiftDiffusion/AppConfig/FileStructure.swift @@ -0,0 +1,54 @@ +// +// FileStructure.swift +// SwiftDiffusion +// +// Created by Justin Bush on 4/17/24. +// + +import Foundation + +extension AppConfig.FileStructure { + private static let SupportFolderName = AppConfig.name + private static let UserDataFolderName = "UserData" + private static let LocalDatabaseFolderName = "Database" + private static let SwiftDataFileName = "Local.store" + + static var appSupportUrl: URL? = { + guard let appSupportUrl = FileManager.default.urls(for: .applicationSupportDirectory, in: .userDomainMask).first else { + fatalError("Application Support directory not found.") + } + return appSupportUrl + }() + + private static func buildStoreUrl(from appSupportUrl: URL) -> URL { + return appSupportUrl + .appendingPathComponent(SupportFolderName) + .appendingPathComponent(UserDataFolderName) + .appendingPathComponent(LocalDatabaseFolderName) + .appendingPathComponent(SwiftDataFileName) + } + + static var storeUrl: URL? { + guard let appSupportUrl = appSupportUrl else { return nil } + let storeUrl = buildStoreUrl(from: appSupportUrl) + + do { + return try storeUrl.ensureParentDirectoriesExists() + } catch { + print("Failed to create directories for store URL: \(error)") + return nil + } + } +} + +extension URL { + func ensureParentDirectoriesExists() throws -> URL { + let directoryPath = self.deletingLastPathComponent() + do { + try FileManager.default.createDirectory(at: directoryPath, withIntermediateDirectories: true, attributes: nil) + return self + } catch { + throw error + } + } +} diff --git a/SwiftDiffusion/SwiftDiffusion/Assets.xcassets/AccentColor.colorset/Contents.json b/SwiftDiffusion/SwiftDiffusion/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 00000000..eb878970 --- /dev/null +++ b/SwiftDiffusion/SwiftDiffusion/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SwiftDiffusion/SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/Contents.json b/SwiftDiffusion/SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 00000000..3f00db43 --- /dev/null +++ b/SwiftDiffusion/SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,58 @@ +{ + "images" : [ + { + "idiom" : "mac", + "scale" : "1x", + "size" : "16x16" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "16x16" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "32x32" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "32x32" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "128x128" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "128x128" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "256x256" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "256x256" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "512x512" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "512x512" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/Contents.json b/SwiftDiffusion/SwiftDiffusion/Assets.xcassets/Contents.json similarity index 100% rename from SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/Contents.json rename to SwiftDiffusion/SwiftDiffusion/Assets.xcassets/Contents.json diff --git a/SwiftDiffusion/SwiftDiffusion/ContentView.swift b/SwiftDiffusion/SwiftDiffusion/ContentView.swift new file mode 100644 index 00000000..e298e44e --- /dev/null +++ b/SwiftDiffusion/SwiftDiffusion/ContentView.swift @@ -0,0 +1,59 @@ +// +// ContentView.swift +// SwiftDiffusion +// +// Created by Justin Bush on 4/17/24. +// + +import SwiftUI +import SwiftData + +struct ContentView: View { + @Environment(\.modelContext) private var modelContext + @Query private var items: [Item] + + var body: some View { + NavigationSplitView { + List { + ForEach(items) { item in + NavigationLink { + Text("Item at \(item.timestamp, format: Date.FormatStyle(date: .numeric, time: .standard))") + } label: { + Text(item.timestamp, format: Date.FormatStyle(date: .numeric, time: .standard)) + } + } + .onDelete(perform: deleteItems) + } + .navigationSplitViewColumnWidth(min: 180, ideal: 200) + .toolbar { + ToolbarItem { + Button(action: addItem) { + Label("Add Item", systemImage: "plus") + } + } + } + } detail: { + Text("Select an item") + } + } + + private func addItem() { + withAnimation { + let newItem = Item(timestamp: Date()) + modelContext.insert(newItem) + } + } + + private func deleteItems(offsets: IndexSet) { + withAnimation { + for index in offsets { + modelContext.delete(items[index]) + } + } + } +} + +#Preview { + ContentView() + .modelContainer(for: Item.self, inMemory: true) +} diff --git a/SwiftDiffusion/SwiftDiffusion/Item.swift b/SwiftDiffusion/SwiftDiffusion/Item.swift new file mode 100644 index 00000000..671db80b --- /dev/null +++ b/SwiftDiffusion/SwiftDiffusion/Item.swift @@ -0,0 +1,18 @@ +// +// Item.swift +// SwiftDiffusion +// +// Created by Justin Bush on 4/17/24. +// + +import Foundation +import SwiftData + +@Model +final class Item { + var timestamp: Date + + init(timestamp: Date) { + self.timestamp = timestamp + } +} diff --git a/SwiftDiffusion/Preview Content/Preview Assets.xcassets/Contents.json b/SwiftDiffusion/SwiftDiffusion/Preview Content/Preview Assets.xcassets/Contents.json similarity index 100% rename from SwiftDiffusion/Preview Content/Preview Assets.xcassets/Contents.json rename to SwiftDiffusion/SwiftDiffusion/Preview Content/Preview Assets.xcassets/Contents.json diff --git a/SwiftDiffusion/SwiftDiffusion/SwiftDiffusion.entitlements b/SwiftDiffusion/SwiftDiffusion/SwiftDiffusion.entitlements new file mode 100644 index 00000000..18aff0ce --- /dev/null +++ b/SwiftDiffusion/SwiftDiffusion/SwiftDiffusion.entitlements @@ -0,0 +1,10 @@ + + + + + com.apple.security.app-sandbox + + com.apple.security.files.user-selected.read-only + + + diff --git a/SwiftDiffusion/SwiftDiffusion/SwiftDiffusionApp.swift b/SwiftDiffusion/SwiftDiffusion/SwiftDiffusionApp.swift new file mode 100644 index 00000000..d7913711 --- /dev/null +++ b/SwiftDiffusion/SwiftDiffusion/SwiftDiffusionApp.swift @@ -0,0 +1,38 @@ +// +// SwiftDiffusionApp.swift +// SwiftDiffusion +// +// Created by Justin Bush on 4/17/24. +// + +import SwiftUI +import SwiftData + +@main +struct SwiftDiffusionApp: App { + var body: some Scene { + WindowGroup { + ContentView() + } + .modelContainer(sharedModelContainer) + } + + /// SwiftData (sqlite3) shared model container. + var sharedModelContainer: ModelContainer = { + guard let storeUrl = AppConfig.FileStructure.storeUrl else { + fatalError("Failed to initialize store URL. Check application support directories and permissions.") + } + + let schema = Schema([ + Item.self, + ]) + + let modelConfiguration = ModelConfiguration(AppConfig.modelConfigurationName, schema: schema, url: storeUrl, allowsSave: true) + + do { + return try ModelContainer(for: schema, configurations: [modelConfiguration]) + } catch { + fatalError("Could not create ModelContainer: \(error)") + } + }() +} diff --git a/SwiftDiffusion.xcodeproj/project.pbxproj b/v0.2/SwiftDiffusion.xcodeproj/project.pbxproj similarity index 100% rename from SwiftDiffusion.xcodeproj/project.pbxproj rename to v0.2/SwiftDiffusion.xcodeproj/project.pbxproj diff --git a/v0.2/SwiftDiffusion.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/v0.2/SwiftDiffusion.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..919434a6 --- /dev/null +++ b/v0.2/SwiftDiffusion.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/v0.2/SwiftDiffusion.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/v0.2/SwiftDiffusion.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 00000000..18d98100 --- /dev/null +++ b/v0.2/SwiftDiffusion.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/SwiftDiffusion.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/v0.2/SwiftDiffusion.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved similarity index 100% rename from SwiftDiffusion.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved rename to v0.2/SwiftDiffusion.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved diff --git a/SwiftDiffusion/App/AppStructure/App+Setup.swift b/v0.2/SwiftDiffusion/App/AppStructure/App+Setup.swift similarity index 100% rename from SwiftDiffusion/App/AppStructure/App+Setup.swift rename to v0.2/SwiftDiffusion/App/AppStructure/App+Setup.swift diff --git a/SwiftDiffusion/App/AppStructure/AppDirectory.swift b/v0.2/SwiftDiffusion/App/AppStructure/AppDirectory.swift similarity index 100% rename from SwiftDiffusion/App/AppStructure/AppDirectory.swift rename to v0.2/SwiftDiffusion/App/AppStructure/AppDirectory.swift diff --git a/SwiftDiffusion/App/AppStructure/AppDocuments.swift b/v0.2/SwiftDiffusion/App/AppStructure/AppDocuments.swift similarity index 100% rename from SwiftDiffusion/App/AppStructure/AppDocuments.swift rename to v0.2/SwiftDiffusion/App/AppStructure/AppDocuments.swift diff --git a/SwiftDiffusion/App/AppStructure/AppFileStructure.swift b/v0.2/SwiftDiffusion/App/AppStructure/AppFileStructure.swift similarity index 100% rename from SwiftDiffusion/App/AppStructure/AppFileStructure.swift rename to v0.2/SwiftDiffusion/App/AppStructure/AppFileStructure.swift diff --git a/SwiftDiffusion/App/Constants.swift b/v0.2/SwiftDiffusion/App/Constants.swift similarity index 100% rename from SwiftDiffusion/App/Constants.swift rename to v0.2/SwiftDiffusion/App/Constants.swift diff --git a/SwiftDiffusion/App/Debug.swift b/v0.2/SwiftDiffusion/App/Debug.swift similarity index 100% rename from SwiftDiffusion/App/Debug.swift rename to v0.2/SwiftDiffusion/App/Debug.swift diff --git a/SwiftDiffusion/App/KeyCodes.swift b/v0.2/SwiftDiffusion/App/KeyCodes.swift similarity index 100% rename from SwiftDiffusion/App/KeyCodes.swift rename to v0.2/SwiftDiffusion/App/KeyCodes.swift diff --git a/v0.2/SwiftDiffusion/Assets.xcassets/AccentColor.colorset/Contents.json b/v0.2/SwiftDiffusion/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 00000000..eb878970 --- /dev/null +++ b/v0.2/SwiftDiffusion/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/Contents.json b/v0.2/SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/Contents.json rename to v0.2/SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/icon_128x128.png b/v0.2/SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/icon_128x128.png similarity index 100% rename from SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/icon_128x128.png rename to v0.2/SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/icon_128x128.png diff --git a/SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/icon_128x128@2x.png b/v0.2/SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/icon_128x128@2x.png similarity index 100% rename from SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/icon_128x128@2x.png rename to v0.2/SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/icon_128x128@2x.png diff --git a/SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/icon_16x16.png b/v0.2/SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/icon_16x16.png similarity index 100% rename from SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/icon_16x16.png rename to v0.2/SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/icon_16x16.png diff --git a/SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/icon_16x16@2x.png b/v0.2/SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/icon_16x16@2x.png similarity index 100% rename from SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/icon_16x16@2x.png rename to v0.2/SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/icon_16x16@2x.png diff --git a/SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/icon_256x256.png b/v0.2/SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/icon_256x256.png similarity index 100% rename from SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/icon_256x256.png rename to v0.2/SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/icon_256x256.png diff --git a/SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png b/v0.2/SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png similarity index 100% rename from SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png rename to v0.2/SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png diff --git a/SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/icon_32x32.png b/v0.2/SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/icon_32x32.png similarity index 100% rename from SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/icon_32x32.png rename to v0.2/SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/icon_32x32.png diff --git a/SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/icon_32x32@2x.png b/v0.2/SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/icon_32x32@2x.png similarity index 100% rename from SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/icon_32x32@2x.png rename to v0.2/SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/icon_32x32@2x.png diff --git a/SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/icon_512x512.png b/v0.2/SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/icon_512x512.png similarity index 100% rename from SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/icon_512x512.png rename to v0.2/SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/icon_512x512.png diff --git a/SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/icon_512x512@2x.png b/v0.2/SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/icon_512x512@2x.png similarity index 100% rename from SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/icon_512x512@2x.png rename to v0.2/SwiftDiffusion/Assets.xcassets/AppIcon.appiconset/icon_512x512@2x.png diff --git a/v0.2/SwiftDiffusion/Assets.xcassets/Contents.json b/v0.2/SwiftDiffusion/Assets.xcassets/Contents.json new file mode 100644 index 00000000..73c00596 --- /dev/null +++ b/v0.2/SwiftDiffusion/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SwiftDiffusion/Assets.xcassets/Logo.imageset/Contents.json b/v0.2/SwiftDiffusion/Assets.xcassets/Logo.imageset/Contents.json similarity index 100% rename from SwiftDiffusion/Assets.xcassets/Logo.imageset/Contents.json rename to v0.2/SwiftDiffusion/Assets.xcassets/Logo.imageset/Contents.json diff --git a/SwiftDiffusion/Assets.xcassets/Logo.imageset/SwiftDiffusionLogo.png b/v0.2/SwiftDiffusion/Assets.xcassets/Logo.imageset/SwiftDiffusionLogo.png similarity index 100% rename from SwiftDiffusion/Assets.xcassets/Logo.imageset/SwiftDiffusionLogo.png rename to v0.2/SwiftDiffusion/Assets.xcassets/Logo.imageset/SwiftDiffusionLogo.png diff --git a/v0.2/SwiftDiffusion/Assets.xcassets/PreviewData/Contents.json b/v0.2/SwiftDiffusion/Assets.xcassets/PreviewData/Contents.json new file mode 100644 index 00000000..73c00596 --- /dev/null +++ b/v0.2/SwiftDiffusion/Assets.xcassets/PreviewData/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/v0.2/SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/Contents.json b/v0.2/SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/Contents.json new file mode 100644 index 00000000..73c00596 --- /dev/null +++ b/v0.2/SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/boat-preview.imageset/16.jpeg b/v0.2/SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/boat-preview.imageset/16.jpeg similarity index 100% rename from SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/boat-preview.imageset/16.jpeg rename to v0.2/SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/boat-preview.imageset/16.jpeg diff --git a/SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/boat-preview.imageset/Contents.json b/v0.2/SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/boat-preview.imageset/Contents.json similarity index 100% rename from SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/boat-preview.imageset/Contents.json rename to v0.2/SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/boat-preview.imageset/Contents.json diff --git a/SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/boat-thumbnail.imageset/16.jpeg b/v0.2/SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/boat-thumbnail.imageset/16.jpeg similarity index 100% rename from SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/boat-thumbnail.imageset/16.jpeg rename to v0.2/SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/boat-thumbnail.imageset/16.jpeg diff --git a/SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/boat-thumbnail.imageset/Contents.json b/v0.2/SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/boat-thumbnail.imageset/Contents.json similarity index 100% rename from SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/boat-thumbnail.imageset/Contents.json rename to v0.2/SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/boat-thumbnail.imageset/Contents.json diff --git a/SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/jelly-preview.imageset/3.jpeg b/v0.2/SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/jelly-preview.imageset/3.jpeg similarity index 100% rename from SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/jelly-preview.imageset/3.jpeg rename to v0.2/SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/jelly-preview.imageset/3.jpeg diff --git a/SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/jelly-preview.imageset/Contents.json b/v0.2/SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/jelly-preview.imageset/Contents.json similarity index 100% rename from SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/jelly-preview.imageset/Contents.json rename to v0.2/SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/jelly-preview.imageset/Contents.json diff --git a/SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/jelly-thumbnail.imageset/3.jpeg b/v0.2/SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/jelly-thumbnail.imageset/3.jpeg similarity index 100% rename from SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/jelly-thumbnail.imageset/3.jpeg rename to v0.2/SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/jelly-thumbnail.imageset/3.jpeg diff --git a/SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/jelly-thumbnail.imageset/Contents.json b/v0.2/SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/jelly-thumbnail.imageset/Contents.json similarity index 100% rename from SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/jelly-thumbnail.imageset/Contents.json rename to v0.2/SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/jelly-thumbnail.imageset/Contents.json diff --git a/SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/pastel-preview.imageset/4.jpeg b/v0.2/SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/pastel-preview.imageset/4.jpeg similarity index 100% rename from SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/pastel-preview.imageset/4.jpeg rename to v0.2/SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/pastel-preview.imageset/4.jpeg diff --git a/SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/pastel-preview.imageset/Contents.json b/v0.2/SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/pastel-preview.imageset/Contents.json similarity index 100% rename from SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/pastel-preview.imageset/Contents.json rename to v0.2/SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/pastel-preview.imageset/Contents.json diff --git a/SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/pastel-thumbnail.imageset/4.jpeg b/v0.2/SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/pastel-thumbnail.imageset/4.jpeg similarity index 100% rename from SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/pastel-thumbnail.imageset/4.jpeg rename to v0.2/SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/pastel-thumbnail.imageset/4.jpeg diff --git a/SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/pastel-thumbnail.imageset/Contents.json b/v0.2/SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/pastel-thumbnail.imageset/Contents.json similarity index 100% rename from SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/pastel-thumbnail.imageset/Contents.json rename to v0.2/SwiftDiffusion/Assets.xcassets/PreviewData/ImageData/pastel-thumbnail.imageset/Contents.json diff --git a/SwiftDiffusion/Info.plist b/v0.2/SwiftDiffusion/Info.plist similarity index 100% rename from SwiftDiffusion/Info.plist rename to v0.2/SwiftDiffusion/Info.plist diff --git a/SwiftDiffusion/Models/AutomaticModels/Custom/Checkpoints/Managers/CheckpointsApiManager.swift b/v0.2/SwiftDiffusion/Models/AutomaticModels/Custom/Checkpoints/Managers/CheckpointsApiManager.swift similarity index 100% rename from SwiftDiffusion/Models/AutomaticModels/Custom/Checkpoints/Managers/CheckpointsApiManager.swift rename to v0.2/SwiftDiffusion/Models/AutomaticModels/Custom/Checkpoints/Managers/CheckpointsApiManager.swift diff --git a/SwiftDiffusion/Models/AutomaticModels/Custom/Checkpoints/Managers/CheckpointsManager.swift b/v0.2/SwiftDiffusion/Models/AutomaticModels/Custom/Checkpoints/Managers/CheckpointsManager.swift similarity index 100% rename from SwiftDiffusion/Models/AutomaticModels/Custom/Checkpoints/Managers/CheckpointsManager.swift rename to v0.2/SwiftDiffusion/Models/AutomaticModels/Custom/Checkpoints/Managers/CheckpointsManager.swift diff --git a/SwiftDiffusion/Models/AutomaticModels/Custom/Checkpoints/Models/CheckpointApiModel.swift b/v0.2/SwiftDiffusion/Models/AutomaticModels/Custom/Checkpoints/Models/CheckpointApiModel.swift similarity index 100% rename from SwiftDiffusion/Models/AutomaticModels/Custom/Checkpoints/Models/CheckpointApiModel.swift rename to v0.2/SwiftDiffusion/Models/AutomaticModels/Custom/Checkpoints/Models/CheckpointApiModel.swift diff --git a/SwiftDiffusion/Models/AutomaticModels/Custom/Checkpoints/Models/CheckpointModel.swift b/v0.2/SwiftDiffusion/Models/AutomaticModels/Custom/Checkpoints/Models/CheckpointModel.swift similarity index 100% rename from SwiftDiffusion/Models/AutomaticModels/Custom/Checkpoints/Models/CheckpointModel.swift rename to v0.2/SwiftDiffusion/Models/AutomaticModels/Custom/Checkpoints/Models/CheckpointModel.swift diff --git a/SwiftDiffusion/Models/AutomaticModels/Custom/Checkpoints/Models/CheckpointModelPreferences.swift b/v0.2/SwiftDiffusion/Models/AutomaticModels/Custom/Checkpoints/Models/CheckpointModelPreferences.swift similarity index 100% rename from SwiftDiffusion/Models/AutomaticModels/Custom/Checkpoints/Models/CheckpointModelPreferences.swift rename to v0.2/SwiftDiffusion/Models/AutomaticModels/Custom/Checkpoints/Models/CheckpointModelPreferences.swift diff --git a/SwiftDiffusion/Models/AutomaticModels/Custom/Checkpoints/Views/DebugApiView.swift b/v0.2/SwiftDiffusion/Models/AutomaticModels/Custom/Checkpoints/Views/DebugApiView.swift similarity index 100% rename from SwiftDiffusion/Models/AutomaticModels/Custom/Checkpoints/Views/DebugApiView.swift rename to v0.2/SwiftDiffusion/Models/AutomaticModels/Custom/Checkpoints/Views/DebugApiView.swift diff --git a/SwiftDiffusion/Models/AutomaticModels/Generic/ModelManager.swift b/v0.2/SwiftDiffusion/Models/AutomaticModels/Generic/ModelManager.swift similarity index 100% rename from SwiftDiffusion/Models/AutomaticModels/Generic/ModelManager.swift rename to v0.2/SwiftDiffusion/Models/AutomaticModels/Generic/ModelManager.swift diff --git a/SwiftDiffusion/Models/AutomaticModels/Generic/Models/LoraModel.swift b/v0.2/SwiftDiffusion/Models/AutomaticModels/Generic/Models/LoraModel.swift similarity index 100% rename from SwiftDiffusion/Models/AutomaticModels/Generic/Models/LoraModel.swift rename to v0.2/SwiftDiffusion/Models/AutomaticModels/Generic/Models/LoraModel.swift diff --git a/SwiftDiffusion/Models/AutomaticModels/Generic/Models/VaeModel.swift b/v0.2/SwiftDiffusion/Models/AutomaticModels/Generic/Models/VaeModel.swift similarity index 100% rename from SwiftDiffusion/Models/AutomaticModels/Generic/Models/VaeModel.swift rename to v0.2/SwiftDiffusion/Models/AutomaticModels/Generic/Models/VaeModel.swift diff --git a/SwiftDiffusion/Models/SidebarModels/ImageInfo.swift b/v0.2/SwiftDiffusion/Models/SidebarModels/ImageInfo.swift similarity index 100% rename from SwiftDiffusion/Models/SidebarModels/ImageInfo.swift rename to v0.2/SwiftDiffusion/Models/SidebarModels/ImageInfo.swift diff --git a/SwiftDiffusion/Models/SidebarModels/SidebarFolder.swift b/v0.2/SwiftDiffusion/Models/SidebarModels/SidebarFolder.swift similarity index 100% rename from SwiftDiffusion/Models/SidebarModels/SidebarFolder.swift rename to v0.2/SwiftDiffusion/Models/SidebarModels/SidebarFolder.swift diff --git a/SwiftDiffusion/Models/SidebarModels/SidebarItem.swift b/v0.2/SwiftDiffusion/Models/SidebarModels/SidebarItem.swift similarity index 100% rename from SwiftDiffusion/Models/SidebarModels/SidebarItem.swift rename to v0.2/SwiftDiffusion/Models/SidebarModels/SidebarItem.swift diff --git a/SwiftDiffusion/Models/StoredModels/MapModelData.swift b/v0.2/SwiftDiffusion/Models/StoredModels/MapModelData.swift similarity index 100% rename from SwiftDiffusion/Models/StoredModels/MapModelData.swift rename to v0.2/SwiftDiffusion/Models/StoredModels/MapModelData.swift diff --git a/SwiftDiffusion/Models/StoredModels/StoredCheckpointApiModel.swift b/v0.2/SwiftDiffusion/Models/StoredModels/StoredCheckpointApiModel.swift similarity index 100% rename from SwiftDiffusion/Models/StoredModels/StoredCheckpointApiModel.swift rename to v0.2/SwiftDiffusion/Models/StoredModels/StoredCheckpointApiModel.swift diff --git a/SwiftDiffusion/Models/StoredModels/StoredCheckpointModel.swift b/v0.2/SwiftDiffusion/Models/StoredModels/StoredCheckpointModel.swift similarity index 100% rename from SwiftDiffusion/Models/StoredModels/StoredCheckpointModel.swift rename to v0.2/SwiftDiffusion/Models/StoredModels/StoredCheckpointModel.swift diff --git a/SwiftDiffusion/Models/StoredModels/StoredPromptModel.swift b/v0.2/SwiftDiffusion/Models/StoredModels/StoredPromptModel.swift similarity index 100% rename from SwiftDiffusion/Models/StoredModels/StoredPromptModel.swift rename to v0.2/SwiftDiffusion/Models/StoredModels/StoredPromptModel.swift diff --git a/SwiftDiffusion/Models/StoredModels/StoredVaeModel.swift b/v0.2/SwiftDiffusion/Models/StoredModels/StoredVaeModel.swift similarity index 100% rename from SwiftDiffusion/Models/StoredModels/StoredVaeModel.swift rename to v0.2/SwiftDiffusion/Models/StoredModels/StoredVaeModel.swift diff --git a/SwiftDiffusion/Observers/DirectoryObserver.swift b/v0.2/SwiftDiffusion/Observers/DirectoryObserver.swift similarity index 100% rename from SwiftDiffusion/Observers/DirectoryObserver.swift rename to v0.2/SwiftDiffusion/Observers/DirectoryObserver.swift diff --git a/SwiftDiffusion/Observers/ScriptManagerObserver.swift b/v0.2/SwiftDiffusion/Observers/ScriptManagerObserver.swift similarity index 100% rename from SwiftDiffusion/Observers/ScriptManagerObserver.swift rename to v0.2/SwiftDiffusion/Observers/ScriptManagerObserver.swift diff --git a/v0.2/SwiftDiffusion/Preview Content/Preview Assets.xcassets/Contents.json b/v0.2/SwiftDiffusion/Preview Content/Preview Assets.xcassets/Contents.json new file mode 100644 index 00000000..73c00596 --- /dev/null +++ b/v0.2/SwiftDiffusion/Preview Content/Preview Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SwiftDiffusion/ScriptManager/PythonProcess/PythonProcess.swift b/v0.2/SwiftDiffusion/ScriptManager/PythonProcess/PythonProcess.swift similarity index 100% rename from SwiftDiffusion/ScriptManager/PythonProcess/PythonProcess.swift rename to v0.2/SwiftDiffusion/ScriptManager/PythonProcess/PythonProcess.swift diff --git a/SwiftDiffusion/ScriptManager/PythonProcess/ScriptManager+PythonProcess.swift b/v0.2/SwiftDiffusion/ScriptManager/PythonProcess/ScriptManager+PythonProcess.swift similarity index 100% rename from SwiftDiffusion/ScriptManager/PythonProcess/ScriptManager+PythonProcess.swift rename to v0.2/SwiftDiffusion/ScriptManager/PythonProcess/ScriptManager+PythonProcess.swift diff --git a/SwiftDiffusion/ScriptManager/PythonProcess/ScriptManager+TerminateAll.swift b/v0.2/SwiftDiffusion/ScriptManager/PythonProcess/ScriptManager+TerminateAll.swift similarity index 100% rename from SwiftDiffusion/ScriptManager/PythonProcess/ScriptManager+TerminateAll.swift rename to v0.2/SwiftDiffusion/ScriptManager/PythonProcess/ScriptManager+TerminateAll.swift diff --git a/SwiftDiffusion/ScriptManager/ScriptManager/Extensions/ScriptManager+ServiceAvailability.swift b/v0.2/SwiftDiffusion/ScriptManager/ScriptManager/Extensions/ScriptManager+ServiceAvailability.swift similarity index 100% rename from SwiftDiffusion/ScriptManager/ScriptManager/Extensions/ScriptManager+ServiceAvailability.swift rename to v0.2/SwiftDiffusion/ScriptManager/ScriptManager/Extensions/ScriptManager+ServiceAvailability.swift diff --git a/SwiftDiffusion/ScriptManager/ScriptManager/GenerationStatus.swift b/v0.2/SwiftDiffusion/ScriptManager/ScriptManager/GenerationStatus.swift similarity index 100% rename from SwiftDiffusion/ScriptManager/ScriptManager/GenerationStatus.swift rename to v0.2/SwiftDiffusion/ScriptManager/ScriptManager/GenerationStatus.swift diff --git a/SwiftDiffusion/ScriptManager/ScriptManager/ModelLoadState.swift b/v0.2/SwiftDiffusion/ScriptManager/ScriptManager/ModelLoadState.swift similarity index 100% rename from SwiftDiffusion/ScriptManager/ScriptManager/ModelLoadState.swift rename to v0.2/SwiftDiffusion/ScriptManager/ScriptManager/ModelLoadState.swift diff --git a/SwiftDiffusion/ScriptManager/ScriptManager/ScriptManager.swift b/v0.2/SwiftDiffusion/ScriptManager/ScriptManager/ScriptManager.swift similarity index 99% rename from SwiftDiffusion/ScriptManager/ScriptManager/ScriptManager.swift rename to v0.2/SwiftDiffusion/ScriptManager/ScriptManager/ScriptManager.swift index 3940d4c2..a09bb1dc 100644 --- a/SwiftDiffusion/ScriptManager/ScriptManager/ScriptManager.swift +++ b/v0.2/SwiftDiffusion/ScriptManager/ScriptManager/ScriptManager.swift @@ -16,6 +16,7 @@ extension Constants.CommandLine { args.append("--no-half") args.append("--api") args.append("--api-log") + args.append("--no-download-sd-model") if UserSettings.shared.launchWebUiAlongsideScriptLaunch == false { args.append("--nowebui") diff --git a/SwiftDiffusion/ScriptManager/ScriptManager/ScriptSetupHelper.swift b/v0.2/SwiftDiffusion/ScriptManager/ScriptManager/ScriptSetupHelper.swift similarity index 100% rename from SwiftDiffusion/ScriptManager/ScriptManager/ScriptSetupHelper.swift rename to v0.2/SwiftDiffusion/ScriptManager/ScriptManager/ScriptSetupHelper.swift diff --git a/SwiftDiffusion/ScriptManager/ScriptManager/ScriptState.swift b/v0.2/SwiftDiffusion/ScriptManager/ScriptManager/ScriptState.swift similarity index 100% rename from SwiftDiffusion/ScriptManager/ScriptManager/ScriptState.swift rename to v0.2/SwiftDiffusion/ScriptManager/ScriptManager/ScriptState.swift diff --git a/SwiftDiffusion/ScriptManager/ScriptManager/StateDebugInfo.swift b/v0.2/SwiftDiffusion/ScriptManager/ScriptManager/StateDebugInfo.swift similarity index 100% rename from SwiftDiffusion/ScriptManager/ScriptManager/StateDebugInfo.swift rename to v0.2/SwiftDiffusion/ScriptManager/ScriptManager/StateDebugInfo.swift diff --git a/SwiftDiffusion/Services/AutomaticServices/AutomaticApiService.swift b/v0.2/SwiftDiffusion/Services/AutomaticServices/AutomaticApiService.swift similarity index 100% rename from SwiftDiffusion/Services/AutomaticServices/AutomaticApiService.swift rename to v0.2/SwiftDiffusion/Services/AutomaticServices/AutomaticApiService.swift diff --git a/SwiftDiffusion/Services/AutomaticServices/Txt2ImgService.swift b/v0.2/SwiftDiffusion/Services/AutomaticServices/Txt2ImgService.swift similarity index 100% rename from SwiftDiffusion/Services/AutomaticServices/Txt2ImgService.swift rename to v0.2/SwiftDiffusion/Services/AutomaticServices/Txt2ImgService.swift diff --git a/SwiftDiffusion/Services/FilePickerService.swift b/v0.2/SwiftDiffusion/Services/FilePickerService.swift similarity index 100% rename from SwiftDiffusion/Services/FilePickerService.swift rename to v0.2/SwiftDiffusion/Services/FilePickerService.swift diff --git a/SwiftDiffusion/Services/PastableService/ParseCivitai.swift b/v0.2/SwiftDiffusion/Services/PastableService/ParseCivitai.swift similarity index 100% rename from SwiftDiffusion/Services/PastableService/ParseCivitai.swift rename to v0.2/SwiftDiffusion/Services/PastableService/ParseCivitai.swift diff --git a/SwiftDiffusion/Services/PastableService/PastableService.swift b/v0.2/SwiftDiffusion/Services/PastableService/PastableService.swift similarity index 100% rename from SwiftDiffusion/Services/PastableService/PastableService.swift rename to v0.2/SwiftDiffusion/Services/PastableService/PastableService.swift diff --git a/SwiftDiffusion/Services/PastableService/PasteGenerationDataButton.swift b/v0.2/SwiftDiffusion/Services/PastableService/PasteGenerationDataButton.swift similarity index 100% rename from SwiftDiffusion/Services/PastableService/PasteGenerationDataButton.swift rename to v0.2/SwiftDiffusion/Services/PastableService/PasteGenerationDataButton.swift diff --git a/v0.2/SwiftDiffusion/SwiftDiffusion.entitlements b/v0.2/SwiftDiffusion/SwiftDiffusion.entitlements new file mode 100644 index 00000000..311b32bd --- /dev/null +++ b/v0.2/SwiftDiffusion/SwiftDiffusion.entitlements @@ -0,0 +1,10 @@ + + + + + com.apple.security.app-sandbox + + com.apple.security.files.user-selected.read-only + + + diff --git a/SwiftDiffusion/SwiftDiffusionApp.swift b/v0.2/SwiftDiffusion/SwiftDiffusionApp.swift similarity index 100% rename from SwiftDiffusion/SwiftDiffusionApp.swift rename to v0.2/SwiftDiffusion/SwiftDiffusionApp.swift diff --git a/SwiftDiffusion/SwiftDiffusionAppDelegate.swift b/v0.2/SwiftDiffusion/SwiftDiffusionAppDelegate.swift similarity index 100% rename from SwiftDiffusion/SwiftDiffusionAppDelegate.swift rename to v0.2/SwiftDiffusion/SwiftDiffusionAppDelegate.swift diff --git a/SwiftDiffusion/Utilities/AppRelauncherUtility.swift b/v0.2/SwiftDiffusion/Utilities/AppRelauncherUtility.swift similarity index 100% rename from SwiftDiffusion/Utilities/AppRelauncherUtility.swift rename to v0.2/SwiftDiffusion/Utilities/AppRelauncherUtility.swift diff --git a/SwiftDiffusion/Utilities/CopyPasteUtility.swift b/v0.2/SwiftDiffusion/Utilities/CopyPasteUtility.swift similarity index 100% rename from SwiftDiffusion/Utilities/CopyPasteUtility.swift rename to v0.2/SwiftDiffusion/Utilities/CopyPasteUtility.swift diff --git a/SwiftDiffusion/Utilities/Delay.swift b/v0.2/SwiftDiffusion/Utilities/Delay.swift similarity index 100% rename from SwiftDiffusion/Utilities/Delay.swift rename to v0.2/SwiftDiffusion/Utilities/Delay.swift diff --git a/SwiftDiffusion/Utilities/FileUtility.swift b/v0.2/SwiftDiffusion/Utilities/FileUtility.swift similarity index 100% rename from SwiftDiffusion/Utilities/FileUtility.swift rename to v0.2/SwiftDiffusion/Utilities/FileUtility.swift diff --git a/SwiftDiffusion/Utilities/ImageSaver/ImageSaver+Composite.swift b/v0.2/SwiftDiffusion/Utilities/ImageSaver/ImageSaver+Composite.swift similarity index 100% rename from SwiftDiffusion/Utilities/ImageSaver/ImageSaver+Composite.swift rename to v0.2/SwiftDiffusion/Utilities/ImageSaver/ImageSaver+Composite.swift diff --git a/SwiftDiffusion/Utilities/ImageSaver/ImageSaver.swift b/v0.2/SwiftDiffusion/Utilities/ImageSaver/ImageSaver.swift similarity index 100% rename from SwiftDiffusion/Utilities/ImageSaver/ImageSaver.swift rename to v0.2/SwiftDiffusion/Utilities/ImageSaver/ImageSaver.swift diff --git a/SwiftDiffusion/Utilities/NotificationUtility.swift b/v0.2/SwiftDiffusion/Utilities/NotificationUtility.swift similarity index 100% rename from SwiftDiffusion/Utilities/NotificationUtility.swift rename to v0.2/SwiftDiffusion/Utilities/NotificationUtility.swift diff --git a/SwiftDiffusion/Utilities/SoundUtility.swift b/v0.2/SwiftDiffusion/Utilities/SoundUtility.swift similarity index 100% rename from SwiftDiffusion/Utilities/SoundUtility.swift rename to v0.2/SwiftDiffusion/Utilities/SoundUtility.swift diff --git a/SwiftDiffusion/Utilities/URLParserUtility.swift b/v0.2/SwiftDiffusion/Utilities/URLParserUtility.swift similarity index 100% rename from SwiftDiffusion/Utilities/URLParserUtility.swift rename to v0.2/SwiftDiffusion/Utilities/URLParserUtility.swift diff --git a/SwiftDiffusion/Views/CommonPreviews/CommonPreviews.swift b/v0.2/SwiftDiffusion/Views/CommonPreviews/CommonPreviews.swift similarity index 100% rename from SwiftDiffusion/Views/CommonPreviews/CommonPreviews.swift rename to v0.2/SwiftDiffusion/Views/CommonPreviews/CommonPreviews.swift diff --git a/SwiftDiffusion/Views/CommonPreviews/MockSidebarItemCreator.swift b/v0.2/SwiftDiffusion/Views/CommonPreviews/MockSidebarItemCreator.swift similarity index 100% rename from SwiftDiffusion/Views/CommonPreviews/MockSidebarItemCreator.swift rename to v0.2/SwiftDiffusion/Views/CommonPreviews/MockSidebarItemCreator.swift diff --git a/SwiftDiffusion/Views/CommonPreviews/View+EnvironmentPreviews.swift b/v0.2/SwiftDiffusion/Views/CommonPreviews/View+EnvironmentPreviews.swift similarity index 100% rename from SwiftDiffusion/Views/CommonPreviews/View+EnvironmentPreviews.swift rename to v0.2/SwiftDiffusion/Views/CommonPreviews/View+EnvironmentPreviews.swift diff --git a/SwiftDiffusion/Views/MainViews/ContentView/ContentToolbar/DeveloperItems/DeveloperToolbarItems.swift b/v0.2/SwiftDiffusion/Views/MainViews/ContentView/ContentToolbar/DeveloperItems/DeveloperToolbarItems.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/ContentView/ContentToolbar/DeveloperItems/DeveloperToolbarItems.swift rename to v0.2/SwiftDiffusion/Views/MainViews/ContentView/ContentToolbar/DeveloperItems/DeveloperToolbarItems.swift diff --git a/SwiftDiffusion/Views/MainViews/ContentView/ContentToolbar/DeveloperItems/SegmentedViewPicker.swift b/v0.2/SwiftDiffusion/Views/MainViews/ContentView/ContentToolbar/DeveloperItems/SegmentedViewPicker.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/ContentView/ContentToolbar/DeveloperItems/SegmentedViewPicker.swift rename to v0.2/SwiftDiffusion/Views/MainViews/ContentView/ContentToolbar/DeveloperItems/SegmentedViewPicker.swift diff --git a/SwiftDiffusion/Views/MainViews/ContentView/ContentToolbar/ToolbarProgressView.swift b/v0.2/SwiftDiffusion/Views/MainViews/ContentView/ContentToolbar/ToolbarProgressView.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/ContentView/ContentToolbar/ToolbarProgressView.swift rename to v0.2/SwiftDiffusion/Views/MainViews/ContentView/ContentToolbar/ToolbarProgressView.swift diff --git a/SwiftDiffusion/Views/MainViews/ContentView/ContentToolbar/WindowHeader.swift b/v0.2/SwiftDiffusion/Views/MainViews/ContentView/ContentToolbar/WindowHeader.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/ContentView/ContentToolbar/WindowHeader.swift rename to v0.2/SwiftDiffusion/Views/MainViews/ContentView/ContentToolbar/WindowHeader.swift diff --git a/SwiftDiffusion/Views/MainViews/ContentView/ContentView+Generate.swift b/v0.2/SwiftDiffusion/Views/MainViews/ContentView/ContentView+Generate.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/ContentView/ContentView+Generate.swift rename to v0.2/SwiftDiffusion/Views/MainViews/ContentView/ContentView+Generate.swift diff --git a/SwiftDiffusion/Views/MainViews/ContentView/ContentView.swift b/v0.2/SwiftDiffusion/Views/MainViews/ContentView/ContentView.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/ContentView/ContentView.swift rename to v0.2/SwiftDiffusion/Views/MainViews/ContentView/ContentView.swift diff --git a/SwiftDiffusion/Views/MainViews/ContentView/CustomViews/BackgroundButtonStyles.swift b/v0.2/SwiftDiffusion/Views/MainViews/ContentView/CustomViews/BackgroundButtonStyles.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/ContentView/CustomViews/BackgroundButtonStyles.swift rename to v0.2/SwiftDiffusion/Views/MainViews/ContentView/CustomViews/BackgroundButtonStyles.swift diff --git a/SwiftDiffusion/Views/MainViews/ContentView/CustomViews/BlueButton.swift b/v0.2/SwiftDiffusion/Views/MainViews/ContentView/CustomViews/BlueButton.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/ContentView/CustomViews/BlueButton.swift rename to v0.2/SwiftDiffusion/Views/MainViews/ContentView/CustomViews/BlueButton.swift diff --git a/SwiftDiffusion/Views/MainViews/ContentView/CustomViews/ContentProgressBar.swift b/v0.2/SwiftDiffusion/Views/MainViews/ContentView/CustomViews/ContentProgressBar.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/ContentView/CustomViews/ContentProgressBar.swift rename to v0.2/SwiftDiffusion/Views/MainViews/ContentView/CustomViews/ContentProgressBar.swift diff --git a/SwiftDiffusion/Views/MainViews/DetailView/DetailView.swift b/v0.2/SwiftDiffusion/Views/MainViews/DetailView/DetailView.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/DetailView/DetailView.swift rename to v0.2/SwiftDiffusion/Views/MainViews/DetailView/DetailView.swift diff --git a/SwiftDiffusion/Views/MainViews/DetailView/Extensions/NSImageExtensions.swift b/v0.2/SwiftDiffusion/Views/MainViews/DetailView/Extensions/NSImageExtensions.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/DetailView/Extensions/NSImageExtensions.swift rename to v0.2/SwiftDiffusion/Views/MainViews/DetailView/Extensions/NSImageExtensions.swift diff --git a/SwiftDiffusion/Views/MainViews/DetailView/FileHierarchy/FileHierarchy+Control.swift b/v0.2/SwiftDiffusion/Views/MainViews/DetailView/FileHierarchy/FileHierarchy+Control.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/DetailView/FileHierarchy/FileHierarchy+Control.swift rename to v0.2/SwiftDiffusion/Views/MainViews/DetailView/FileHierarchy/FileHierarchy+Control.swift diff --git a/SwiftDiffusion/Views/MainViews/DetailView/FileHierarchy/FileHierarchy.swift b/v0.2/SwiftDiffusion/Views/MainViews/DetailView/FileHierarchy/FileHierarchy.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/DetailView/FileHierarchy/FileHierarchy.swift rename to v0.2/SwiftDiffusion/Views/MainViews/DetailView/FileHierarchy/FileHierarchy.swift diff --git a/SwiftDiffusion/Views/MainViews/DetailView/FileHierarchy/FileNode.swift b/v0.2/SwiftDiffusion/Views/MainViews/DetailView/FileHierarchy/FileNode.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/DetailView/FileHierarchy/FileNode.swift rename to v0.2/SwiftDiffusion/Views/MainViews/DetailView/FileHierarchy/FileNode.swift diff --git a/SwiftDiffusion/Views/MainViews/DetailView/FileOutlineView.swift b/v0.2/SwiftDiffusion/Views/MainViews/DetailView/FileOutlineView.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/DetailView/FileOutlineView.swift rename to v0.2/SwiftDiffusion/Views/MainViews/DetailView/FileOutlineView.swift diff --git a/SwiftDiffusion/Views/MainViews/DetailView/FileRow/FileRowView.swift b/v0.2/SwiftDiffusion/Views/MainViews/DetailView/FileRow/FileRowView.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/DetailView/FileRow/FileRowView.swift rename to v0.2/SwiftDiffusion/Views/MainViews/DetailView/FileRow/FileRowView.swift diff --git a/SwiftDiffusion/Views/MainViews/DetailView/FileRow/ThumbnailLoader.swift b/v0.2/SwiftDiffusion/Views/MainViews/DetailView/FileRow/ThumbnailLoader.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/DetailView/FileRow/ThumbnailLoader.swift rename to v0.2/SwiftDiffusion/Views/MainViews/DetailView/FileRow/ThumbnailLoader.swift diff --git a/SwiftDiffusion/Views/MainViews/DetailView/FullscreenImage/FullscreenImageView.swift b/v0.2/SwiftDiffusion/Views/MainViews/DetailView/FullscreenImage/FullscreenImageView.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/DetailView/FullscreenImage/FullscreenImageView.swift rename to v0.2/SwiftDiffusion/Views/MainViews/DetailView/FullscreenImage/FullscreenImageView.swift diff --git a/SwiftDiffusion/Views/MainViews/DetailView/FullscreenImage/ImageWindowManager.swift b/v0.2/SwiftDiffusion/Views/MainViews/DetailView/FullscreenImage/ImageWindowManager.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/DetailView/FullscreenImage/ImageWindowManager.swift rename to v0.2/SwiftDiffusion/Views/MainViews/DetailView/FullscreenImage/ImageWindowManager.swift diff --git a/SwiftDiffusion/Views/MainViews/DetailView/Views/DetailImageView.swift b/v0.2/SwiftDiffusion/Views/MainViews/DetailView/Views/DetailImageView.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/DetailView/Views/DetailImageView.swift rename to v0.2/SwiftDiffusion/Views/MainViews/DetailView/Views/DetailImageView.swift diff --git a/SwiftDiffusion/Views/MainViews/DetailView/Views/DetailToolbarSymbolButton.swift b/v0.2/SwiftDiffusion/Views/MainViews/DetailView/Views/DetailToolbarSymbolButton.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/DetailView/Views/DetailToolbarSymbolButton.swift rename to v0.2/SwiftDiffusion/Views/MainViews/DetailView/Views/DetailToolbarSymbolButton.swift diff --git a/SwiftDiffusion/Views/MainViews/DetailView/Views/Dividers.swift b/v0.2/SwiftDiffusion/Views/MainViews/DetailView/Views/Dividers.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/DetailView/Views/Dividers.swift rename to v0.2/SwiftDiffusion/Views/MainViews/DetailView/Views/Dividers.swift diff --git a/SwiftDiffusion/Views/MainViews/DetailView/Views/ShareButton.swift b/v0.2/SwiftDiffusion/Views/MainViews/DetailView/Views/ShareButton.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/DetailView/Views/ShareButton.swift rename to v0.2/SwiftDiffusion/Views/MainViews/DetailView/Views/ShareButton.swift diff --git a/SwiftDiffusion/Views/MainViews/PromptView/DebugPromptViews/ApiCheckpointRow.swift b/v0.2/SwiftDiffusion/Views/MainViews/PromptView/DebugPromptViews/ApiCheckpointRow.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/PromptView/DebugPromptViews/ApiCheckpointRow.swift rename to v0.2/SwiftDiffusion/Views/MainViews/PromptView/DebugPromptViews/ApiCheckpointRow.swift diff --git a/SwiftDiffusion/Views/MainViews/PromptView/DebugPromptViews/DebugPromptActionView.swift b/v0.2/SwiftDiffusion/Views/MainViews/PromptView/DebugPromptViews/DebugPromptActionView.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/PromptView/DebugPromptViews/DebugPromptActionView.swift rename to v0.2/SwiftDiffusion/Views/MainViews/PromptView/DebugPromptViews/DebugPromptActionView.swift diff --git a/SwiftDiffusion/Views/MainViews/PromptView/DebugPromptViews/DebugPromptStatusView.swift b/v0.2/SwiftDiffusion/Views/MainViews/PromptView/DebugPromptViews/DebugPromptStatusView.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/PromptView/DebugPromptViews/DebugPromptStatusView.swift rename to v0.2/SwiftDiffusion/Views/MainViews/PromptView/DebugPromptViews/DebugPromptStatusView.swift diff --git a/SwiftDiffusion/Views/MainViews/PromptView/PromptBars/PasteGenerationDataStatusBar.swift b/v0.2/SwiftDiffusion/Views/MainViews/PromptView/PromptBars/PasteGenerationDataStatusBar.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/PromptView/PromptBars/PasteGenerationDataStatusBar.swift rename to v0.2/SwiftDiffusion/Views/MainViews/PromptView/PromptBars/PasteGenerationDataStatusBar.swift diff --git a/SwiftDiffusion/Views/MainViews/PromptView/PromptBars/PromptBarButton.swift b/v0.2/SwiftDiffusion/Views/MainViews/PromptView/PromptBars/PromptBarButton.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/PromptView/PromptBars/PromptBarButton.swift rename to v0.2/SwiftDiffusion/Views/MainViews/PromptView/PromptBars/PromptBarButton.swift diff --git a/SwiftDiffusion/Views/MainViews/PromptView/PromptBars/PromptControlBar.swift b/v0.2/SwiftDiffusion/Views/MainViews/PromptView/PromptBars/PromptControlBar.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/PromptView/PromptBars/PromptControlBar.swift rename to v0.2/SwiftDiffusion/Views/MainViews/PromptView/PromptBars/PromptControlBar.swift diff --git a/SwiftDiffusion/Views/MainViews/PromptView/PromptMenus/CheckpointMenu.swift b/v0.2/SwiftDiffusion/Views/MainViews/PromptView/PromptMenus/CheckpointMenu.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/PromptView/PromptMenus/CheckpointMenu.swift rename to v0.2/SwiftDiffusion/Views/MainViews/PromptView/PromptMenus/CheckpointMenu.swift diff --git a/SwiftDiffusion/Views/MainViews/PromptView/PromptMenus/Components/ExpandableSectionHeader.swift b/v0.2/SwiftDiffusion/Views/MainViews/PromptView/PromptMenus/Components/ExpandableSectionHeader.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/PromptView/PromptMenus/Components/ExpandableSectionHeader.swift rename to v0.2/SwiftDiffusion/Views/MainViews/PromptView/PromptMenus/Components/ExpandableSectionHeader.swift diff --git a/SwiftDiffusion/Views/MainViews/PromptView/PromptMenus/SamplingMethodMenu.swift b/v0.2/SwiftDiffusion/Views/MainViews/PromptView/PromptMenus/SamplingMethodMenu.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/PromptView/PromptMenus/SamplingMethodMenu.swift rename to v0.2/SwiftDiffusion/Views/MainViews/PromptView/PromptMenus/SamplingMethodMenu.swift diff --git a/SwiftDiffusion/Views/MainViews/PromptView/PromptMenus/VaeModelMenu.swift b/v0.2/SwiftDiffusion/Views/MainViews/PromptView/PromptMenus/VaeModelMenu.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/PromptView/PromptMenus/VaeModelMenu.swift rename to v0.2/SwiftDiffusion/Views/MainViews/PromptView/PromptMenus/VaeModelMenu.swift diff --git a/SwiftDiffusion/Views/MainViews/PromptView/PromptModel.swift b/v0.2/SwiftDiffusion/Views/MainViews/PromptView/PromptModel.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/PromptView/PromptModel.swift rename to v0.2/SwiftDiffusion/Views/MainViews/PromptView/PromptModel.swift diff --git a/SwiftDiffusion/Views/MainViews/PromptView/PromptRows/PromptRows.swift b/v0.2/SwiftDiffusion/Views/MainViews/PromptView/PromptRows/PromptRows.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/PromptView/PromptRows/PromptRows.swift rename to v0.2/SwiftDiffusion/Views/MainViews/PromptView/PromptRows/PromptRows.swift diff --git a/SwiftDiffusion/Views/MainViews/PromptView/PromptRows/SeedRows.swift b/v0.2/SwiftDiffusion/Views/MainViews/PromptView/PromptRows/SeedRows.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/PromptView/PromptRows/SeedRows.swift rename to v0.2/SwiftDiffusion/Views/MainViews/PromptView/PromptRows/SeedRows.swift diff --git a/SwiftDiffusion/Views/MainViews/PromptView/PromptTextEditor/PromptEditorView.swift b/v0.2/SwiftDiffusion/Views/MainViews/PromptView/PromptTextEditor/PromptEditorView.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/PromptView/PromptTextEditor/PromptEditorView.swift rename to v0.2/SwiftDiffusion/Views/MainViews/PromptView/PromptTextEditor/PromptEditorView.swift diff --git a/SwiftDiffusion/Views/MainViews/PromptView/PromptView.swift b/v0.2/SwiftDiffusion/Views/MainViews/PromptView/PromptView.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/PromptView/PromptView.swift rename to v0.2/SwiftDiffusion/Views/MainViews/PromptView/PromptView.swift diff --git a/SwiftDiffusion/Views/MainViews/Sidebar/Components/DisplayOptionsBar/DisplayOptionsBar.swift b/v0.2/SwiftDiffusion/Views/MainViews/Sidebar/Components/DisplayOptionsBar/DisplayOptionsBar.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/Sidebar/Components/DisplayOptionsBar/DisplayOptionsBar.swift rename to v0.2/SwiftDiffusion/Views/MainViews/Sidebar/Components/DisplayOptionsBar/DisplayOptionsBar.swift diff --git a/SwiftDiffusion/Views/MainViews/Sidebar/Components/DisplayOptionsBar/HoverToggleButton.swift b/v0.2/SwiftDiffusion/Views/MainViews/Sidebar/Components/DisplayOptionsBar/HoverToggleButton.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/Sidebar/Components/DisplayOptionsBar/HoverToggleButton.swift rename to v0.2/SwiftDiffusion/Views/MainViews/Sidebar/Components/DisplayOptionsBar/HoverToggleButton.swift diff --git a/SwiftDiffusion/Views/MainViews/Sidebar/Components/DisplayOptionsBar/SegmentedDisplayOptions.swift b/v0.2/SwiftDiffusion/Views/MainViews/Sidebar/Components/DisplayOptionsBar/SegmentedDisplayOptions.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/Sidebar/Components/DisplayOptionsBar/SegmentedDisplayOptions.swift rename to v0.2/SwiftDiffusion/Views/MainViews/Sidebar/Components/DisplayOptionsBar/SegmentedDisplayOptions.swift diff --git a/SwiftDiffusion/Views/MainViews/Sidebar/Components/FilterSortingSection.swift b/v0.2/SwiftDiffusion/Views/MainViews/Sidebar/Components/FilterSortingSection.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/Sidebar/Components/FilterSortingSection.swift rename to v0.2/SwiftDiffusion/Views/MainViews/Sidebar/Components/FilterSortingSection.swift diff --git a/SwiftDiffusion/Views/MainViews/Sidebar/Components/VisualEffectView.swift b/v0.2/SwiftDiffusion/Views/MainViews/Sidebar/Components/VisualEffectView.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/Sidebar/Components/VisualEffectView.swift rename to v0.2/SwiftDiffusion/Views/MainViews/Sidebar/Components/VisualEffectView.swift diff --git a/SwiftDiffusion/Views/MainViews/Sidebar/PreviewImageProcessing/CachedPreviewImageView.swift b/v0.2/SwiftDiffusion/Views/MainViews/Sidebar/PreviewImageProcessing/CachedPreviewImageView.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/Sidebar/PreviewImageProcessing/CachedPreviewImageView.swift rename to v0.2/SwiftDiffusion/Views/MainViews/Sidebar/PreviewImageProcessing/CachedPreviewImageView.swift diff --git a/SwiftDiffusion/Views/MainViews/Sidebar/PreviewImageProcessing/CachedThumbnailImageView.swift b/v0.2/SwiftDiffusion/Views/MainViews/Sidebar/PreviewImageProcessing/CachedThumbnailImageView.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/Sidebar/PreviewImageProcessing/CachedThumbnailImageView.swift rename to v0.2/SwiftDiffusion/Views/MainViews/Sidebar/PreviewImageProcessing/CachedThumbnailImageView.swift diff --git a/SwiftDiffusion/Views/MainViews/Sidebar/PreviewImageProcessing/ImageCache.swift b/v0.2/SwiftDiffusion/Views/MainViews/Sidebar/PreviewImageProcessing/ImageCache.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/Sidebar/PreviewImageProcessing/ImageCache.swift rename to v0.2/SwiftDiffusion/Views/MainViews/Sidebar/PreviewImageProcessing/ImageCache.swift diff --git a/SwiftDiffusion/Views/MainViews/Sidebar/PreviewImageProcessing/NSImage+Extensions.swift b/v0.2/SwiftDiffusion/Views/MainViews/Sidebar/PreviewImageProcessing/NSImage+Extensions.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/Sidebar/PreviewImageProcessing/NSImage+Extensions.swift rename to v0.2/SwiftDiffusion/Views/MainViews/Sidebar/PreviewImageProcessing/NSImage+Extensions.swift diff --git a/SwiftDiffusion/Views/MainViews/Sidebar/PreviewImageProcessing/PreviewImageProcessingManager.swift b/v0.2/SwiftDiffusion/Views/MainViews/Sidebar/PreviewImageProcessing/PreviewImageProcessingManager.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/Sidebar/PreviewImageProcessing/PreviewImageProcessingManager.swift rename to v0.2/SwiftDiffusion/Views/MainViews/Sidebar/PreviewImageProcessing/PreviewImageProcessingManager.swift diff --git a/SwiftDiffusion/Views/MainViews/Sidebar/Sidebar.swift b/v0.2/SwiftDiffusion/Views/MainViews/Sidebar/Sidebar.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/Sidebar/Sidebar.swift rename to v0.2/SwiftDiffusion/Views/MainViews/Sidebar/Sidebar.swift diff --git a/SwiftDiffusion/Views/MainViews/Sidebar/SidebarExtensions/Sidebar+Move.swift b/v0.2/SwiftDiffusion/Views/MainViews/Sidebar/SidebarExtensions/Sidebar+Move.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/Sidebar/SidebarExtensions/Sidebar+Move.swift rename to v0.2/SwiftDiffusion/Views/MainViews/Sidebar/SidebarExtensions/Sidebar+Move.swift diff --git a/SwiftDiffusion/Views/MainViews/Sidebar/SidebarExtensions/Sidebar+Preload.swift b/v0.2/SwiftDiffusion/Views/MainViews/Sidebar/SidebarExtensions/Sidebar+Preload.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/Sidebar/SidebarExtensions/Sidebar+Preload.swift rename to v0.2/SwiftDiffusion/Views/MainViews/Sidebar/SidebarExtensions/Sidebar+Preload.swift diff --git a/SwiftDiffusion/Views/MainViews/Sidebar/SidebarFolderView/DropHandlerModifier.swift b/v0.2/SwiftDiffusion/Views/MainViews/Sidebar/SidebarFolderView/DropHandlerModifier.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/Sidebar/SidebarFolderView/DropHandlerModifier.swift rename to v0.2/SwiftDiffusion/Views/MainViews/Sidebar/SidebarFolderView/DropHandlerModifier.swift diff --git a/SwiftDiffusion/Views/MainViews/Sidebar/SidebarFolderView/FolderTitleControl.swift b/v0.2/SwiftDiffusion/Views/MainViews/Sidebar/SidebarFolderView/FolderTitleControl.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/Sidebar/SidebarFolderView/FolderTitleControl.swift rename to v0.2/SwiftDiffusion/Views/MainViews/Sidebar/SidebarFolderView/FolderTitleControl.swift diff --git a/SwiftDiffusion/Views/MainViews/Sidebar/SidebarFolderView/ParentFolderListItem.swift b/v0.2/SwiftDiffusion/Views/MainViews/Sidebar/SidebarFolderView/ParentFolderListItem.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/Sidebar/SidebarFolderView/ParentFolderListItem.swift rename to v0.2/SwiftDiffusion/Views/MainViews/Sidebar/SidebarFolderView/ParentFolderListItem.swift diff --git a/SwiftDiffusion/Views/MainViews/Sidebar/SidebarFolderView/SidebarFolderItem.swift b/v0.2/SwiftDiffusion/Views/MainViews/Sidebar/SidebarFolderView/SidebarFolderItem.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/Sidebar/SidebarFolderView/SidebarFolderItem.swift rename to v0.2/SwiftDiffusion/Views/MainViews/Sidebar/SidebarFolderView/SidebarFolderItem.swift diff --git a/SwiftDiffusion/Views/MainViews/Sidebar/SidebarFolderView/SidebarFolderView.swift b/v0.2/SwiftDiffusion/Views/MainViews/Sidebar/SidebarFolderView/SidebarFolderView.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/Sidebar/SidebarFolderView/SidebarFolderView.swift rename to v0.2/SwiftDiffusion/Views/MainViews/Sidebar/SidebarFolderView/SidebarFolderView.swift diff --git a/SwiftDiffusion/Views/MainViews/Sidebar/SidebarFolderView/SidebarItemView.swift b/v0.2/SwiftDiffusion/Views/MainViews/Sidebar/SidebarFolderView/SidebarItemView.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/Sidebar/SidebarFolderView/SidebarItemView.swift rename to v0.2/SwiftDiffusion/Views/MainViews/Sidebar/SidebarFolderView/SidebarItemView.swift diff --git a/SwiftDiffusion/Views/MainViews/Sidebar/SidebarFolderView/SidebarStoredItemView.swift b/v0.2/SwiftDiffusion/Views/MainViews/Sidebar/SidebarFolderView/SidebarStoredItemView.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/Sidebar/SidebarFolderView/SidebarStoredItemView.swift rename to v0.2/SwiftDiffusion/Views/MainViews/Sidebar/SidebarFolderView/SidebarStoredItemView.swift diff --git a/SwiftDiffusion/Views/MainViews/Sidebar/SidebarModel/SidebarModel+Clean.swift b/v0.2/SwiftDiffusion/Views/MainViews/Sidebar/SidebarModel/SidebarModel+Clean.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/Sidebar/SidebarModel/SidebarModel+Clean.swift rename to v0.2/SwiftDiffusion/Views/MainViews/Sidebar/SidebarModel/SidebarModel+Clean.swift diff --git a/SwiftDiffusion/Views/MainViews/Sidebar/SidebarModel/SidebarModel+Copy.swift b/v0.2/SwiftDiffusion/Views/MainViews/Sidebar/SidebarModel/SidebarModel+Copy.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/Sidebar/SidebarModel/SidebarModel+Copy.swift rename to v0.2/SwiftDiffusion/Views/MainViews/Sidebar/SidebarModel/SidebarModel+Copy.swift diff --git a/SwiftDiffusion/Views/MainViews/Sidebar/SidebarModel/SidebarModel+Create.swift b/v0.2/SwiftDiffusion/Views/MainViews/Sidebar/SidebarModel/SidebarModel+Create.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/Sidebar/SidebarModel/SidebarModel+Create.swift rename to v0.2/SwiftDiffusion/Views/MainViews/Sidebar/SidebarModel/SidebarModel+Create.swift diff --git a/SwiftDiffusion/Views/MainViews/Sidebar/SidebarModel/SidebarModel+Delete.swift b/v0.2/SwiftDiffusion/Views/MainViews/Sidebar/SidebarModel/SidebarModel+Delete.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/Sidebar/SidebarModel/SidebarModel+Delete.swift rename to v0.2/SwiftDiffusion/Views/MainViews/Sidebar/SidebarModel/SidebarModel+Delete.swift diff --git a/SwiftDiffusion/Views/MainViews/Sidebar/SidebarModel/SidebarModel+Move.swift b/v0.2/SwiftDiffusion/Views/MainViews/Sidebar/SidebarModel/SidebarModel+Move.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/Sidebar/SidebarModel/SidebarModel+Move.swift rename to v0.2/SwiftDiffusion/Views/MainViews/Sidebar/SidebarModel/SidebarModel+Move.swift diff --git a/SwiftDiffusion/Views/MainViews/Sidebar/SidebarModel/SidebarModel+Queue.swift b/v0.2/SwiftDiffusion/Views/MainViews/Sidebar/SidebarModel/SidebarModel+Queue.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/Sidebar/SidebarModel/SidebarModel+Queue.swift rename to v0.2/SwiftDiffusion/Views/MainViews/Sidebar/SidebarModel/SidebarModel+Queue.swift diff --git a/SwiftDiffusion/Views/MainViews/Sidebar/SidebarModel/SidebarModel+Save.swift b/v0.2/SwiftDiffusion/Views/MainViews/Sidebar/SidebarModel/SidebarModel+Save.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/Sidebar/SidebarModel/SidebarModel+Save.swift rename to v0.2/SwiftDiffusion/Views/MainViews/Sidebar/SidebarModel/SidebarModel+Save.swift diff --git a/SwiftDiffusion/Views/MainViews/Sidebar/SidebarModel/SidebarModel.swift b/v0.2/SwiftDiffusion/Views/MainViews/Sidebar/SidebarModel/SidebarModel.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/Sidebar/SidebarModel/SidebarModel.swift rename to v0.2/SwiftDiffusion/Views/MainViews/Sidebar/SidebarModel/SidebarModel.swift diff --git a/SwiftDiffusion/Views/MainViews/Sidebar/WorkspaceFolderView/WorkspaceFolderView.swift b/v0.2/SwiftDiffusion/Views/MainViews/Sidebar/WorkspaceFolderView/WorkspaceFolderView.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/Sidebar/WorkspaceFolderView/WorkspaceFolderView.swift rename to v0.2/SwiftDiffusion/Views/MainViews/Sidebar/WorkspaceFolderView/WorkspaceFolderView.swift diff --git a/SwiftDiffusion/Views/MainViews/Sidebar/WorkspaceFolderView/WorkspaceItemView.swift b/v0.2/SwiftDiffusion/Views/MainViews/Sidebar/WorkspaceFolderView/WorkspaceItemView.swift similarity index 100% rename from SwiftDiffusion/Views/MainViews/Sidebar/WorkspaceFolderView/WorkspaceItemView.swift rename to v0.2/SwiftDiffusion/Views/MainViews/Sidebar/WorkspaceFolderView/WorkspaceItemView.swift diff --git a/SwiftDiffusion/Views/OtherViews/Custom/CustomViews/HalfMaxWidthView.swift b/v0.2/SwiftDiffusion/Views/OtherViews/Custom/CustomViews/HalfMaxWidthView.swift similarity index 100% rename from SwiftDiffusion/Views/OtherViews/Custom/CustomViews/HalfMaxWidthView.swift rename to v0.2/SwiftDiffusion/Views/OtherViews/Custom/CustomViews/HalfMaxWidthView.swift diff --git a/SwiftDiffusion/Views/OtherViews/Custom/CustomViews/VisualEffectBlurView.swift b/v0.2/SwiftDiffusion/Views/OtherViews/Custom/CustomViews/VisualEffectBlurView.swift similarity index 100% rename from SwiftDiffusion/Views/OtherViews/Custom/CustomViews/VisualEffectBlurView.swift rename to v0.2/SwiftDiffusion/Views/OtherViews/Custom/CustomViews/VisualEffectBlurView.swift diff --git a/SwiftDiffusion/Views/OtherViews/Custom/ToolbarViews/ToolbarButton.swift b/v0.2/SwiftDiffusion/Views/OtherViews/Custom/ToolbarViews/ToolbarButton.swift similarity index 100% rename from SwiftDiffusion/Views/OtherViews/Custom/ToolbarViews/ToolbarButton.swift rename to v0.2/SwiftDiffusion/Views/OtherViews/Custom/ToolbarViews/ToolbarButton.swift diff --git a/SwiftDiffusion/Views/OtherViews/DebugViews/ConsoleView.swift b/v0.2/SwiftDiffusion/Views/OtherViews/DebugViews/ConsoleView.swift similarity index 100% rename from SwiftDiffusion/Views/OtherViews/DebugViews/ConsoleView.swift rename to v0.2/SwiftDiffusion/Views/OtherViews/DebugViews/ConsoleView.swift diff --git a/SwiftDiffusion/Views/Symbols/SFSymbol+SwiftUI.swift b/v0.2/SwiftDiffusion/Views/Symbols/SFSymbol+SwiftUI.swift similarity index 100% rename from SwiftDiffusion/Views/Symbols/SFSymbol+SwiftUI.swift rename to v0.2/SwiftDiffusion/Views/Symbols/SFSymbol+SwiftUI.swift diff --git a/SwiftDiffusion/Views/Symbols/SFSymbol.swift b/v0.2/SwiftDiffusion/Views/Symbols/SFSymbol.swift similarity index 100% rename from SwiftDiffusion/Views/Symbols/SFSymbol.swift rename to v0.2/SwiftDiffusion/Views/Symbols/SFSymbol.swift diff --git a/SwiftDiffusion/Views/Symbols/SymbolButtons.swift b/v0.2/SwiftDiffusion/Views/Symbols/SymbolButtons.swift similarity index 100% rename from SwiftDiffusion/Views/Symbols/SymbolButtons.swift rename to v0.2/SwiftDiffusion/Views/Symbols/SymbolButtons.swift diff --git a/SwiftDiffusion/Views/WindowViews/BetaOnboardingView/BetaOnboardingView.swift b/v0.2/SwiftDiffusion/Views/WindowViews/BetaOnboardingView/BetaOnboardingView.swift similarity index 100% rename from SwiftDiffusion/Views/WindowViews/BetaOnboardingView/BetaOnboardingView.swift rename to v0.2/SwiftDiffusion/Views/WindowViews/BetaOnboardingView/BetaOnboardingView.swift diff --git a/SwiftDiffusion/Views/WindowViews/CheckpointManagerView/CheckpointManagerView.swift b/v0.2/SwiftDiffusion/Views/WindowViews/CheckpointManagerView/CheckpointManagerView.swift similarity index 100% rename from SwiftDiffusion/Views/WindowViews/CheckpointManagerView/CheckpointManagerView.swift rename to v0.2/SwiftDiffusion/Views/WindowViews/CheckpointManagerView/CheckpointManagerView.swift diff --git a/SwiftDiffusion/Views/WindowViews/CheckpointManagerView/CheckpointPreferencesView.swift b/v0.2/SwiftDiffusion/Views/WindowViews/CheckpointManagerView/CheckpointPreferencesView.swift similarity index 100% rename from SwiftDiffusion/Views/WindowViews/CheckpointManagerView/CheckpointPreferencesView.swift rename to v0.2/SwiftDiffusion/Views/WindowViews/CheckpointManagerView/CheckpointPreferencesView.swift diff --git a/SwiftDiffusion/Views/WindowViews/SettingsView/RequiredInputPaths/RequiredInputPathsPulsatingButton.swift b/v0.2/SwiftDiffusion/Views/WindowViews/SettingsView/RequiredInputPaths/RequiredInputPathsPulsatingButton.swift similarity index 100% rename from SwiftDiffusion/Views/WindowViews/SettingsView/RequiredInputPaths/RequiredInputPathsPulsatingButton.swift rename to v0.2/SwiftDiffusion/Views/WindowViews/SettingsView/RequiredInputPaths/RequiredInputPathsPulsatingButton.swift diff --git a/SwiftDiffusion/Views/WindowViews/SettingsView/RequiredInputPaths/RequiredInputPathsView.swift b/v0.2/SwiftDiffusion/Views/WindowViews/SettingsView/RequiredInputPaths/RequiredInputPathsView.swift similarity index 100% rename from SwiftDiffusion/Views/WindowViews/SettingsView/RequiredInputPaths/RequiredInputPathsView.swift rename to v0.2/SwiftDiffusion/Views/WindowViews/SettingsView/RequiredInputPaths/RequiredInputPathsView.swift diff --git a/SwiftDiffusion/Views/WindowViews/SettingsView/SettingsSections/CustomViews/BrowseFileRow.swift b/v0.2/SwiftDiffusion/Views/WindowViews/SettingsView/SettingsSections/CustomViews/BrowseFileRow.swift similarity index 100% rename from SwiftDiffusion/Views/WindowViews/SettingsView/SettingsSections/CustomViews/BrowseFileRow.swift rename to v0.2/SwiftDiffusion/Views/WindowViews/SettingsView/SettingsSections/CustomViews/BrowseFileRow.swift diff --git a/SwiftDiffusion/Views/WindowViews/SettingsView/SettingsSections/CustomViews/SettingsSectionHeader.swift b/v0.2/SwiftDiffusion/Views/WindowViews/SettingsView/SettingsSections/CustomViews/SettingsSectionHeader.swift similarity index 100% rename from SwiftDiffusion/Views/WindowViews/SettingsView/SettingsSections/CustomViews/SettingsSectionHeader.swift rename to v0.2/SwiftDiffusion/Views/WindowViews/SettingsView/SettingsSections/CustomViews/SettingsSectionHeader.swift diff --git a/SwiftDiffusion/Views/WindowViews/SettingsView/SettingsSections/CustomViews/ToggleWithHeader.swift b/v0.2/SwiftDiffusion/Views/WindowViews/SettingsView/SettingsSections/CustomViews/ToggleWithHeader.swift similarity index 100% rename from SwiftDiffusion/Views/WindowViews/SettingsView/SettingsSections/CustomViews/ToggleWithHeader.swift rename to v0.2/SwiftDiffusion/Views/WindowViews/SettingsView/SettingsSections/CustomViews/ToggleWithHeader.swift diff --git a/SwiftDiffusion/Views/WindowViews/SettingsView/SettingsSections/CustomViews/ToolbarTabButtonStyle.swift b/v0.2/SwiftDiffusion/Views/WindowViews/SettingsView/SettingsSections/CustomViews/ToolbarTabButtonStyle.swift similarity index 100% rename from SwiftDiffusion/Views/WindowViews/SettingsView/SettingsSections/CustomViews/ToolbarTabButtonStyle.swift rename to v0.2/SwiftDiffusion/Views/WindowViews/SettingsView/SettingsSections/CustomViews/ToolbarTabButtonStyle.swift diff --git a/SwiftDiffusion/Views/WindowViews/SettingsView/SettingsSections/DeveloperSection.swift b/v0.2/SwiftDiffusion/Views/WindowViews/SettingsView/SettingsSections/DeveloperSection.swift similarity index 100% rename from SwiftDiffusion/Views/WindowViews/SettingsView/SettingsSections/DeveloperSection.swift rename to v0.2/SwiftDiffusion/Views/WindowViews/SettingsView/SettingsSections/DeveloperSection.swift diff --git a/SwiftDiffusion/Views/WindowViews/SettingsView/SettingsSections/EngineSection.swift b/v0.2/SwiftDiffusion/Views/WindowViews/SettingsView/SettingsSections/EngineSection.swift similarity index 100% rename from SwiftDiffusion/Views/WindowViews/SettingsView/SettingsSections/EngineSection.swift rename to v0.2/SwiftDiffusion/Views/WindowViews/SettingsView/SettingsSections/EngineSection.swift diff --git a/SwiftDiffusion/Views/WindowViews/SettingsView/SettingsSections/FilesSection.swift b/v0.2/SwiftDiffusion/Views/WindowViews/SettingsView/SettingsSections/FilesSection.swift similarity index 100% rename from SwiftDiffusion/Views/WindowViews/SettingsView/SettingsSections/FilesSection.swift rename to v0.2/SwiftDiffusion/Views/WindowViews/SettingsView/SettingsSections/FilesSection.swift diff --git a/SwiftDiffusion/Views/WindowViews/SettingsView/SettingsSections/GeneralSection.swift b/v0.2/SwiftDiffusion/Views/WindowViews/SettingsView/SettingsSections/GeneralSection.swift similarity index 100% rename from SwiftDiffusion/Views/WindowViews/SettingsView/SettingsSections/GeneralSection.swift rename to v0.2/SwiftDiffusion/Views/WindowViews/SettingsView/SettingsSections/GeneralSection.swift diff --git a/SwiftDiffusion/Views/WindowViews/SettingsView/SettingsSections/PromptSection.swift b/v0.2/SwiftDiffusion/Views/WindowViews/SettingsView/SettingsSections/PromptSection.swift similarity index 100% rename from SwiftDiffusion/Views/WindowViews/SettingsView/SettingsSections/PromptSection.swift rename to v0.2/SwiftDiffusion/Views/WindowViews/SettingsView/SettingsSections/PromptSection.swift diff --git a/SwiftDiffusion/Views/WindowViews/SettingsView/SettingsTab.swift b/v0.2/SwiftDiffusion/Views/WindowViews/SettingsView/SettingsTab.swift similarity index 100% rename from SwiftDiffusion/Views/WindowViews/SettingsView/SettingsTab.swift rename to v0.2/SwiftDiffusion/Views/WindowViews/SettingsView/SettingsTab.swift diff --git a/SwiftDiffusion/Views/WindowViews/SettingsView/SettingsView.swift b/v0.2/SwiftDiffusion/Views/WindowViews/SettingsView/SettingsView.swift similarity index 100% rename from SwiftDiffusion/Views/WindowViews/SettingsView/SettingsView.swift rename to v0.2/SwiftDiffusion/Views/WindowViews/SettingsView/SettingsView.swift diff --git a/SwiftDiffusion/Views/WindowViews/SettingsView/UserSettings+URLs.swift b/v0.2/SwiftDiffusion/Views/WindowViews/SettingsView/UserSettings+URLs.swift similarity index 100% rename from SwiftDiffusion/Views/WindowViews/SettingsView/UserSettings+URLs.swift rename to v0.2/SwiftDiffusion/Views/WindowViews/SettingsView/UserSettings+URLs.swift diff --git a/SwiftDiffusion/Views/WindowViews/SettingsView/UserSettings.swift b/v0.2/SwiftDiffusion/Views/WindowViews/SettingsView/UserSettings.swift similarity index 100% rename from SwiftDiffusion/Views/WindowViews/SettingsView/UserSettings.swift rename to v0.2/SwiftDiffusion/Views/WindowViews/SettingsView/UserSettings.swift diff --git a/SwiftDiffusion/Views/WindowViews/UpdateView/GitHubReleaseFetcher.swift b/v0.2/SwiftDiffusion/Views/WindowViews/UpdateView/GitHubReleaseFetcher.swift similarity index 100% rename from SwiftDiffusion/Views/WindowViews/UpdateView/GitHubReleaseFetcher.swift rename to v0.2/SwiftDiffusion/Views/WindowViews/UpdateView/GitHubReleaseFetcher.swift diff --git a/SwiftDiffusion/Views/WindowViews/UpdateView/UpdateManager.swift b/v0.2/SwiftDiffusion/Views/WindowViews/UpdateView/UpdateManager.swift similarity index 100% rename from SwiftDiffusion/Views/WindowViews/UpdateView/UpdateManager.swift rename to v0.2/SwiftDiffusion/Views/WindowViews/UpdateView/UpdateManager.swift diff --git a/SwiftDiffusion/Views/WindowViews/UpdateView/UpdateView.swift b/v0.2/SwiftDiffusion/Views/WindowViews/UpdateView/UpdateView.swift similarity index 100% rename from SwiftDiffusion/Views/WindowViews/UpdateView/UpdateView.swift rename to v0.2/SwiftDiffusion/Views/WindowViews/UpdateView/UpdateView.swift diff --git a/SwiftDiffusion/Views/WindowViews/UpdateView/UpdateViewState.swift b/v0.2/SwiftDiffusion/Views/WindowViews/UpdateView/UpdateViewState.swift similarity index 100% rename from SwiftDiffusion/Views/WindowViews/UpdateView/UpdateViewState.swift rename to v0.2/SwiftDiffusion/Views/WindowViews/UpdateView/UpdateViewState.swift diff --git a/SwiftDiffusion/WindowManager.swift b/v0.2/SwiftDiffusion/WindowManager.swift similarity index 100% rename from SwiftDiffusion/WindowManager.swift rename to v0.2/SwiftDiffusion/WindowManager.swift