From 07eb2959a804e2d73d9efbe25c97228155755e88 Mon Sep 17 00:00:00 2001 From: Le Vivilet Date: Sun, 10 May 2026 21:42:28 +0200 Subject: [PATCH 1/2] feat: Implement clamp function and add tests for value bounding --- packages/chat-debug-view/src/parts/Clamp/Clamp.ts | 3 +++ .../src/parts/GetNormalizedRange/GetNormalizedRange.ts | 7 +++++-- packages/chat-debug-view/test/Clamp.test.ts | 8 ++++++++ 3 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 packages/chat-debug-view/src/parts/Clamp/Clamp.ts create mode 100644 packages/chat-debug-view/test/Clamp.test.ts diff --git a/packages/chat-debug-view/src/parts/Clamp/Clamp.ts b/packages/chat-debug-view/src/parts/Clamp/Clamp.ts new file mode 100644 index 00000000..4d85ddee --- /dev/null +++ b/packages/chat-debug-view/src/parts/Clamp/Clamp.ts @@ -0,0 +1,3 @@ +export const clamp = (value: number, minimum: number, maximum: number): number => { + return Math.max(minimum, Math.min(value, maximum)) +} diff --git a/packages/chat-debug-view/src/parts/GetNormalizedRange/GetNormalizedRange.ts b/packages/chat-debug-view/src/parts/GetNormalizedRange/GetNormalizedRange.ts index 7a318ce1..72d328e8 100644 --- a/packages/chat-debug-view/src/parts/GetNormalizedRange/GetNormalizedRange.ts +++ b/packages/chat-debug-view/src/parts/GetNormalizedRange/GetNormalizedRange.ts @@ -1,3 +1,4 @@ +import { clamp } from '../Clamp/Clamp.ts' import { parseTimelineSeconds } from '../ParseTimelineSeconds/ParseTimelineSeconds.ts' import { roundSeconds } from '../RoundSeconds/RoundSeconds.ts' @@ -19,8 +20,10 @@ export const getNormalizedRange = (durationSeconds: number, startValue: string, } const rawStart = parsedStart ?? 0 const rawEnd = parsedEnd ?? durationSeconds - const normalizedStart = Math.max(0, Math.min(durationSeconds, Math.min(rawStart, rawEnd))) - const normalizedEnd = Math.max(0, Math.min(durationSeconds, Math.max(rawStart, rawEnd))) + const rangeStart = Math.min(rawStart, rawEnd) + const rangeEnd = Math.max(rawStart, rawEnd) + const normalizedStart = clamp(rangeStart, 0, durationSeconds) + const normalizedEnd = clamp(rangeEnd, 0, durationSeconds) return { endSeconds: roundSeconds(normalizedEnd), hasSelection: true, diff --git a/packages/chat-debug-view/test/Clamp.test.ts b/packages/chat-debug-view/test/Clamp.test.ts new file mode 100644 index 00000000..9d56740f --- /dev/null +++ b/packages/chat-debug-view/test/Clamp.test.ts @@ -0,0 +1,8 @@ +import { expect, test } from '@jest/globals' +import { clamp } from '../src/parts/Clamp/Clamp.ts' + +test('clamp should keep values inside the given bounds', () => { + expect(clamp(5, 0, 10)).toBe(5) + expect(clamp(-1, 0, 10)).toBe(0) + expect(clamp(12, 0, 10)).toBe(10) +}) From d7b7802ce3b0895505d00b8c450d68ebae018ef0 Mon Sep 17 00:00:00 2001 From: Le Vivilet Date: Sun, 10 May 2026 19:59:56 +0000 Subject: [PATCH 2/2] memory --- packages/build/src/config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/build/src/config.ts b/packages/build/src/config.ts index 73877b4a..0192978c 100644 --- a/packages/build/src/config.ts +++ b/packages/build/src/config.ts @@ -1,7 +1,7 @@ import { join } from 'node:path' import { root } from './root.ts' -export const threshold = 600_000 +export const threshold = 620_000 export const instantiations = 200_000