Skip to content

focus: add a Pomodoro timer tab with the agent mascot at a desk - #18

Merged
Vallykrie merged 1 commit into
mainfrom
feat/focus-timer
Nov 1, 2026
Merged

Vallykrie merged 1 commit into
mainfrom
feat/focus-timer

Conversation

@Vallykrie

Copy link
Copy Markdown
Owner

Adds Focus, a Pomodoro timer tab. Off by default; switch it on in Settings › Focus.

  • Setup: two rulers, Focus (5–90 min) and Break (1–30 min). They are for setup only; once started, the panel shows the countdown and a strip of the whole set with the mascot walking along it. Pause, Skip, Reset (Reset brings the rulers back). Space starts and pauses.
  • Mascot: the agent mascot itself (AgentActivityGlyph.Posed, drawn by the shared GlyphCellsView), typing at a desk (keys light, code appears on the monitor) and filling with colour through the round. Tea on breaks, a nap on the long break, dimmed when paused.
  • Long break: Auto is 3× the break, 10–45 min, and none once the break is 15 min or more. Settings can also set Off / 15 / 30.
  • Closed notch: the countdown takes the trailing shoulder. The leading one shows the focus mascot, the artwork, or the agent sprite (agents beat media). Pinned crypto now outranks everything but the HUD, agent attention included; tools/trading-tests updated.
  • Round end: chime (its own switch) and the notch opens on Focus for 6 s, after any open agent prompt.
  • Settings rail scrolls, with rows back at 20pt now that there are eight entries.

Design rounds: docs/design/pomodoro-ui-v1…v4.html, pomodoro-ui-v5-rules.html.

Testing: Debug build, bash tools/trading-tests/run.sh (all pass), FrameDump scenarios for setup, running, the three shoulders and Settings › Focus, plus a hand test of the running app. A debug build launched with NOTCH_FOCUS_SECONDS_PER_MINUTE=2 runs a set in a couple of minutes.

A Focus tab for working in rounds without a phone timer. Two rulers set the
focus and break lengths, and only for setup: once started they give way to a
countdown and a strip of the whole set, with the mascot walking along it. The
mascot is the agent mascot itself, posed through AgentActivityGlyph.Posed and
drawn by the shared GlyphCellsView, typing at a desk while it fills with colour
through the round; it has tea on breaks and naps on the long one.

The long break scales with the break (three times it, 10 to 45 minutes, none
from a 15-minute break up), because a fixed 15 minutes is shorter than a
30-minute break. The clock is an end date, so it survives sleep.

On the closed notch the countdown takes the trailing shoulder; the leading one
shows the focus mascot, the artwork, or the agent sprite, with agents beating
media. A pinned crypto price now outranks everything but the HUD, agent
attention included. When a round ends the notch opens on Focus for six
seconds, after any agent prompt.

Focus is off by default. Settings > Focus holds the switch, chime, auto-start
and set shape. The settings rail scrolls now that it has eight entries, so the
rows go back to 20pt instead of shrinking again.
@Vallykrie
Vallykrie merged commit 60b308b into main Nov 1, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant