From 822ef78e5880de93e2b82952a39630539609e306 Mon Sep 17 00:00:00 2001 From: Thomas Hallock Date: Fri, 5 Dec 2025 10:03:40 -0600 Subject: [PATCH] fix(worksheets): sync preview and download problem generation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix parameter mismatch in generatePreview.ts that caused preview to show different problems than downloaded PDF: - Addition: fix parameter order (was digitRange first, should be pAnyStart) - Addition: add missing interpolate parameter - Subtraction: add missing interpolate parameter - Mixed: add missing interpolate parameter Now preview and download use identical parameters, generating the same problem set for the same seed. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- apps/web/src/app/create/worksheets/generatePreview.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/apps/web/src/app/create/worksheets/generatePreview.ts b/apps/web/src/app/create/worksheets/generatePreview.ts index 8a1393a0..b02d72b3 100644 --- a/apps/web/src/app/create/worksheets/generatePreview.ts +++ b/apps/web/src/app/create/worksheets/generatePreview.ts @@ -10,8 +10,8 @@ import { } from './problemGenerator' import { getSkillById } from './skills' import { generateTypstSource } from './typstGenerator' -import { validateWorksheetConfig } from './validation' import { validateProblemSpace } from './utils/validateProblemSpace' +import { validateWorksheetConfig } from './validation' export interface PreviewResult { success: boolean @@ -321,6 +321,7 @@ export function generateSinglePage( validatedConfig.digitRange, validatedConfig.pAnyStart, validatedConfig.pAllStart, + validatedConfig.interpolate, validatedConfig.seed ) } else if (operator === 'subtraction') { @@ -329,15 +330,18 @@ export function generateSinglePage( validatedConfig.digitRange, validatedConfig.pAnyStart, validatedConfig.pAllStart, + validatedConfig.interpolate, validatedConfig.seed ) } else { + // Addition problems = generateProblems( validatedConfig.total, - validatedConfig.digitRange, validatedConfig.pAnyStart, validatedConfig.pAllStart, - validatedConfig.seed + validatedConfig.interpolate, + validatedConfig.seed, + validatedConfig.digitRange ) }