Add configurable manifest-driven race audio system

This commit is contained in:
larssand
2026-08-28 13:29:27 +02:00
parent 3f3b410869
commit 5f79228941
22 changed files with 1133 additions and 109 deletions

View File

@@ -57,6 +57,7 @@ test("backend hydration normalizes persisted entities and settings", () => {
events: [{ id: "event_1", name: "Race" }],
sessions: [{ id: "session_1", name: "Final" }],
resultsBySession: { session_1: { passings: [] } },
audioEventLog: [{ id: "audio_1", event: "race_start" }],
training: { goals: [{ id: "goal_1" }] },
activeSessionId: "session_1",
settings: {
@@ -100,6 +101,7 @@ test("backend hydration normalizes persisted entities and settings", () => {
assert.equal(state.sessions[0].normalized, true);
assert.equal(state.training.normalized, true);
assert.equal(state.activeSessionId, "session_1");
assert.deepEqual(state.audioEventLog, [{ id: "audio_1", event: "race_start" }]);
assert.equal(state.settings.theme, "light");
assert.equal(state.settings.splitDecoderEnabled, true);
assert.equal(state.settings.splitWsUrl, "ws://decoder:9001");