X-Git-Url: https://git.cworth.org/git?p=lmno-todo;a=blobdiff_plain;f=TODO;h=48fb75a7402b82b47560c366425f780460eae541;hp=0b6c28bb8c58c473e39a6fbcbdcf923bb256255f;hb=e8007a9f9f45a2a765d5ec42a056ff9499e3f6b6;hpb=c6e549ab4c3bd39807c0fa410cbe8f6f6bb5067b diff --git a/TODO b/TODO index 0b6c28b..48fb75a 100644 --- 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)