refactor: split into gameboy-rust workspace with core, demos, and desktop crates

Move the emulator into crates/gba-core, the original demo programs into
crates/gba-demos, and the minifb frontend into crates/desktop. The binary
is now gameboy-rust. Imports change from gba_rust to gba_core/gba_demos;
no behavior changes.

gba-core has no dependencies. Its integration tests use gba-demos as a
development dependency.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
0xrsydn 2026-10-05 16:07:32 +07:00
commit f8a0676748
113 changed files with 304 additions and 282 deletions

View file

@ -1,18 +1,8 @@
[package]
name = "gba-rust"
[workspace]
resolver = "2"
members = ["crates/gba-core", "crates/gba-demos", "crates/desktop"]
[workspace.package]
version = "0.1.0"
edition = "2021"
publish = false
[features]
default = ["desktop"]
desktop = ["dep:minifb"]
[dependencies]
# Pinned because src/desktop.rs corrects a macOS focus bug in this version.
minifb = { version = "=0.28.0", optional = true, default-features = false, features = ["x11"] }
[[bin]]
name = "gba-rust"
path = "src/main.rs"
required-features = ["desktop"]