diff --git a/proof/artifacts/SHA256SUMS b/proof/artifacts/SHA256SUMS index de9c97e..f01735a 100644 --- a/proof/artifacts/SHA256SUMS +++ b/proof/artifacts/SHA256SUMS @@ -1,2 +1,2 @@ -7e0ef201630a3231abf4b192ec48f17b78d2e9e6cd4f92b34182e49d6d41c7cd proof/artifacts/webmcpify-proof-source.webm -8edf979fc56c9df802c65554591377fab85f35de7baa06829a19d5ea2c3df75e proof/artifacts/webmcpify-proof-480p.mp4 +781e79a556dae16ee3fba74f9b48fc0b2781da4acaf48bb2e5365a5ad7153896 proof/artifacts/webmcpify-proof-source.webm +4ba11207764b6982f202f90eeb4781c9836c038b0be2dba57ec212fbb2929993 proof/artifacts/webmcpify-proof-480p.mp4 diff --git a/proof/artifacts/webmcpify-proof-480p.mp4 b/proof/artifacts/webmcpify-proof-480p.mp4 index 793e538..2480b7c 100644 Binary files a/proof/artifacts/webmcpify-proof-480p.mp4 and b/proof/artifacts/webmcpify-proof-480p.mp4 differ diff --git a/proof/artifacts/webmcpify-proof-source.webm b/proof/artifacts/webmcpify-proof-source.webm index 683aae8..769c62d 100644 Binary files a/proof/artifacts/webmcpify-proof-source.webm and b/proof/artifacts/webmcpify-proof-source.webm differ diff --git a/proof/demo/app.js b/proof/demo/app.js index 0250e9a..430f085 100644 --- a/proof/demo/app.js +++ b/proof/demo/app.js @@ -31,7 +31,10 @@ window.proof = { line(text) { log.textContent += `${text}\n`; log.scrollTop = log.scrollHeight; }, manifest(show = true) { document.querySelector('#manifest').hidden = !show; }, gate() { document.querySelector('#gate').showModal(); }, - check(text) { document.querySelector('#checks').insertAdjacentHTML('beforeend', `
✓ ${text}
`); }, + check(text) { + document.querySelector('#checks').insertAdjacentHTML('beforeend', `
✓ ${text}
`); + log.scrollTop = log.scrollHeight; + }, chrome(version) { document.querySelector('#chrome').textContent = `Chrome ${version} · native document.modelContext`; }, }; diff --git a/proof/demo/run.mjs b/proof/demo/run.mjs index a9125c6..a2880d1 100644 --- a/proof/demo/run.mjs +++ b/proof/demo/run.mjs @@ -102,7 +102,10 @@ try { } await page.waitForFunction(async () => (await document.modelContext.getTools()).some((tool) => tool.name === 'set_release_filter')); - await page.evaluate(() => window.proof.phase('verify', 'Verify through native Chrome')); + await page.evaluate(() => { + window.proof.phase('verify', 'Verify through native Chrome'); + window.proof.manifest(false); + }); const tool = await page.evaluate(async () => (await document.modelContext.getTools()).find((item) => item.name === 'set_release_filter')); assert(tool); assert.equal(tool.annotations.readOnlyHint, false); diff --git a/proof/demo/style.css b/proof/demo/style.css index 13e2985..22c409d 100644 --- a/proof/demo/style.css +++ b/proof/demo/style.css @@ -9,7 +9,8 @@ nav span { padding:7px 12px; color:var(--muted); border:1px solid transparent; f nav span.active { color:var(--bg); background:var(--amber); border-color:var(--amber); } nav span.done { color:var(--green); border-color:var(--green); } main { display:grid; grid-template-columns:1fr 1fr; gap:24px; padding:28px 36px; } -section { min-height:560px; padding:28px; border:1px solid var(--line); background:var(--panel); } +section { height:560px; padding:28px; border:1px solid var(--line); background:var(--panel); overflow:hidden; } +.proof-card { display:flex; flex-direction:column; } .eyebrow { color:var(--amber); font-size:12px; letter-spacing:.12em; font-weight:800; } h1 { margin:.3em 0 .15em; font:700 42px/1.1 system-ui,sans-serif; } h2 { margin:.35em 0 .8em; font:700 27px/1.2 system-ui,sans-serif; } @@ -20,12 +21,12 @@ button[aria-pressed="true"], #approve { color:var(--bg); background:var(--green) article { display:flex; justify-content:space-between; padding:15px 2px; border-bottom:1px solid var(--line); font-family:system-ui,sans-serif; } article small { color:var(--muted); } #visible-count { color:var(--green); font-size:14px; } -#manifest { padding:18px; border:1px solid var(--amber); background:#101412; } +#manifest { flex-shrink:0; padding:18px; border:1px solid var(--amber); background:#101412; } #manifest span { float:right; color:var(--muted); font-size:13px; } #manifest p { margin:.65em 0 0; color:var(--muted); font-size:14px; } -#checks { margin-top:20px; } +#checks { flex-shrink:0; margin-top:20px; } .check { margin:8px 0; color:var(--green); } -pre { min-height:260px; margin-top:20px; padding:16px; overflow:hidden; white-space:pre-wrap; color:#cdd7d2; background:#090c0b; border:1px solid #27302d; font-size:13px; line-height:1.55; } +pre { flex:1; min-height:0; margin-top:20px; padding:16px; overflow:hidden; white-space:pre-wrap; color:#cdd7d2; background:#090c0b; border:1px solid #27302d; font-size:13px; line-height:1.55; } dialog { width:620px; color:var(--ink); background:#171e1b; border:2px solid var(--amber); box-shadow:0 24px 90px #000; padding:30px; } dialog::backdrop { background:rgba(0,0,0,.72); } dialog p, dialog li { font-family:system-ui,sans-serif; color:#c7d0cb; }