bbeck / puzzles-with-chat Goto Github PK
View Code? Open in Web Editor NEWWeb frontend and Twitch bot for solving puzzles collaboratively with chat
License: Apache License 2.0
Web frontend and Twitch bot for solving puzzles collaboratively with chat
License: Apache License 2.0
Should support updating a setting to its new value and emitting a settings event.
When transitioning to only allowing correct answers it should update the state removing any incorrect cell values. When the state is updated it should also emit a state event.
Right now the player view is hidden with no direct links to it. When rendered the player view will embed a twitch chat widget connected to the channel of the streamer. This allows players to input commands straight from the puzzles with chat page.
This should follow the pattern done for acrostics.
When the Allow unofficial answers
setting is enabled, the thresholds for Genius and Queen Bee rankings are computed based on the maximum score involving only official answers. These should scale up to take into account the unofficial answers as well.
Should support allowing a client to connect using a websocket connection that receives events corresponding to updates to the puzzle.
Initial settings could be:
Similar to how Words on Stream does things it could be helpful for spelling bee to have a mode where a slot for every answer is shown in alphabetical order and the answers that haven't yet been given are missing. This at least helps people to know which letter to focus on for the start of an answer when it gets down to the last few words remaining. It could also be interesting if a placeholder for each letter were present so that people would know how long the words were as well. Maybe a subsetting.
The fullQuote
element of the payload contains the quote with HTML tags, and the quote
field contains the author name and title as well as an abbreviated version of the quote that maps to the grid nearly exactly.
Part of the author's name and the title can be derived from first letter of each clue, but it's not clear where the author name ends and the title begins. Maybe some string processing can be done using the quote
filed and substring checks to extract the author and title. Also in the quote
field the author and title seem to always be at the beginning and in capital letters.
The panic appears to be happening on acrostic/nyt.go:121 which is called from acrostic/nyt.go:41
I suspect it might have something to do with how the CSS is optimized by webpack.
@-webkit-keyframes banner {
0% {
background-image: radial-gradient(#000,transparent,transparent);
opacity: 1%; /* <-- should be 100% */
-webkit-transform: scale(0);
transform: scale(0)
}
2001-10-07 has a cell that should be rendered with a hyphen in it and cannot be filled in. Currently this is not handled properly and the app doesn't know when the puzzle is complete.
Currently there's only a small icon that shows up next to the score when the solve crosses into genius territory. It's been suggested that it's hard to notice when that happens.
The puzzle menu should list the available dates for all acrostic puzzles in a calendar and allow one to be selected in order to change the puzzle that's being worked on.
There are some puzzles that have ridiculously long fullQuote
entries. These overflow the overlay that is shown after the puzzle is solved.
The 10 longest are:
05-14-2017 1105
02-18-2018 1037
12-24-2017 848
04-28-2019 675
08-18-2019 616
01-06-2019 602
03-19-2017 574
10-15-2017 567
01-07-2018 544
03-17-2019 539
Now that crosswords are rendered with SVG it should be possible to draw a circle in cells instead of just shading them in. There are some crosswords that have both circles and shaded cells (2016-05-09), so disambiguating and supporting both would be beneficial.
Should support selecting a date for an acrostic to solve. When the puzzle is selected it should emit a state event with the puzzle contents.
This will be used when transitioning settings from allow incorrect answers to prohibit incorrect answers.
Should have 2 routes. One that allows a clue to be answered and one that allows a range of cell values to be specified.
This should follow the pattern done for acrostics.
Answers may be provided in two different ways.
.
for omitted letters)..
for omitted letters).If the title or author of a puzzle is long, parts of the header can be truncated in a way that doesn't allow the prefix of the cutoff strings to be read. One potential fix for this could be to drop the author field when it overflows its div. This would still leave a really long title truncated, but visually it would look better than what we currently have.
Example from the 2020-05-20 crossword of The New York Times:
Example of commands that should be valid:
!Q half step
!M sym..ony
!26 vast knowledge
!show H
Like the other puzzle types the grid should be rendered using SVG. All non-black cells should contain both the cell number and clue letter that it corresponds to.
Even hours after the state key has been cleaned up from the redis database the bot hasn't parted a channel.
Should support transition a puzzle from a selected -> solving state, solving -> paused state, and paused -> solving state.
A lot of the older acrostic puzzles don't have a fullQuote
field in the JSON. When the puzzle is solved this makes the overlay look bad. In these cases we should use the quote
or answerKey
fields to provide the value of the quote instead. quote
is preferable as it contains indicators of omitted words and is in mixed case.
Clues should be rendered with both the text of the clue as well as a set of boxes/underlines containing the cell number each particular letter of a clue will get put into.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.