CEF HUD
Клиент создаёт browser view и отправляет в него состояние HUD. UI подписывается на событие через bridge.
Клиент:
ts
const hud = vimp.browsers.create('package://ui/index.html')
vimp.on('ui:ready', ({ mountedAt }) => {
console.log(`HUD mounted at ${mountedAt}`)
})
vimp.on('hud:toast', (payload) => {
hud.executeJavaScript(
`window.__vimpRecv?.('hud:toast', ${JSON.stringify(payload)})`,
)
})UI:
ts
const unsubscribe = vimp.on('hud:toast', (payload) => {
console.log('Toast from the client script:', payload)
})
vimp.emitClient('ui:ready', { mountedAt: Date.now() })
vimp.emitServer('garage:spawn', { model: 'adder' })
window.addEventListener('beforeunload', unsubscribe)CEF — отдельный контекст. Передавайте только сериализуемые данные и очищайте подписки при уничтожении интерфейса.