window.print() и научить юзера использовать стандартный функционал печати браузера. Браузер прекрасно всё распечатает сам как надо. Разве что со своей стороны тебе придётся немного пофиксить css под media print. Это предпочтительный вариант.
const modals = reactive({
library: false,
bar: false
})
function popupOpen(type) {
modals[type] = true
}
<MyButton @click="popupOpen('library')">Библиотека игр</MyButton><MyButton @click="modals.library = true">Библиотека игр</MyButton>
a.uid === b.owner && a.owner === b.uid
@/public, ~/public или ~@/public.
Ну и сами бг картинки отоптимизировать стоит по сжанию, для этого много тулз есть.
Ещё можно preload link использовать, но это уже перебор.:)