P1b: SQLite project, content-addressed assets, autosave and undo

This commit is contained in:
Emil
2026-11-01 01:19:55 +03:00
parent 4f4ee05a3a
commit 0acf11ccb0
22 changed files with 1405 additions and 32 deletions
+23
View File
@@ -0,0 +1,23 @@
import { chromium } from 'playwright-core';
const chrome = process.env.CHROME_PATH ?? '/home/emil/.cache/ms-playwright/chromium-1248/chrome-linux64/chrome';
const browser = await chromium.launch({ executablePath: chrome, args: ['--no-sandbox'] });
const page = await browser.newPage({ viewport: { width: 1600, height: 1000 }, deviceScaleFactor: 1 });
const errors = [];
page.on('pageerror', (error) => errors.push(error.message));
page.on('console', (message) => { if (message.type() === 'error') errors.push(message.text()); });
await page.goto('http://127.0.0.1:5173/', { waitUntil: 'load' });
await page.waitForTimeout(2200);
await page.locator('.room', { hasText: 'quarry' }).click();
await page.waitForTimeout(700);
const report = await page.evaluate(() => ({
project: document.querySelector('.project')?.textContent?.trim(),
cores: [...document.querySelectorAll('.core-name')].map((el) => el.textContent),
faces: document.querySelectorAll('.face').length,
patternFace: document.querySelector('.pattern-row .pattern-face')?.textContent?.trim(),
undoDisabled: document.querySelector('.history-button[aria-label="undo"]')?.hasAttribute('disabled'),
wire: [...document.querySelectorAll('.wire-label')].map((el) => el.textContent).slice(0, 4)
}));
await page.screenshot({ path: '../preview-p1b-restored.png' });
console.log(JSON.stringify({ report, errors }, null, 2));
if (!report.cores.length || !report.patternFace || report.undoDisabled === false || errors.length) process.exit(1);
await browser.close();