initial commit
This commit is contained in:
commit
6d27a8ed3a
17 changed files with 4440 additions and 0 deletions
103
Package.swift
Normal file
103
Package.swift
Normal file
|
|
@ -0,0 +1,103 @@
|
|||
// swift-tools-version: 6.0
|
||||
// The swift-tools-version declares the minimum version of Swift required to build this package.
|
||||
|
||||
import PackageDescription
|
||||
|
||||
let package = Package(
|
||||
name: "SportsBallEngine",
|
||||
platforms: [
|
||||
.macOS(.v14),
|
||||
.linux
|
||||
],
|
||||
products: [
|
||||
.executable(
|
||||
name: "SportsBallEngine",
|
||||
targets: ["SportsBallEngine"]
|
||||
),
|
||||
],
|
||||
dependencies: [
|
||||
// Add external dependencies here (e.g., GLFW/SDL bindings, Vulkan bindings)
|
||||
// .package(url: "https://github.com/example/swift-vulkan.git", from: "1.0.0"),
|
||||
],
|
||||
targets: [
|
||||
// Main executable target
|
||||
.executableTarget(
|
||||
name: "SportsBallEngine",
|
||||
dependencies: [
|
||||
"EngineCore",
|
||||
"PlatformWin32",
|
||||
"PlatformLinux"
|
||||
]
|
||||
),
|
||||
|
||||
// ====== PLATFORM-AGNOSTIC CORE MODULES ======
|
||||
|
||||
// Engine Core - Main loop and scene management
|
||||
.target(
|
||||
name: "EngineCore",
|
||||
dependencies: [
|
||||
"RendererAPI",
|
||||
"PhysicsEngine",
|
||||
"AssetLoader"
|
||||
]
|
||||
),
|
||||
|
||||
// Renderer API - Protocol definitions only
|
||||
.target(
|
||||
name: "RendererAPI",
|
||||
dependencies: []
|
||||
),
|
||||
|
||||
// Physics Engine - Sports-optimized physics simulation
|
||||
.target(
|
||||
name: "PhysicsEngine",
|
||||
dependencies: []
|
||||
),
|
||||
|
||||
// Asset Loader - 3D models, textures, animations
|
||||
.target(
|
||||
name: "AssetLoader",
|
||||
dependencies: []
|
||||
),
|
||||
|
||||
// ====== PLATFORM-SPECIFIC MODULES ======
|
||||
|
||||
// Windows Platform Layer
|
||||
.target(
|
||||
name: "PlatformWin32",
|
||||
dependencies: [
|
||||
"RendererAPI",
|
||||
"DX12Renderer"
|
||||
]
|
||||
),
|
||||
|
||||
// Linux Platform Layer
|
||||
.target(
|
||||
name: "PlatformLinux",
|
||||
dependencies: [
|
||||
"RendererAPI",
|
||||
"VulkanRenderer"
|
||||
]
|
||||
),
|
||||
|
||||
// Vulkan Renderer Implementation
|
||||
.target(
|
||||
name: "VulkanRenderer",
|
||||
dependencies: ["RendererAPI"]
|
||||
),
|
||||
|
||||
// DirectX 12 Renderer Implementation
|
||||
.target(
|
||||
name: "DX12Renderer",
|
||||
dependencies: ["RendererAPI"]
|
||||
),
|
||||
|
||||
// ====== TESTS ======
|
||||
|
||||
.testTarget(
|
||||
name: "EngineCoreTests",
|
||||
dependencies: ["EngineCore"]
|
||||
),
|
||||
]
|
||||
)
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue