| Crates.io | sable |
| lib.rs | sable |
| version | 0.1.0 |
| created_at | 2025-12-16 23:45:44.490095+00 |
| updated_at | 2025-12-16 23:45:44.490095+00 |
| description | A modular 3D/2.5D game engine with multi-backend rendering |
| homepage | |
| repository | https://github.com/pegasusheavy/sable |
| max_upload_size | |
| id | 1988947 |
| size | 540,270 |
A modular 3D/2.5D game engine built in Rust, focusing on modern graphics APIs and excellent developer experience.
use sable::prelude::*;
fn main() {
// Math types
let position = Vec3::new(1.0, 2.0, 3.0);
let rotation = Quat::from_axis_angle(Vec3::Y, radians(45.0));
let transform = Mat4::from_translation(position) * rotation.to_mat4();
// Colors
let color = Srgba::from_hex(0xFF5500);
let linear = color.to_linear(); // For GPU operations
// Generational handles for safe resource management
let mut textures = HandleAllocator::new();
let handle = textures.allocate(MyTexture::new());
// Time tracking
let mut time = Time::new();
time.update();
println!("Delta: {}ms", time.delta_secs() * 1000.0);
}
sable/
├── sable-core # ✅ Math, handles, colors, time utilities
├── sable-platform # ⏳ Windowing, input
├── sable-gpu # ⏳ Vulkan abstraction
├── sable-metal # ⏳ Metal backend (macOS/iOS)
├── sable-dx12 # ⏳ DirectX 12 backend (Windows)
├── sable-render # ⏳ High-level rendering (backend-agnostic)
├── sable-assets # ⏳ Asset loading, hot-reload
├── sable-scene # ⏳ ECS, transforms, spatial structures
├── sable-audio # ⏳ Audio playback, spatial sound
├── sable-physics # ⏳ Collision, rigid bodies
├── sable-puppet # ⏳ Live2D-style character animation
├── sable-script # ⏳ Scripting integration
├── sable-editor # ⏳ Visual development editor
├── sable-macros # ⏳ Proc macros for DX
└── sable-app # ⏳ Application framework
| Module | Features |
|---|---|
| Math | Vec2, Vec3, Vec4, Mat3, Mat4, Quat with full operator support |
| Transforms | Rotation, scale, translation matrices; perspective/orthographic projection |
| Quaternions | Axis-angle, euler angles, slerp/nlerp interpolation |
| Handles | Generational indices for safe resource management |
| Colors | sRGB and linear color spaces with gamma-correct conversions |
| Time | Frame timing, fixed timestep for physics, stopwatch |
Test Coverage: 170 unit tests
🚧 Early Development — Foundation complete, rendering in progress.
See TODO.md for the full development roadmap.
git clone https://github.com/PegasusHeavyIndustries/sable.git
cd sable
cargo build --workspace
# All tests
cargo test --workspace
# Specific crate
cargo test -p sable-core
# Basic triangle (coming soon)
cargo run --example hello_triangle
# 2D sprites (coming soon)
cargo run --example sprite_batch
# Puppet animation (coming soon)
cargo run --example puppet_basic
# Install development tools
cargo install cargo-commitlint
# Run tests (also installs pre-commit hooks via cargo-husky)
cargo test --workspace
# Check formatting and lints
cargo fmt --all --check
cargo clippy --workspace -- -D warnings
# Build documentation
cargo doc --workspace --no-deps --open
See CONTRIBUTING.md for detailed guidelines.
| Milestone | Description | Status |
|---|---|---|
| v0.1 | Foundation (math, handles, time) | ✅ |
| v0.2 | Platform & Vulkan (window, device, swapchain) | 🚧 |
| v0.2.5 | Metal backend | ⏳ |
| v0.2.6 | DirectX 12 backend | ⏳ |
| v0.3 | Basic rendering (meshes, textures, camera) | ⏳ |
| v0.4 | 2D support (sprites, text) | ⏳ |
| v0.5 | Production rendering (PBR, shadows) | ⏳ |
| v0.6 | ECS and scenes | ⏳ |
| v0.7 | Audio and physics | ⏳ |
| v0.8 | Puppet system | ⏳ |
| v0.9 | Scripting | ⏳ |
| v0.10 | Editor | ⏳ |
| v1.0 | Stable release | ⏳ |
cargo doc --workspace --openSable Engine is proprietary software. See LICENSE for full terms.
| Team Size | License Terms |
|---|---|
| < 5 people | ✅ Free to use |
| ≥ 5 people | 10% revenue share on sold copies |
For licensing inquiries: licensing@pegasusheavyindustries.com
Contributions are welcome! Please read CONTRIBUTING.md before submitting PRs.
By contributing, you agree that your contributions will be licensed under the same proprietary license as the project.
Sable is developed by Pegasus Heavy Industries LLC.