Repository navigation
Conversation
…t, pause on blur - Score from packages/metrics (computeMetrics) over the keystroke log, so accuracy is over all keystrokes and a wrong letter left in the line counts. The engine gains stop(): a time-boxed run ends as completed and finish() returns the log so far. startSprint gates the input at 60 s of typing time, so no key after the minute is logged; the time is capped at the minute, or the time used if the line ends sooner (stated on /formulas in uk and en). - A pre-start card with the exercise layout check (shared useLayoutCheck and LayoutStatus extracted from PreStart); Start stays disabled on a mismatch. Play Mode during the run; the typed-layout notice too. - Leaving the window pauses the clock; Escape pauses and resumes; the exercise pause dialog resumes. - The line comes from seededRandom with a fresh seed per sprint (ADR 0005). - The countdown starts from SPRINT_SECONDS, derived from SPRINT_MS. - The locked line uses "ви". The line uses the text-size setting, hides its count-up time and its ninety word stations. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Review fixes for Sprint 60 s (merged in #35).
Metrics. The score comes from
packages/metrics(computeMetrics) over the engine's keystroke log, as on the exercise result: SPM counts every character keystroke, accuracy is correct over all keystrokes, so in freeBackspace a wrong letter left in the line now counts against it (TZ §4.3). The engine gainsstop(): a running or paused run ends ascompleted, andfinish()returns the log so far.startSprint(model.ts) gates the input at 60 s of typing time, so no key after the minute reaches the log; the time is capped at the minute, or the time used if the line ends sooner./formulasstates this in uk and en.Layout check and Play Mode. A pre-start card runs the exercise layout check:
useLayoutCheck+LayoutStatuswere extracted fromPreStart(same markup and test ids), and Start stays disabled on a mismatch (TZ §4.2). The run holds Play Mode (rail and bar inert) and shows the typed-wrong-layout notice.Pause. Leaving the window pauses the clock. Escape pauses and resumes, and the exercise pause dialog resumes, as in an exercise.
Smaller. The line now comes from
seededRandomwith a fresh seed per sprint (ADR 0005). The countdown starts fromSPRINT_SECONDS, derived fromSPRINT_MS. The locked copy uses "ви". The line uses the text-size setting and hides its count-up time and the 90 word stations.Unchanged: the best counts only above the accuracy floor, and no Attempt is recorded.
Tests:
model.test.tscovers the published-formula score, the 60 s gate, a pause not eating the minute, an early finish, ending once, leaving without a score, the idle clock, and the seeded line.engine.test.tscoversstop().pnpm check: typecheck and lint pass. Unit tests: 808 pass and 1 fails. The failure istools/architecture.test.tsflaggingapp/guide/CoachMarks.tsx, and it already fails on main.pnpm build: initial JS is 149.2 KB gzip. I checked it running invite preview: the layout mismatch, Play Mode, Escape pause, blur pause (clock frozen), and the result screen.🤖 Generated with Claude Code