From 42c13c1769f2e38b5df1c002729343aa21494feb Mon Sep 17 00:00:00 2001 From: Alexander Loren Date: Wed, 26 Aug 2026 08:37:43 -0700 Subject: [PATCH] Initial commit --- .gitignore | 220 ++++++++++++++++++++++ Godot/.editorconfig | 4 + Godot/icon.svg | 1 + Godot/icon.svg.import | 43 +++++ Godot/project.godot | 23 +++ Swift/Package.resolved | 33 ++++ Swift/Package.swift | 33 ++++ Swift/Sources/Logic/Logic.swift | 2 + Swift/Tests/Logic Tests/Logic Tests.swift | 8 + 9 files changed, 367 insertions(+) create mode 100644 .gitignore create mode 100644 Godot/.editorconfig create mode 100644 Godot/icon.svg create mode 100644 Godot/icon.svg.import create mode 100644 Godot/project.godot create mode 100644 Swift/Package.resolved create mode 100644 Swift/Package.swift create mode 100644 Swift/Sources/Logic/Logic.swift create mode 100644 Swift/Tests/Logic Tests/Logic Tests.swift diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d83e198 --- /dev/null +++ b/.gitignore @@ -0,0 +1,220 @@ +# Created by https://www.toptal.com/developers/gitignore/api/macos,windows,linux,swift,swiftpm,swiftpackagemanager,visualstudiocode,xcode,godot +# Edit at https://www.toptal.com/developers/gitignore?templates=macos,windows,linux,swift,swiftpm,swiftpackagemanager,visualstudiocode,xcode,godot + +### Godot ### +# Godot 4+ specific ignores +.godot/ + +# Godot-specific ignores +.import/ +export.cfg +export_presets.cfg + +# Imported translations (automatically generated from CSV files) +*.translation + +# Mono-specific ignores +.mono/ +data_*/ +mono_crash.*.json + +### Linux ### +*~ + +# temporary files which can be created if a process still has a handle open of a deleted file +.fuse_hidden* + +# KDE directory preferences +.directory + +# Linux trash folder which might appear on any partition or disk +.Trash-* + +# .nfs files are created when an open file is removed but is still being accessed +.nfs* + +### macOS ### +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +### macOS Patch ### +# iCloud generated files +*.icloud + +### Swift ### +# Xcode +# +# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore + +## User settings +xcuserdata/ + +## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9) +*.xcscmblueprint +*.xccheckout + +## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4) +build/ +DerivedData/ +*.moved-aside +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 + +## Obj-C/Swift specific +*.hmap + +## App packaging +*.ipa +*.dSYM.zip +*.dSYM + +## Playgrounds +timeline.xctimeline +playground.xcworkspace + +# Swift Package Manager +# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies. +# Packages/ +# Package.pins +# Package.resolved +# *.xcodeproj +# Xcode automatically generates this directory with a .xcworkspacedata file and xcuserdata +# hence it is not needed unless you have added a package configuration file to your project +# .swiftpm + +.build/ + +# CocoaPods +# We recommend against adding the Pods directory to your .gitignore. However +# you should judge for yourself, the pros and cons are mentioned at: +# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control +# Pods/ +# Add this line if you want to avoid checking in source code from the Xcode workspace +# *.xcworkspace + +# Carthage +# Add this line if you want to avoid checking in source code from Carthage dependencies. +# Carthage/Checkouts + +Carthage/Build/ + +# Accio dependency management +Dependencies/ +.accio/ + +# fastlane +# It is recommended to not store the screenshots in the git repo. +# Instead, use fastlane to re-generate the screenshots whenever they are needed. +# For more information about the recommended setup visit: +# https://docs.fastlane.tools/best-practices/source-control/#source-control + +fastlane/report.xml +fastlane/Preview.html +fastlane/screenshots/**/*.png +fastlane/test_output + +# Code Injection +# After new code Injection tools there's a generated folder /iOSInjectionProject +# https://github.com/johnno1962/injectionforxcode + +iOSInjectionProject/ + +### SwiftPackageManager ### +Packages +xcuserdata +*.xcodeproj + + +### SwiftPM ### + + +### VisualStudioCode ### +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +!.vscode/*.code-snippets + +# Local History for Visual Studio Code +.history/ + +# Built Visual Studio Code Extensions +*.vsix + +### VisualStudioCode Patch ### +# Ignore all local history of files +.history +.ionide + +### Windows ### +# Windows thumbnail cache files +Thumbs.db +Thumbs.db:encryptable +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + +### Xcode ### + +## Xcode 8 and earlier + +### Xcode Patch ### +*.xcodeproj/* +!*.xcodeproj/project.pbxproj +!*.xcodeproj/xcshareddata/ +!*.xcodeproj/project.xcworkspace/ +!*.xcworkspace/contents.xcworkspacedata +/*.gcno +**/xcshareddata/WorkspaceSettings.xcsettings + +# End of https://www.toptal.com/developers/gitignore/api/macos,windows,linux,swift,swiftpm,swiftpackagemanager,visualstudiocode,xcode,godot diff --git a/Godot/.editorconfig b/Godot/.editorconfig new file mode 100644 index 0000000..f28239b --- /dev/null +++ b/Godot/.editorconfig @@ -0,0 +1,4 @@ +root = true + +[*] +charset = utf-8 diff --git a/Godot/icon.svg b/Godot/icon.svg new file mode 100644 index 0000000..c6bbb7d --- /dev/null +++ b/Godot/icon.svg @@ -0,0 +1 @@ + diff --git a/Godot/icon.svg.import b/Godot/icon.svg.import new file mode 100644 index 0000000..62cc6ac --- /dev/null +++ b/Godot/icon.svg.import @@ -0,0 +1,43 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dd5dqwysr64g0" +path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icon.svg" +dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/Godot/project.godot b/Godot/project.godot new file mode 100644 index 0000000..730d3c6 --- /dev/null +++ b/Godot/project.godot @@ -0,0 +1,23 @@ +; Engine configuration file. +; It's best edited using the editor UI and not directly, +; since the parameters that go here are not all obvious. +; +; Format: +; [section] ; section goes between [] +; param=value ; assign values to parameters + +config_version=5 + +[application] + +config/name="Godot CI Action Example" +config/features=PackedStringArray("4.6", "Forward Plus") +config/icon="res://icon.svg" + +[physics] + +3d/physics_engine="Jolt Physics" + +[rendering] + +rendering_device/driver.windows="d3d12" diff --git a/Swift/Package.resolved b/Swift/Package.resolved new file mode 100644 index 0000000..6bde18a --- /dev/null +++ b/Swift/Package.resolved @@ -0,0 +1,33 @@ +{ + "originHash" : "d86eb4e9e571bf364b6c16d511f4b1cc74d842b35c3e29a542bab51c79399eac", + "pins" : [ + { + "identity" : "swift-argument-parser", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-argument-parser", + "state" : { + "revision" : "6a52f3251125d74daf04fcbd5e6f08a75d074382", + "version" : "1.8.2" + } + }, + { + "identity" : "swift-syntax", + "kind" : "remoteSourceControl", + "location" : "https://github.com/swiftlang/swift-syntax", + "state" : { + "revision" : "79e4b74a295b6eb74a8b585e3a39d29e70c1dbd1", + "version" : "603.0.2" + } + }, + { + "identity" : "swiftgodot", + "kind" : "remoteSourceControl", + "location" : "https://github.com/migueldeicaza/SwiftGodot", + "state" : { + "branch" : "main", + "revision" : "269d526ee440afd537cb1d2079f6ff4b3c96014c" + } + } + ], + "version" : 3 +} diff --git a/Swift/Package.swift b/Swift/Package.swift new file mode 100644 index 0000000..3ba7275 --- /dev/null +++ b/Swift/Package.swift @@ -0,0 +1,33 @@ +// swift-tools-version: 6.3 + +import PackageDescription + +let package = Package( + name: "logic", + platforms: [ + .macOS(.v14) + ], + products: [ + .library( + name: "Logic", + type: .dynamic, + targets: ["Logic"] + ), + ], + dependencies: [ + .package(url: "https://github.com/migueldeicaza/SwiftGodot", branch: "main") + ], + targets: [ + .target( + name: "Logic", + dependencies: [ + .product(name: "SwiftGodot", package: "SwiftGodot") + ] + ), + .testTarget( + name: "Logic Tests", + dependencies: ["Logic"] + ), + ], + swiftLanguageModes: [.v6] +) diff --git a/Swift/Sources/Logic/Logic.swift b/Swift/Sources/Logic/Logic.swift new file mode 100644 index 0000000..78f60ba --- /dev/null +++ b/Swift/Sources/Logic/Logic.swift @@ -0,0 +1,2 @@ +import Foundation +import SwiftGodot diff --git a/Swift/Tests/Logic Tests/Logic Tests.swift b/Swift/Tests/Logic Tests/Logic Tests.swift new file mode 100644 index 0000000..be82ce7 --- /dev/null +++ b/Swift/Tests/Logic Tests/Logic Tests.swift @@ -0,0 +1,8 @@ +import Testing +@testable import logic + +@Test func example() async throws { + // Write your test here and use APIs like `#expect(...)` to check expected conditions. + // Swift Testing Documentation + // https://developer.apple.com/documentation/testing +}