0.1.0-0-pre.1

This commit is contained in:
2026-09-15 23:26:37 +02:00
commit 8b4c79c431
57 changed files with 2314 additions and 0 deletions

View File

@@ -0,0 +1,14 @@
# file: crates/engines/engine-v1-common/Cargo.toml
# version: 1
[package]
name = "engine-v1-common"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
authors.workspace = true
publish.workspace = true
[lints]
workspace = true

View File

@@ -0,0 +1,21 @@
// file: crates/engines/engine-v1-common/src/action.rs
// version: 1
/// Logical game actions independent from physical input devices.
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub enum GameAction {
/// Move or select left.
Left,
/// Move or select right.
Right,
/// Move or select upward.
Up,
/// Move or select downward.
Down,
/// Trigger the primary game action.
Primary,
/// Trigger the secondary game action.
Secondary,
/// Pause or resume the game.
Pause,
}

View File

@@ -0,0 +1,13 @@
// file: crates/engines/engine-v1-common/src/lib.rs
// version: 1
#![warn(missing_docs)]
#![deny(unreachable_pub)]
#![forbid(unsafe_code)]
//! Common, platform-independent primitives for engine generation V1.
mod action;
/// Re-export of the canonical logical input action used by engine V1 games.
pub use self::action::GameAction;

View File

@@ -0,0 +1,14 @@
# file: crates/engines/engine-v1-platform-api/Cargo.toml
# version: 1
[package]
name = "engine-v1-platform-api"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
authors.workspace = true
publish.workspace = true
[lints]
workspace = true

View File

@@ -0,0 +1,13 @@
// file: crates/engines/engine-v1-platform-api/src/lib.rs
// version: 1
#![warn(missing_docs)]
#![deny(unreachable_pub)]
#![forbid(unsafe_code)]
//! Platform service contracts shared by engine generation V1.
mod service;
/// Re-export of the minimal platform service capability enumeration.
pub use self::service::PlatformCapability;

View File

@@ -0,0 +1,17 @@
// file: crates/engines/engine-v1-platform-api/src/service.rs
// version: 1
/// Platform capabilities that may have different implementations per target.
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub enum PlatformCapability {
/// Advertising integration.
Advertising,
/// In-app billing integration.
Billing,
/// Native share integration.
Sharing,
/// Haptic feedback integration.
Haptics,
/// Online leaderboard integration.
Leaderboard,
}

View File

@@ -0,0 +1,17 @@
# file: crates/engines/engine-v1-sdl/Cargo.toml
# version: 1
[package]
name = "engine-v1-sdl"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
authors.workspace = true
publish.workspace = true
[dependencies]
engine-v1-common = { path = "../engine-v1-common" }
[lints]
workspace = true

View File

@@ -0,0 +1,15 @@
// file: crates/engines/engine-v1-sdl/src/lib.rs
// version: 1
#![warn(missing_docs)]
#![deny(unreachable_pub)]
#![forbid(unsafe_code)]
//! SDL boundary for engine generation V1.
//!
//! The baseline intentionally contains only the boundary type. The external SDL3 dependency is introduced in the dedicated SDL integration delta.
mod runtime;
/// Re-export of the SDL runtime boundary marker.
pub use self::runtime::SdlRuntimeBoundary;

View File

@@ -0,0 +1,14 @@
// file: crates/engines/engine-v1-sdl/src/runtime.rs
// version: 1
/// Marker representing the future SDL3 runtime boundary for engine V1.
#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
pub struct SdlRuntimeBoundary;
impl SdlRuntimeBoundary {
/// Returns the engine generation served by this boundary.
#[must_use]
pub const fn engine_generation() -> u16 {
return 1;
}
}