namespace SVSim.BattleNode.Protocol;
///
/// String constants that show up on the wire as opaque tags. Lifting them out of
/// inline string literals gives each one a single source of truth and a name that
/// reads at the use site.
///
internal static class WireConstants
{
/// SIO event name for ordered server-pushed frames (the lifecycle channel).
public const string SynchronizeEvent = "synchronize";
/// SIO event name for client-emitted msg frames + their ack-responses.
public const string MsgEvent = "msg";
/// SIO event name for Gungnir keepalive frames (both directions).
public const string AliveEvent = "alive";
///
/// SIO event name for client-emitted hand frames (touches + skill/object selection).
/// Stocked variants (SELECT_SKILL_URI, SLIDE_OBJECT_URI) carry an ack-id;
/// fire-and-forget variants (TOUCH_URI, SELECT_OBJECT_URI,
/// TURN_END_READY_URI) do not. The body wire shape differs from msg
/// frames — see HandleHandEventAsync.
///
public const string HandEvent = "hand";
///
/// Placeholder UUID we stamp on every server-originated envelope. Prod servers stamp a
/// real per-request UUID; the client doesn't validate it.
///
public const string ServerUuid = "node-stub";
/// Gungnir scs/ocs value the v1 server reports unconditionally.
public const string OnlineStatus = "ONLINE";
}