- Add crouch cancelling
- Add IASA for aerial attacks
- Add scaffolding for autocancel
- Add hitbox group system
- Add new ergonomic features for attack scripting
- Add more information to the hitbox viewer
- Improve the looks of debug capsules
Reviewed-on: #82
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
## Summary
- Preserve distinct same-action bindings in rollback input frames.
- Add independent command lifetimes with tap and state-scoped hold buffering.
- Detect second shield bindings and consume shield commands for air dodge.
- Fix duplicate keyboard mappings being overwritten.
Reviewed-on: #79
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
## Summary
- add a feature flag for the GameCube adapter driver
- keep the driver enabled by default on supported platforms
- exclude the adapter dependency and polling systems on Windows
Reviewed-on: #80
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
## Summary
- Mark landing position corrections as presentation discontinuities.
- Render and frame fighters from the current position for the snap frame.
- Keep previous translation history unchanged for gameplay collision and attack logic.
Reviewed-on: #67
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
## Summary
- add a rollback-tracked `FighterSurfaceState` as the single source of truth for stage contact
- move active stage line ownership out of individual grounded fighter states
- update landing, airborne motion, ledge departure, hit reactions, and debug save states to maintain surface contact
- add tests for contact lifecycle, connected-segment traversal, and ledge departure
Reviewed-on: #60
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
## Summary
- signal GameCube poll thread shutdown unconditionally when the snapshot is dropped
- retain and join the poll thread during resource cleanup
- add bounded, shutdown-aware backoff for recoverable parse and short-read errors
- add unit coverage for backoff capping and shutdown-aware waits
Fixes#25
Reviewed-on: #55
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
## Summary
Fixes#20.
- Reuse fighter animation scratch and output buffers across rollback frames.
- Select air-collision hits in one pass without candidate allocations or sorting.
- Index contiguous replay input frames directly and binary-search checksums.
- Add regression tests for buffer reuse and replay lookup/validation.
Reviewed-on: #53
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
## Summary
- register Bevy's image loader explicitly in the headless asset processor
- use no GPU-compressed image formats because the processor has no render device
- allow PNG processing tasks to complete so `ProcessorState` reaches `Finished`
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
## Summary
- share custom RON asset loaders between the game and asset processor
- register image, font, and glTF loaders in the headless processor
- prevent `game_settings.ron` and `game.stylesheet.ron` from receiving ignored processed metadata
Reviewed-on: #48
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
## 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>
Fixes#19
Splits the baked animation implementation into focused fixed-transform, runtime, visual-binding, and asset-baking modules behind the existing public facade. Preserves public APIs, serialized field order, TypePath, plugin registration, schedules, and runtime behavior.
Reviewed-on: #38
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
Fixes#22
Extracts shared grounded collision/friction and airborne movement/landing policies while preserving state-specific behavior. Running fighters now pass `can_walk_off = true` so they can run off platform edges. Includes grounded and airborne hitstun call sites.
Reviewed-on: #36
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
## Summary
- replace the per-fighter received-attack inbox with a typed rollback-registered pending-hit resource
- split combat reaction resolution into its own attack module
- remap entity references during rollback and include pending hits in debug save states
Fixes#21
Reviewed-on: #34
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>