diff --git a/frontend/src/capture/AxisPanel.svelte b/frontend/src/capture/AxisPanel.svelte index 7242634..e488a65 100644 --- a/frontend/src/capture/AxisPanel.svelte +++ b/frontend/src/capture/AxisPanel.svelte @@ -327,7 +327,7 @@ {Math.round(transform.zoom * 100)}% -

Wheel or pinch zooms the slab. Arrow keys tilt; up and down nudge the last tick. Shift is a fine step. Double-tap the slab to fit.

+

Wheel or pinch zooms the slab, drag pans it, and the handle tilts it. Arrow keys tilt; Shift is a fine step. Double-tap the slab to fit.

Crop fill

diff --git a/frontend/tests/e2e/tape-fixed-line.spec.ts b/frontend/tests/e2e/tape-fixed-line.spec.ts index 5cbe0e7..c93b641 100644 --- a/frontend/tests/e2e/tape-fixed-line.spec.ts +++ b/frontend/tests/e2e/tape-fixed-line.spec.ts @@ -58,8 +58,9 @@ test.describe('#99 fixed tape line', () => { expect(fs.existsSync(FACE_A), 'fixture face-a').toBeTruthy(); await toLengthPage(page); - // The hint must never tell the owner to drag the ticks. + // The hint must never tell the owner to drag or nudge the ticks. await expect(page.getByText('Drag the ticks')).toHaveCount(0); + await expect(page.getByText('nudge the last tick')).toHaveCount(0); await expect(page.getByText('The line is fixed in the middle')).toBeVisible(); const stage = page.getByTestId('tape-line'); @@ -110,12 +111,14 @@ test.describe('#99 fixed tape line', () => { await toLengthPage(page); const canvas = page.getByTestId('tape-line').locator('canvas').first(); + const fill = page.getByLabel('Crop fill percent'); const before = await canvas.screenshot(); - // Move the crop-fill slider to a different value. - const fill = page.getByLabel('Crop fill percent'); + // Move the crop-fill slider and confirm the control really took the value, + // so a no-op fill() can never masquerade as a passing assertion. await fill.fill('50'); - await page.waitForTimeout(500); + await expect(fill).toHaveValue('50'); + await page.waitForTimeout(1200); const after = await canvas.screenshot(); expect(Buffer.compare(before, after), 'crop fill must move the line ends').not.toBe(0);