import puppeteer from 'puppeteer-core'; import path from 'path'; const ARTIFACTS_DIR = '/Users/moritz/.gemini/antigravity/brain/4c86ae52-822a-485e-bcc7-fed5de9e5a4b/playtest_screenshots'; async function sleep(ms) { return new Promise(r => setTimeout(r, ms)); } async function run() { const browser = await puppeteer.launch({ executablePath: '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome', headless: 'new', args: ['--no-sandbox', '--window-size=412,869'] }); const page = await browser.newPage(); await page.setViewport({ width: 412, height: 869, deviceScaleFactor: 2, isMobile: true, hasTouch: true }); await page.goto('http://localhost:4173', { waitUntil: 'networkidle0' }); // Advance to platformer await page.evaluate(() => { const store = document.querySelector('#app').__vue_app__.config.globalProperties.$pinia._s.get('game'); store.setAct('platformer'); }); await sleep(800); // Close intro modal const startBtn = await page.$('.start-act-btn'); if (startBtn) await startBtn.click(); await sleep(1000); // Gameplay Level 1 with fixed sky background await page.screenshot({ path: path.join(ARTIFACTS_DIR, '10_act2_02_doodle_jump_level1.png') }); console.log('📸 Updated 10_act2_02_doodle_jump_level1.png'); // Trigger Saskia Rescue await page.evaluate(() => { if (window.__platformer) window.__platformer.setRescuedSister('saskia'); }); await sleep(600); await page.screenshot({ path: path.join(ARTIFACTS_DIR, '11_act2_03_rescue_saskia.png') }); console.log('📸 Captured 11_act2_03_rescue_saskia.png'); // Click proceed button const proceedBtn1 = await page.$('.proceed-btn'); if (proceedBtn1) await proceedBtn1.click(); await sleep(1000); // Level 2 Gameplay await page.screenshot({ path: path.join(ARTIFACTS_DIR, '12_act2_04_doodle_jump_level2.png') }); console.log('📸 Updated 12_act2_04_doodle_jump_level2.png'); // Trigger Maja Rescue await page.evaluate(() => { if (window.__platformer) window.__platformer.setRescuedSister('maja'); }); await sleep(600); await page.screenshot({ path: path.join(ARTIFACTS_DIR, '13_act2_05_rescue_maja.png') }); console.log('📸 Captured 13_act2_05_rescue_maja.png'); // Click proceed button const proceedBtn2 = await page.$('.proceed-btn'); if (proceedBtn2) await proceedBtn2.click(); await sleep(1000); // Level 3 Gameplay await page.screenshot({ path: path.join(ARTIFACTS_DIR, '14_act2_06_doodle_jump_level3.png') }); console.log('📸 Updated 14_act2_06_doodle_jump_level3.png'); // Trigger Miriam Rescue await page.evaluate(() => { if (window.__platformer) window.__platformer.setRescuedSister('miriam'); }); await sleep(600); await page.screenshot({ path: path.join(ARTIFACTS_DIR, '15_act2_07_rescue_miriam.png') }); console.log('📸 Captured 15_act2_07_rescue_miriam.png'); await browser.close(); } run();