- Derive Default on ActionSource so it satisfies bevy's template system
(Template/FromTemplate are blanket-impl'd only for Clone + Default + Unpin),
letting it be spawned as a component in a bsn! scene. The bound sits on the
derived Default impl only, so the Component impl stays generic over every
GameAction — the fan-in systems keep working for non-Default actions.
- Improve #[derive(GameAction)] diagnostics: each now names the offending
variant and shows the exact expected syntax (not-an-enum, non-unit variant,
missing/duplicate/unknown action_kind, malformed action_handler).
- Add a #[cfg(test)] module exercising all four kinds + an #[action_handler]
each + ActionsPlugin + App::on_action, proving the macro codegen compiles.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>