Files
Syplheed-Reborn/Cargo.toml
MechaCat02 f8127e73b0 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>
2026-03-25 21:04:07 +01:00

51 lines
2.7 KiB
TOML

[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"