feat: Stage 2E physics p95, runtime videos, domain audit, device-test QR

Measure Rapier world.step p95 (~0.2 ms) on GTX 1080, record real route WebMs,
expand runtime/headless hash parity, and document permanent-domain/phone blockers.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Даня Архипов
2026-07-30 14:28:14 +00:00
parent 014a46077d
commit 30103ccefc
63 changed files with 2786 additions and 71 deletions

View File

@@ -9,23 +9,23 @@ test.describe('controls', () => {
});
test('seek next/prev and jump cases, speed, presentation', async ({ page }) => {
await expect(page.getByTestId('demo-case-label')).toHaveText('1/11');
await expect(page.getByTestId('demo-case-label')).toHaveText('1/12');
await page.getByTestId('demo-next').click();
await ensurePaused(page);
await expect(page.getByTestId('demo-case-label')).toHaveText('2/11');
await expect(page.getByTestId('demo-case-label')).toHaveText('2/12');
await page.getByTestId('demo-prev').click();
await ensurePaused(page);
await expect(page.getByTestId('demo-case-label')).toHaveText('1/11');
await expect(page.getByTestId('demo-case-label')).toHaveText('1/12');
await page.getByTestId('demo-case-8').click();
await ensurePaused(page);
await expect(page.getByTestId('demo-case-label')).toHaveText('9/11');
await expect(page.getByTestId('demo-case-label')).toHaveText('9/12');
await page.getByTestId('demo-case-0').click();
await ensurePaused(page);
await expect(page.getByTestId('demo-case-label')).toHaveText('1/11');
await expect(page.getByTestId('demo-case-label')).toHaveText('1/12');
for (const speed of ['0.5', '1', '1.5', '2'] as const) {
await page.getByTestId(`demo-speed-${speed}`).click();