Split web/ into senbei-wasm crate + static assets

The Rust bindings move from web/src to a top-level senbei-wasm crate (still
outside the workspace, own Cargo.lock), matching the other senbei-* crates.
web/ keeps only the static frontend; wasm-pack emits the JS/wasm package into
web/pkg/ via --out-dir. JS glue renamed senbei_web -> senbei_wasm with the
crate.
This commit is contained in:
2026-08-30 22:44:15 +08:00
parent f80749ffd6
commit 0c3f29f93a
13 changed files with 707 additions and 33 deletions
+12 -6
View File
@@ -81,12 +81,18 @@ since binaries are not committed).
```
senbei/
├── Cargo.toml senbei lib + bin package
├── Cargo.toml workspace root (members: the senbei-* crates)
├── rust-toolchain.toml pinned toolchain + targets
├── src/ CLI shell + pure unpacker core (see docs/design.md)
── tests/ CLI, detection, golden, and folder tests
├── senbei-cli/ senbei binary (default member)
│ └── tests/ CLI, detection, golden, and folder tests
├── senbei-pe/ pure unpacker core (see docs/design.md)
├── senbei-crypto/ crypto/compression primitives
├── senbei-metadata/ il2cpp metadata de-obfuscation
├── senbei-io/ filesystem, scanning, CLI orchestration
├── senbei-wasm/ WebAssembly bindings crate (own Cargo.lock,
│ outside the workspace; builds into web/pkg/)
├── samples/ local-only test corpus (git-ignored)
├── web/ WebAssembly browser build
├── web/ static browser frontend assets (+ built pkg/)
├── docs/ usage, design, and development documentation
└── .github/ CI workflows and issue templates
```
@@ -96,8 +102,8 @@ senbei/
See [web/README.md](../web/README.md). In short:
```cmd
cd web
wasm-pack build --target web --release
cd senbei-wasm
wasm-pack build --target web --release --out-dir ../web/pkg
```
then serve `web/` statically and open `index.html`. Everything runs