add replay session

This commit is contained in:
larssand
2026-09-04 15:58:24 +02:00
parent c60b9e0057
commit 142c45be04
10 changed files with 409 additions and 4 deletions

View File

@@ -449,6 +449,21 @@ Owns:
- side panels
- overlay leaderboard rows
### `src/session_replay.js`
Type:
- pure transient replay logic
Owns:
- normalization and chronological sorting of saved session passings
- deterministic play, pause, speed, finish, and reset state
- time-sliced replay leaderboard snapshots for race and practice ranking
- strict isolation from `state.resultsBySession`, SQLite, decoder ingestion, and training ledger mutations
Imported by:
- `src/app.js` for the single transient replay runtime
- `src/timing_views.js` for controls and incremental rendering
- `tests/session_replay.test.js`
### `src/timing_views.js`
Type:
- timing/judging renderers
@@ -1188,7 +1203,8 @@ sequenceDiagram
| `src/event_manager_view.js` | view | none | `app.js` | yes | no | no |
| `src/event_manager_controller.js` | controller | none | `app.js` | yes | no | yes |
| `src/overlays.js` | view/render | none | `app.js` | yes | no | no |
| `src/timing_views.js` | view/render | none | `app.js` | yes | no | no |
| `src/session_replay.js` | pure replay logic | none | `app.js`, `timing_views.js`, tests | no | timer timestamps only | no |
| `src/timing_views.js` | view/render | `session_replay.js` | `app.js` | yes | replay timer only | no |
| `src/core_views.js` | view/render | none | `app.js` | yes | no | no |
| `src/misc_views.js` | view/render | none | `app.js` | yes | no | no |
| `src/settings.js` | view/render | none | `app.js` | yes | no | no |