6 Commits

Author SHA1 Message Date
Jason Dekarske
78b8ebeb7d docs: move product spec to .pm/board.yaml
Replace REQUIREMENTS.md as source of truth with the pm-board yaml.
Drop README friction-scalar lies. Include pending HUD frontend work.
2026-09-07 23:06:31 +00:00
Jason Dekarske
99a4f59a39 actual fix 2026-07-11 13:17:41 -07:00
Jason Dekarske
162d6a7e59 feat(frontend): consume trajectories+scoreboard protocol
Mirror team1/team2 StoneId wire, velocity throws, trajectories animation,
scoreboard/stones_remaining state, HUD labels, and team1 red / team2 yellow palette.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-07-10 23:39:19 -07:00
Jason Dekarske
7af2fc9f35 feat(physics): spin curl model and theta trajectories
Replace constant-rate velocity rotate with ω0 spin + v_lat curl.
Path samples are (x, y, theta); client time is index/SAMPLE_RATE_HZ.

Ultraworked with [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <sisyphus@ohmyopencode>
2026-07-10 23:34:39 -07:00
Jason Dekarske
c28bf32eb8 feat(frontend): animate all stone trajectories on one clock
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-07-10 23:16:06 -07:00
eros
0ca0f0e3ff refactor(frontend): centralize game state in GameModel
Extract mutable state from game.ts into a dedicated GameModel class to clarify data flow and state transitions.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-06-24 10:55:45 -07:00