Snapshot WIP: solver HP epic progress, BPHX/HX physics, BMAD skill refresh.
Some checks failed
CI / check (push) Has been cancelled
Some checks failed
CI / check (push) Has been cancelled
Capture uncommitted solver robustness work (regularization, domain errors, linear solver lifecycle, tube DP/MSH), web workbench updates, and synced BMAD skills across IDE agent folders before starting BPHX pressure-drop. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
60
apps/web/tmp-screenshot.js
Normal file
60
apps/web/tmp-screenshot.js
Normal file
@@ -0,0 +1,60 @@
|
||||
const { chromium } = require("C:/Users/ramez/AppData/Roaming/npm/node_modules/playwright");
|
||||
const path = require("path");
|
||||
const outDir = process.argv[2] || process.cwd();
|
||||
|
||||
(async () => {
|
||||
const browser = await chromium.launch({ headless: true });
|
||||
const page = await browser.newPage({ viewport: { width: 1600, height: 1000 } });
|
||||
|
||||
const snap = async (name) => {
|
||||
const p = path.join(outDir, name);
|
||||
await page.screenshot({ path: p, fullPage: false });
|
||||
console.log("saved", p);
|
||||
};
|
||||
|
||||
try {
|
||||
await page.goto("http://localhost:3006", { waitUntil: "networkidle", timeout: 20000 });
|
||||
await page.waitForTimeout(2500);
|
||||
await snap("01-home-empty.png");
|
||||
|
||||
await page.getByRole("button", { name: "Bibliothèque" }).first().click();
|
||||
await page.waitForTimeout(1000);
|
||||
await snap("02-library-tab.png");
|
||||
|
||||
// Find example select near "Load" button
|
||||
const select = page.locator("select").filter({ hasText: /Chiller/ }).first();
|
||||
if (await select.count() > 0) {
|
||||
await select.selectOption("chiller_flooded_4port_watercooled.json");
|
||||
await page.waitForTimeout(2500);
|
||||
await snap("03-example-loaded.png");
|
||||
} else {
|
||||
console.log("example select not found");
|
||||
}
|
||||
|
||||
await page.getByRole("button", { name: /Solve/i }).first().click();
|
||||
await page.waitForTimeout(3000);
|
||||
await snap("04-after-solve.png");
|
||||
|
||||
// Click an evaporator node label
|
||||
try {
|
||||
const evap = page.locator("text=evap_1").first();
|
||||
await evap.click({ timeout: 3000 });
|
||||
await page.waitForTimeout(600);
|
||||
await snap("05-properties-panel.png");
|
||||
} catch (e) { console.log("evap label click failed:", e.message); }
|
||||
|
||||
await page.getByRole("button", { name: /Guide/i }).first().click();
|
||||
await page.waitForTimeout(800);
|
||||
await snap("06-guide-modal.png");
|
||||
|
||||
// Click + Nouveau Modèle in library panel
|
||||
await page.getByRole("button", { name: /Nouveau Modèle/i }).first().click();
|
||||
await page.waitForTimeout(800);
|
||||
await snap("07-new-model-modal.png");
|
||||
} catch (e) {
|
||||
console.error("Error:", e.message);
|
||||
await snap("zz-error.png");
|
||||
} finally {
|
||||
await browser.close();
|
||||
}
|
||||
})();
|
||||
Reference in New Issue
Block a user