Browser Runtime
Vifu loads games as static browser assets. The runtime expects an HTML entry file, relative assets, and optional companion capability metadata.
Runtime contract
| Area | Requirement |
|---|---|
| Entry | HTML file such as index.html or a Godot Web Export entry. |
| Assets | Relative paths from the build output. |
| Storage | Browser storage may be used for local state, but the game must boot without remote state. |
| Network | Do not require third-party network calls for first render. |
| Companion | Use companion.plugin.v1 only when the game registers SDK state or commands. |
iframe behavior
Games should tolerate iframe constraints:
- no top-level navigation
- no reliance on popups
- responsive layout inside the frame
- pause or resume cleanly when hidden
- no required access to parent window except through the SDK bridge
Boot checklist
- Serve the build from a local static server.
- Reload the entry page directly.
- Confirm all assets load with relative URLs.
- Confirm the game is playable before companion initialization.
- Confirm
companion.status().hostConnectedbecomes true inside Vifu.
