## Summary - split development dynamic linking from production builds - add headless processed-asset generation - add a separate production CI cache and static Bevy/Rust linkage verification - keep custom debug features enabled for production builds behind a feature gate Reviewed-on: #46 Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
34 lines
1.1 KiB
Markdown
34 lines
1.1 KiB
Markdown
# Shinespark
|
|
|
|
Fancy heavily advanced platform fighting game
|
|
|
|
## Direct P2P Debugging
|
|
|
|
```text
|
|
# Process 1 owns player 0 and listens on 7000.
|
|
cargo run -- --debug-match --players 2 --local-port 7000 \
|
|
--net-player 0=local --net-player 1=127.0.0.1:7001
|
|
|
|
# Process 2 owns player 1 and listens on 7001.
|
|
cargo run -- --debug-match --players 2 --local-port 7001 \
|
|
--net-player 0=127.0.0.1:7000 --net-player 1=local
|
|
```
|
|
|
|
## Production Build
|
|
|
|
Production builds use the `production` Cargo profile and do not dynamically
|
|
link Bevy or Rust. Development builds retain Bevy dynamic linking for faster
|
|
iteration. Cargo stores the production profile under `target/production`,
|
|
separate from development artifacts under `target/debug`.
|
|
|
|
```sh
|
|
cargo run --locked \
|
|
--bin process-assets --no-default-features --features debug_features
|
|
cargo build --locked \
|
|
--profile production --no-default-features --features debug_features
|
|
```
|
|
|
|
The asset preprocessing command must be run from the repository root. It
|
|
populates `imported_assets/Default`, which is then consumed by the production
|
|
game without running the asset processor at startup.
|