Files
xplane-cockpit/debug-svt.mjs
T
karim ebc33a78b7 Initial commit: X-Plane G1000 web cockpit + bridge + Tauri desktop app
- server/: Node bridge (datarefs/commands, navdata, CIFP procedures, flight plan)
- web/: React cockpit (PFD/MFD/Map, VFR six-pack, AFCS, FMS CDU), PWA, collapsible sidebar
- desktop/: Tauri 2 launcher (Bun sidecar, system tray, updater) + Linux build via Docker
- scripts/: prep-desktop, build-linux, Gitea release + latest.json

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-01 15:07:03 +02:00

22 lines
984 B
JavaScript

import { chromium } from 'playwright';
const browser = await chromium.launch();
const page = await browser.newPage({ viewport: { width: 1180, height: 820 } });
page.on('console', (m) => console.log('[console]', m.type(), m.text()));
page.on('pageerror', (e) => console.log('[pageerror]', e.message));
await page.goto('http://localhost:8099', { waitUntil: 'networkidle' });
await page.getByRole('button', { name: 'PFD', exact: true }).click();
await page.waitForTimeout(5000);
// report canvas presence + size
const info = await page.evaluate(() => {
const c = document.querySelector('.svt-canvas canvas');
const f = document.querySelector('.svt-pos');
return {
hasCanvas: !!c,
canvasSize: c ? [c.width, c.height] : null,
svtPos: f ? f.getBoundingClientRect() : null,
webgl: (() => { try { return !!document.createElement('canvas').getContext('webgl2'); } catch { return false; } })(),
};
});
console.log('[info]', JSON.stringify(info));
await browser.close();