{
  "schema_version": 1,
  "profile_id": "Blizzlike335",
  "sources": {
    "original_client_default_bindings": {
      "status": "verified_private_metadata",
      "build": 12340,
      "path": "WTF/DefaultBindings.wtf",
      "sha256": "35FFA0E4E2356A13A0633A848F9E57ABE7DF9D8A16C2245E15D33013AD2F56A5",
      "distribution": "Selected binding facts only; proprietary file remains outside Git."
    },
    "original_client_binding_commands": {
      "status": "verified_private_metadata",
      "build": 12340,
      "path": "Interface/FrameXML/Bindings.xml",
      "sha256": "2E01276AFB7462F1417710F13B4BF1A456341F7F28CC8AE0D6D9C7442D7F6793",
      "distribution": "Hash and selected command names only; proprietary file remains outside Git."
    },
    "trinitycore_player_turn_rate": {
      "status": "verified_public_source",
      "repository": "TrinityCore/TrinityCore",
      "revision": "2853a621d6af91a803787a2b8a509f4ce3e0300d",
      "path": "src/server/game/Entities/Unit/Unit.cpp",
      "url": "https://raw.githubusercontent.com/TrinityCore/TrinityCore/2853a621d6af91a803787a2b8a509f4ce3e0300d/src/server/game/Entities/Unit/Unit.cpp",
      "symbol": "playerBaseMoveSpeed[MOVE_TURN_RATE]",
      "radians_per_second": 3.141594
    },
    "wowee_mouse_strafe_reference": {
      "status": "verified_public_reference_only",
      "repository": "Kelsidavis/WoWee",
      "revision": "626243e937fb93965fa583a6507ed5a1aa7dda4b",
      "path": "src/rendering/camera_controller.cpp",
      "sha256": "54A41EFDA77629B2EAB432734A94D0F6F58223F3E4752338FF4C321E7835001B",
      "observation": "A/D turn while right mouse is released and strafe while it is held; Q/E always strafe.",
      "fidelity_limit": "Reference implementation behavior, not original-client proof."
    }
  },
  "selected_default_bindings": [
    {"command": "MOVEFORWARD", "keys": ["W", "UP"], "implemented_action": "openwc_player_move_forward"},
    {"command": "MOVEBACKWARD", "keys": ["S", "DOWN"], "implemented_action": "openwc_player_move_backward"},
    {"command": "TURNLEFT", "keys": ["A", "LEFT"], "implemented_action": "openwc_player_turn_left"},
    {"command": "TURNRIGHT", "keys": ["D", "RIGHT"], "implemented_action": "openwc_player_turn_right"},
    {"command": "STRAFELEFT", "keys": ["Q"], "implemented_action": "openwc_player_blizzlike_strafe_left"},
    {"command": "STRAFERIGHT", "keys": ["E"], "implemented_action": "openwc_player_blizzlike_strafe_right"},
    {"command": "JUMP", "keys": ["SPACE", "NUMPAD0"], "implemented_action": null},
    {"command": "TOGGLEAUTORUN", "keys": ["NUMLOCK", "BUTTON4"], "implemented_action": null},
    {"command": "CAMERAZOOMIN", "keys": ["MOUSEWHEELUP"], "implemented_action": "openwc_player_camera_zoom_in"},
    {"command": "CAMERAZOOMOUT", "keys": ["MOUSEWHEELDOWN"], "implemented_action": "openwc_player_camera_zoom_out"},
    {"command": "TURNORACTION", "keys": ["BUTTON2"], "implemented_action": "openwc_player_camera_rotate"},
    {"command": "CAMERAORSELECTORMOVE", "keys": ["BUTTON1"], "implemented_action": null}
  ],
  "known_gaps": [
    "Jump, autorun and left-button camera/select behavior are recorded but not implemented by this package.",
    "The server-core turn-rate default is compatibility evidence, not direct original-client timing proof.",
    "Right-mouse A/D strafe routing is supported by a public reference implementation, not direct original-client capture."
  ]
}
