mission-core-sdk

Mission CORE-SDK: Client Integration Layer

  1. Understand Requirements: Read the mission details in pending_tasks.md.
  2. Animation State Machine:
    • Define AnimationState enum in loh-libs/shared-protocol/src/lib.rs (or appropriate module).
    • States should include: Idle, Walking, Running, Attacking(Style), Gathering(Skill), Eating, Dying.
  3. Asset Map Protocol:
    • Create a struct AssetMap that can be deserialized from JSON.
    • Fields: item_id, model_path, texture_path, animation_set_id.
    • Place in loh-libs/shared-protocol or loh-game.
  4. Client Event Bus:
    • Identify where ServerMessage is received in loh-game.
    • Create a system that translates ServerMessage to ClientVisualEvent bevy events.
    • Ensure logical events (e.g., "Player X hit Player Y") trigger visual events (e.g., "Play hit anim on Y", "Show splat").
  5. Hot-Reload Support:
    • Use bevy_asset::AssetServer's watching capabilities or a custom systems to reload AssetMap JSON when changed.
    • Verify that changing the JSON updates the game without restart.
  6. Verification:
    • compile loh-libs and loh-game.
    • Run unit tests.