SOURCE / PINNED RELEASE
Made of little things.
Napplet Machines V8
- Release
- b3f614e739f0…
- Author-recorded commit
- 534f19acb4ba…
- License
- LICENSE
- Author’s source reference
- nostr://npub182jczunncwe0jn6frpqwq3e0qjws7yqqnc3auccqv9nte2dnd63scjm4rf/wss%3A%2F%2Fgit.napplet.soy%2F/n-b5572362d4a
Archive hash verified: 0f7feb97e2c3d336…. The source-to-build association is the author’s claim; it has not been independently rebuilt.
import { mkdir } from 'node:fs/promises';
export default async ({ players, check }) => {
const { page, frame } = players[0];
await mkdir('.napplet-space/promotion', { recursive: true });
await page.setViewportSize({ width: 1200, height: 820 });
await frame.locator('#scene').waitFor();
await page.screenshot({ path: '.napplet-space/promotion/host.png' });
await frame
.locator('#scene')
.screenshot({ path: '.napplet-space/promotion/scene.png' });
console.log('BODY', await page.locator('body').innerText());
check(
'scene boots',
(await frame.locator('#scene').getAttribute('data-racing')) === 'false',
);
await frame.getByRole('button', { name: 'Race with AI' }).click();
await frame.waitForFunction(
() => document.querySelector('#scene').dataset.countdown === '0',
);
await frame.locator('#scene').focus();
await page.keyboard.down('w');
await page.waitForTimeout(600);
await page.keyboard.up('w');
check(
'driving changes speed',
Number(await frame.locator('#speed').innerText()) > 0,
);
await page.screenshot({ path: '.napplet-space/promotion/race-host.png' });
await frame.getByRole('button', { name: 'Exit race', exact: true }).click();
await frame.getByRole('button', { name: 'Workshop', exact: false }).click();
await page.screenshot({ path: '.napplet-space/promotion/editor-host.png' });
};
