Wall of People Groups: the poster's title and chart never flash at print size before the wall's zoom applies

This commit is contained in:
Doxa Maps 2026-09-29 00:27:41 +00:00
parent 9d3040867f
commit 03b5078d4e

View file

@ -96,9 +96,10 @@ export class WallCanvas {
this.host.appendChild(this.ov)
this.ovRoot = this.ov.attachShadow ? this.ov.attachShadow({ mode: 'open' }) : this.ov
}
// The print CSS (its @page rule is ignored on screen), scoped by the shadow root.
// The print CSS (its @page rule is ignored on screen), scoped by the shadow root. The overlay starts at
// scale(0) and takes the zoom's transform on the next frame, so it never flashes at full print size.
this.ovRoot.innerHTML = `<style>${sp.css}\n.ovw{position:absolute;left:0;top:0;transform-origin:0 0;pointer-events:none}.ovw a{pointer-events:auto}</style>`
+ `<div class="ovw poster" style="width:${sp.worldW}px;height:${sp.worldH}px">${sp.chromeHtml}</div>`
+ `<div class="ovw poster" style="width:${sp.worldW}px;height:${sp.worldH}px;transform:scale(0)">${sp.chromeHtml}</div>`
this.ovw = this.ovRoot.querySelector('.ovw')
this.showPoster(); this.resize()
}