From 2c7d72a6997023f3427fac8848eeea2768e89982 Mon Sep 17 00:00:00 2001 From: Andras Schmelczer Date: Sat, 16 May 2026 16:15:59 +0100 Subject: [PATCH] . --- src/audio/garden-audio-gesture-state.test.ts | 39 ++++++++++++++++++++ src/config/agent-budget.ts | 1 + 2 files changed, 40 insertions(+) create mode 100644 src/audio/garden-audio-gesture-state.test.ts create mode 100644 src/config/agent-budget.ts diff --git a/src/audio/garden-audio-gesture-state.test.ts b/src/audio/garden-audio-gesture-state.test.ts new file mode 100644 index 0000000..712f98a --- /dev/null +++ b/src/audio/garden-audio-gesture-state.test.ts @@ -0,0 +1,39 @@ +import { describe, expect, it } from 'vitest'; + +import { gardenAudioConfig } from './garden-audio-config'; +import { GardenAudioGestureState } from './garden-audio-gesture-state'; + +describe('GardenAudioGestureState', () => { + it('uses only distance accumulated in the last half second', () => { + const state = new GardenAudioGestureState(gardenAudioConfig.input); + + state.beginGesture(); + + expect( + state.recordStroke({ + metrics: { + distancePixels: 70, + elapsedSeconds: 0.1, + }, + }).activity + ).toBeCloseTo(0.5); + + expect( + state.recordStroke({ + metrics: { + distancePixels: 70, + elapsedSeconds: 0.1, + }, + }).activity + ).toBe(1); + + expect( + state.recordStroke({ + metrics: { + distancePixels: 0, + elapsedSeconds: 0.51, + }, + }).activity + ).toBe(0); + }); +}); diff --git a/src/config/agent-budget.ts b/src/config/agent-budget.ts new file mode 100644 index 0000000..e5d4282 --- /dev/null +++ b/src/config/agent-budget.ts @@ -0,0 +1 @@ +export const ADAPTIVE_AGENT_CAP_MAX = 2_000_000;