feat: initialise workspace — Milestone 1 asset explorer
Three-crate Cargo workspace structured per PROJECT.md spec: - crates/sylpheed-formats — Xbox 360 format parsers (no Bevy) - crates/sylpheed-viewer — Bevy 0.15 asset viewer + egui UI - crates/sylpheed-cli — CLI tools (extract/list/sniff/texture) Milestone 1 features: - XISO disc image reading via xdvdfs 0.8 - XPR2 texture container parsing + Morton de-tiling - D3DFORMAT → wgpu TextureFormat mapping (DXT1/3/5, DXN, ARGB) - Custom Bevy AssetLoader for .xpr files - Orbit camera (LMB orbit, RMB pan, scroll zoom) - egui file browser + RE notes panel - CLI: extract / list / sniff / texture info / texture export - GitHub Actions CI (Linux, macOS, Windows, WASM) - Trunk WASM build config Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
50
Cargo.toml
Normal file
50
Cargo.toml
Normal file
@@ -0,0 +1,50 @@
|
||||
[workspace]
|
||||
members = [
|
||||
"crates/sylpheed-formats",
|
||||
"crates/sylpheed-viewer",
|
||||
"crates/sylpheed-cli",
|
||||
]
|
||||
resolver = "2"
|
||||
|
||||
[workspace.package]
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
license = "MIT OR Apache-2.0"
|
||||
authors = ["Project Sylpheed Reborn Contributors"]
|
||||
repository = "https://github.com/sylpheed-reborn/sylpheed-reborn"
|
||||
|
||||
[workspace.dependencies]
|
||||
# ── Format / parser crates ──────────────────────────────────────────────────
|
||||
sylpheed-formats = { path = "crates/sylpheed-formats" }
|
||||
|
||||
# ── Bevy game engine ────────────────────────────────────────────────────────
|
||||
bevy = { version = "0.15", default-features = false }
|
||||
bevy_egui = "0.31"
|
||||
|
||||
# ── Xbox 360 XISO / XDVDFS disc image parsing ───────────────────────────────
|
||||
xdvdfs = { version = "0.8", features = ["log"] }
|
||||
|
||||
# ── Binary format parsing with derive macros ────────────────────────────────
|
||||
binrw = "0.14"
|
||||
|
||||
# ── Async runtime ────────────────────────────────────────────────────────────
|
||||
tokio = { version = "1", features = ["full"] }
|
||||
futures = "0.3"
|
||||
|
||||
# ── Error handling ───────────────────────────────────────────────────────────
|
||||
thiserror = "2"
|
||||
anyhow = "1"
|
||||
|
||||
# ── Logging ──────────────────────────────────────────────────────────────────
|
||||
tracing = "0.1"
|
||||
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
||||
|
||||
# ── CLI ───────────────────────────────────────────────────────────────────────
|
||||
clap = { version = "4", features = ["derive"] }
|
||||
|
||||
# ── Serialization ─────────────────────────────────────────────────────────────
|
||||
serde = { version = "1", features = ["derive"] }
|
||||
serde_json = "1"
|
||||
|
||||
# ── Async traits ──────────────────────────────────────────────────────────────
|
||||
async-trait = "0.1"
|
||||
Reference in New Issue
Block a user