]> git.cworth.org Git - lmno-todo/blobdiff - TODO
nogit-sync commit
[lmno-todo] / TODO
diff --git a/TODO b/TODO
index 0b6c28bb8c58c473e39a6fbcbdcf923bb256255f..48fb75a7402b82b47560c366425f780460eae541 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,5 +1,127 @@
-Implement auto push/pull for TODO file.
+Ordered list (repeating some of the below)
+-----------------------------------------
 
-Test nogit sync
+1. Fix empathy bug with rejoining (Andrew as Zombie)
 
-Ensure that upstream commits are handled correctly.
+2. Finish implementing Empires
+
+Empathy
+=======
+
+Allow players to see what their current name is (currently
+disappearining among the list which is sorted by overall score) and to
+change their name if desired.
+
+Fix bug Andrew saw where he went into a Zombie mode: He left the game,
+and came back. When he was back his word scores were shown, but his
+name was left off the round scores, stayed gray in the overall scores,
+and the overall score was never increased.
+
+Bisect and fix some test-suite regressions introduced recently.
+
+Features (likely) requiring only client changes
+-----------------------------------------------
+* Make new categories appear at the top of the list
+
+  Note: We may not want this for sake of keeping the UI stable---this
+  is already a bit of a problem with the "Start Game" button which is
+  now appearing at the top of the list of categories. What I mean by
+  "stability" of the UI is that we don't want a user to be reaching
+  out to tap a vote button for a category and then have the category
+  vote button shift to a different location before they reach it.
+
+* Make the "vote_against" button move a prompt down to the bottom of
+  the list and gray it out. This could be a better approach than
+  making the category entirely disappear.
+
+* Un-gray-out a prompt when a player votes for it
+
+* Make scores available at screens other than the category-selection screen
+
+Add a TWINNER achievement
+
+Add support for item counts as words, such as "three little words"
+
+Allow clients to see previous round scores by swiping left
+
+Figure out why Nancy's computer doesn't work at all
+
+Auto-focus first text field
+
+Style focus highlight for TAB-based navigation
+
+Empires
+=======
+
+Convert HTML/JavaScript client to React
+
+Add UI for combining/splitting empires, (modeled after the judging
+interface in Empathy).
+
+Add a chat interface for sending messages to the current empire (with
+no history beyond a single message per sender)
+
+Fix bug that allows people to re-reveal characters after game has started.
+
+Flempires (flutter-based client)
+--------------------------------
+
+Bring client up to latest Empires API approach
+
+  [🗸] Pre-allocate a game ID in the server for flempires to use (QRST, say)
+
+  [ ] Change flempires from using https://families.cworth.org/api to
+      instead use https://lmno.games/empires/QRST
+
+  [ ] Add UI to ask user for a game ID, (obviating the QRST ID)
+
+  [ ] Add UI to generate a new game ID, (allow flempires to work on its own)
+      Example:
+                curl -X POST https://lmno.games/new/empires
+                Returns: "WLJG"
+
+  [ ] Implement player registration by POSTing to /register (without cookie)
+      Example:
+                curl -X POST \
+                     -H 'Content-Type: application/json' \
+                     -d '{"name": "Carl", "character": "Elvis"}' \
+                     https://lmno.games/empires/QRST/register
+                Returns: 1 (Or some other player ID value)
+
+  [ ] Implement registration with /profile and then /register
+
+      Note: This approach requires obtaining a cookie from the
+      /profile request and then providing that cookie on the
+      subsequent /register request. The -c and -b command-line options
+      of curl can be used to demonstrate this:
+
+      Example:
+                curl -c cookie-file \
+                     -X PUT \
+                     -H 'Content-Type: application/json' \
+                     -d '{"nickname": "Cookie"}' \
+                     https://lmno.games/profile
+                curl -b cookie-file \
+                     -X POST \
+                     -H 'Content-Type: application/json' \
+                     -d '{"character": "Cookie Monster"}'
+                     https://lmno.games/empires/QRST/register
+
+Scribe
+======
+
+Fix server to reject illegal moves (not following the previous-move
+constraint)
+
+Extend test suite to cover legal and illegal scribe moves
+
+Constrain glyph diagrams to not overflow page width
+
+For a very wide display, put glyph diagrams on the side of the game
+board instead of below.
+
+Detect glyphs and highlight background of squares belonging to glyphs
+
+Detect winner of mini-grid and overlay sumbol of player on mini-grid
+
+Declare overall winner (both in "majority" and "superglyph" mode)