Skip to content

Add tick watch timegrapher - #2

Merged
jaemk merged 19 commits into
mainfrom
261010.tick-timegrapher
Oct 11, 2026
Merged

jaemk merged 19 commits into
mainfrom
261010.tick-timegrapher

Conversation

@jaemk

@jaemk jaemk commented Oct 10, 2026

Copy link
Copy Markdown
Owner
  • Add the tick crate, serving a browser-only mechanical watch timegrapher at /tick (spec in spec/tick.md)
  • Detect beats from the microphone and fit rate (s/d) and beat error (ms); auto-detect or lock the bph
  • Draw a scrolling rate graph, a beat trace on the same time axis, and an onset-aligned beat scope
  • Add a simulated watch, mic correction, and persisted settings
  • Run tick client tests in bin/test-js.sh and the CI web matrix; check /tick in the acceptance suite

… beat trace, and beat scope

- detect beats from the microphone in the browser (AudioWorklet, ScriptProcessor fallback) and fit rate in s/d and beat error in ms
- auto-detect the beat rate from standard bph values, or lock a chosen one
- add a simulated watch, mic correction, and persisted settings
- run tick client tests in bin/test-js.sh and CI, and check /tick in the acceptance suite
Copilot AI balanced review requested due to automatic review settings October 10, 2026 11:24

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

…nput meter

- raise the high-pass to 2 kHz and lower the trigger to a sensitivity multiple of the noise floor (low, normal, high, max)
- time beats by constant fraction of each beat's own peak instead of the trigger crossing
- ignore onsets over 4x the median beat peak once locked; accept a sustained louder watch
- recover the noise floor quickly after leading silence or a louder room
- show input level, noise floor, and threshold, and say when the mic sends only silence
Copilot AI balanced review requested due to automatic review settings October 10, 2026 11:46

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Copilot AI balanced review requested due to automatic review settings October 10, 2026 11:48

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

…dow fills

- report each reading's span and whether it fills the window
- step the empty graph through listening, finding the beat rate, and measuring progress
- draw settling readings dashed and dim with a progress bar; dim the readout rate
- add a `measuring` status between listening and locked
Copilot AI balanced review requested due to automatic review settings October 10, 2026 12:26

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

…e folding

- ignore triggers away from where the next beat is due once tracking, so a ringing case no longer adds beats or stalls readings at high bph
- choose and recheck the auto beat rate by folding onset times, robust to missed beats and ringing tails
- time beats at 30% of the beat's own peak, searching only this beat's rise
- drop the gate and rechoose when too few due beats get through
Copilot AI balanced review requested due to automatic review settings October 10, 2026 12:45

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Copilot AI balanced review requested due to automatic review settings October 10, 2026 12:58

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Copilot AI balanced review requested due to automatic review settings October 10, 2026 13:07

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Copilot AI balanced review requested due to automatic review settings October 10, 2026 13:12

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Copilot AI balanced review requested due to automatic review settings October 10, 2026 13:26

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Copilot AI balanced review requested due to automatic review settings October 10, 2026 13:30

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Copilot AI balanced review requested due to automatic review settings October 10, 2026 13:44

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Copilot AI balanced review requested due to automatic review settings October 10, 2026 13:58

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

…e lock, drop to analyze, keys

- hold a screen wake lock while a source runs
- add a fullscreen big readout with a rate trend arrow
- save results per watch position with average and delta, copy as text
- add a target rate band setting; color out of band rates and high beat error
- read the rate or beat under the pointer on the rate graph and beat trace
- analyze audio files dropped on the page
- group live and offline buttons, fold settings below 640px
- add space, r, and f keys
- fill the record button as it records; name length and size on the save link
- make the status the only live region
Copilot AI balanced review requested due to automatic review settings October 10, 2026 16:45

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

…full screen mode with run button and settings, move simulate into settings
Copilot AI balanced review requested due to automatic review settings October 10, 2026 19:21

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

…ate in full screen mode, save unsettled positions
Copilot AI balanced review requested due to automatic review settings October 10, 2026 21:17

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Copilot AI balanced review requested due to automatic review settings October 10, 2026 21:27

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@jaemk
jaemk merged commit 34c5c2b into main Oct 11, 2026
6 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.

2 participants