Open-source release: pipeline code, raw logs, derived data, licences, tests

Adds src/ (scripts, raw measurement logs, derived data, report source),
tests/, LICENSE (MIT, code) and LICENSE-DATA.md (CC BY 4.0 for the survey's
data; third-party terms). The report is updated to the current site; the
v1 and v2 data hand-off files are unchanged.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Toby
2026-10-27 20:09:54 -04:00
parent 75da69fc31
commit c094eb88fa
81 changed files with 249210 additions and 127 deletions
+16
View File
@@ -0,0 +1,16 @@
import { chromium } from 'playwright-core';
import { PAGE, HAND } from './paths.mjs';
// every route selected in turn, on every map: the route panel must never overflow sideways
const b = await chromium.launch({ executablePath: process.env.CH });
const bad = [];
for (const [w, h] of [[1440, 900], [1024, 768], [390, 844]]) {
const p = await b.newPage({ viewport: { width: w, height: h } });
await p.goto(PAGE('web/index.html'), { waitUntil: 'load' }); await p.waitForTimeout(2500);
for (const v of ['globe', 'ae', 'dp', 'merc']) {
await p.click(`.models button[data-v="${v}"]`); await p.waitForTimeout(1100);
const r = await p.evaluate(() => { const out = []; for (const q of LP) { select(q.idx); for (const el of document.querySelectorAll('#card .body, #card .row')) if (el.scrollWidth > el.clientWidth + 1) { out.push(`${LS[q.a].name}-${LS[q.b].name} ${el.className} ${el.scrollWidth}>${el.clientWidth}`); break } } return out; });
if (r.length) bad.push(`${w}x${h} ${v}: ${r.length} routes overflow, e.g. ${r[0]}`);
}
await p.close();
}
console.log('CARD OVERFLOW', bad.length ? bad.join('\n') : 'none'); await b.close();