diff --git a/demo/smoke_live_pan_coverage.mjs b/demo/smoke_live_pan_coverage.mjs index b3683a32..dd914b1c 100644 --- a/demo/smoke_live_pan_coverage.mjs +++ b/demo/smoke_live_pan_coverage.mjs @@ -52,12 +52,19 @@ const liveState = () => page.evaluate(() => { view: structuredClone(card._view), transformed: scenes.filter((node) => node.style.transform).length, sceneCount: scenes.length, + // #689: an exposed scene opens only within its bound; the filtered + // day-cycle outline (marked clip) is projected but never opened. allSceneOverflowOpen: scenes.length > 0 - && scenes.every((node) => node.style.overflow === 'visible'), + && scenes.every((node) => (node.getAttribute('data-hp-live-overflow') === 'clip' + ? !node.style.overflow && !node.style.clipPath + : node.style.overflow === 'visible' && node.style.clipPath === 'inset(-25%)')), allScenePromoted: scenes.length > 0 && scenes.every((node) => node.style.transform && node.style.transformOrigin && node.style.willChange === 'transform' - && node.style.overflow === 'visible'), + && (node.getAttribute('data-hp-live-overflow') === 'clip' + ? !node.style.overflow && !node.style.clipPath + : node.style.overflow === 'visible' && node.style.clipPath === 'inset(-25%)')), allTemporaryStylesCleared: scenes.every((node) => !node.style.overflow + && !node.style.clipPath && !node.style.transform && !node.style.transformOrigin && !node.style.willChange), marker: centre(root.querySelector('[data-hp="device"]')), room: centre(root.querySelector('[data-hp="room"]')), diff --git a/test/paper-scene-contract.test.mjs b/test/paper-scene-contract.test.mjs index 729670a8..f5e5c09d 100644 --- a/test/paper-scene-contract.test.mjs +++ b/test/paper-scene-contract.test.mjs @@ -33,7 +33,8 @@ test('#582 safe camera scene uses explicit bounded plan and outline layers', () assert.match(card, / \.hp-paper-outline-svg \{[\s\S]*?z-index:\s*0;/); assert.match(styles, /\.hp-static-stage\.daycycle \.hp-paper-outline-svg/); assert.match(styles, /\.hp-static-stage\.daycycle \.hp-paperg \{[\s\S]*?filter:\s*none;[\s\S]*?will-change:\s*auto;/);