3dfe2fa0000a64a75070797ce7bb6e3446fdce9f
## Summary - remove immutable stage geometry and derived animation/collision data from rollback snapshots - avoid a duplicate full skeletal hierarchy traversal during root-motion sampling - cache root-motion cycle deltas per animation clip - optimize the game crate in development builds - make Tracy profiling opt-in via the `tracy` feature Reviewed-on: #86 Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
Shinespark
Fancy heavily advanced platform fighting game
Debugging fixed-point values with lldb
If using CodeLLDB:
"preRunCommands": [
"command script import ${workspaceFolder}/tools/lldb_fixed.py"
]
Direct P2P Debugging
# 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
Hitbox viewer
Run the live attack-script previewer with a fighter manifest and attack:
cargo run --bin hitbox-editor -- \
--manifest fighters/test/test.fighter.ron --attack jab
The timeline is read-only and refreshes through Bevy's asset hot reloading. Press Space to pause or resume, use the arrow keys to step, or click and drag the timeline to scrub.
Production Build
cargo run --locked \
--bin process-assets --no-default-features --features debug_features
cargo build --locked \
--profile production --no-default-features --features debug_features
Assets
Game assets are managed in Lore rather than Git. Install the Lore CLI, then bootstrap or update the local checkout with:
scripts/install-lore.sh
scripts/update-assets.sh
The default Lore branch is main; pass another branch explicitly when testing
coordinated code and asset changes:
scripts/update-assets.sh my-feature-branch
Languages
Rust
97.8%
Python
1.1%
Shell
0.7%
WGSL
0.4%