Files
Syplheed-Reborn/crates/sylpheed-viewer/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

49 lines
1.1 KiB
TOML

[package]
name = "sylpheed-viewer"
description = "Bevy-based asset viewer for Project Sylpheed: Arc of Deception"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
# Native binary entry point
[[bin]]
name = "sylpheed-viewer"
path = "src/main.rs"
# Library crate — also serves as the WASM entry point
[lib]
name = "sylpheed_viewer"
path = "src/lib.rs"
# cdylib is required for wasm-bindgen to produce a .wasm file
crate-type = ["cdylib", "rlib"]
[dependencies]
sylpheed-formats = { workspace = true }
bevy = { workspace = true, features = [
"bevy_asset",
"bevy_color",
"bevy_core_pipeline",
"bevy_pbr",
"bevy_render",
"bevy_window",
"bevy_winit",
"multi_threaded",
"png",
# Linux display backends
"x11",
"wayland",
] }
bevy_egui = { workspace = true }
thiserror = { workspace = true }
tracing = { workspace = true }
[features]
# Enable Bevy dynamic linking for faster incremental recompiles in dev
dev = ["bevy/dynamic_linking"]
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
tracing-subscriber = { workspace = true }