iss-spoofing: with real-time correction, cities hearing a signal more than 5% off the recorded speed turn red
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
+8
-1
@@ -85,13 +85,20 @@ const rc = await p.evaluate(async () => {
|
||||
const l10 = q('ae', 's'), vs10 = q('ae', 'vs'), syncDisabled = document.getElementById('sync').disabled;
|
||||
lat.value = '0'; lat.dispatchEvent(new Event('input')); await wait();
|
||||
const l0 = q('ae', 's'), vs0 = q('ae', 'vs'), v0 = q('ae', 'v'), g0 = q('globe', 'vs');
|
||||
// level at 0 ms, yet cities under the AE signal hear the wrong speed; none on the globe
|
||||
let aeRed = 0, globeRed = 0;
|
||||
for (const t of [3000, 4000, 5000, 6000, 7000, 8000]) {
|
||||
r.value = String(t); r.dispatchEvent(new Event('input')); await wait();
|
||||
aeRed = Math.max(aeRed, +q('ae', 'c')); globeRed = Math.max(globeRed, +q('globe', 'c'));
|
||||
}
|
||||
document.getElementById('corr').click(); await wait();
|
||||
return { l10, vs10, syncDisabled, l0, vs0, v0, g0, off: q('ae', 's'), offvs: q('ae', 'vs'), info: document.getElementById('syncinfo').textContent };
|
||||
return { l10, vs10, syncDisabled, l0, vs0, v0, g0, aeRed, globeRed, off: q('ae', 's'), offvs: q('ae', 'vs'), info: document.getElementById('syncinfo').textContent };
|
||||
});
|
||||
console.log(JSON.stringify(rc));
|
||||
if (!/^10 s behind/.test(rc.l10)) fail('correction latency 10 s not shown', rc.l10);
|
||||
if (!/level/.test(rc.l0) || rc.vs0 !== rc.v0) fail('zero latency: signal should be level and move at the map speed', rc.l0, rc.vs0, rc.v0);
|
||||
if (/×1\.00/.test(rc.vs0)) fail('corrected signal speed should differ from its Doppler on the AE map', rc.vs0);
|
||||
if (!(rc.aeRed > 0) || rc.globeRed !== 0) fail('zero latency: AE cities should be red for the wrong signal speed, none on the globe', rc.aeRed, rc.globeRed);
|
||||
if (!/×1\.00/.test(rc.offvs) || !/×1\.00/.test(rc.g0)) fail('uncorrected / globe signal speed should equal its Doppler', rc.offvs, rc.g0);
|
||||
if (!rc.syncDisabled || /Corrected/.test(rc.info)) fail('line-up controls not disabled / restored', rc.syncDisabled, rc.info);
|
||||
await b.close();
|
||||
|
||||
Reference in New Issue
Block a user