From 3b9f808ea57129dc0ff33354f6626afbb627bca6 Mon Sep 17 00:00:00 2001
From: Carl Worth <cworth@cworth.org>
Date: Fri, 5 Jun 2020 16:27:18 -0700
Subject: [PATCH] Document player-info, player-enter, and player-update events

All of which were recently implemented in lmno-server.
---
 tictactoe.txt | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)

diff --git a/tictactoe.txt b/tictactoe.txt
index 361caf7..95a706c 100644
--- a/tictactoe.txt
+++ b/tictactoe.txt
@@ -37,6 +37,54 @@ For a specific game the following API endpoints are defined.
 		event: game-info
                 data: {"id":"WXYZ","url":"https://lmno.games/WXYZ"}
 
+	TYPE: player-info
+
+	WHEN: When a client first connects
+
+	WHAT: Information about the current player (ID, name, and team)
+
+	NOTE: The player-info event is unique among player-* events in
+	      that it only describes the player associated with the
+	      current client connection. Meanwhile, player-enter and
+	      player-update events can describe the current player or
+	      any other. The player-info event is significant because
+	      the client may not know its own name other than
+	      receiving it here, (such as if the client offers up a
+	      pre-existing cookie and the server uses that to return a
+	      player name from a server-side session object).
+
+	EXAMPLE:
+
+		event: player-info
+                data: {"id":0,"name":"Carl","team":"X"}
+
+	TYPE: player-enter
+
+	WHEN: Whenever a new player enters the game. Also: these
+              events will be streamed out for all existing players
+              when a client first connects
+
+	WHAT: Information about the new player (ID, name, and team)
+
+	EXAMPLE:
+
+		event: player-enter
+                data: {"id":1,"name":"Stacy","team":"O"}
+
+	TYPE: player-update
+
+	WHEN: Whenever a player updates their information
+
+	WHAT: All information about the updating player. The ID value
+              cannot be changed, so it can be used by the client to
+              know which player object to update. Player may change
+              either their name, their team, or both.
+
+	EXAMPLE:
+
+		event: player-update
+                data: {"id":0,"name":"Carl Worth","team":"O"}
+
 	TYPE: game-state
 
 	WHEN: When a client first connects
-- 
2.45.2