Configuration
The config.json sections that control branding, panel toggles, loading timings, text, background and music.
Branding
ThemeColor also drives text colour, so keep it light. A dark value makes the interface unreadable against the black backdrop.
Toggles
The two act flags only matter while EnableIntro is true.
Loading
Read by client/main.lua only. Each value must be a number of 0 or more.
The cap only ever lowers the value. An explicit shutdown request from another resource bypasses MinDisplayMs entirely.
Locales
The four panel headings render with the first word emphasised, split at the first space. Keep all eight short or they will crowd the panel on smaller viewports.
Background
A single image renders as a static backdrop. In video mode a YouTube link plays through YouTube's iframe player; any other URL must be something the embedded browser can decode, such as an H.264 MP4.
"Background": {
"Type": "gallery",
"GalleryInterval": 5000,
"Images": [
"https://your-cdn.com/bg1.png",
"https://your-cdn.com/bg2.png"
]
}Nothing here is bundled. Every image, clip and logo is fetched over the network by a client that is still connecting, so host them on a CDN and keep file sizes modest. A background that has not arrived is a black screen.
Music
Url must be a direct link to an audio file, such as an .mp3 on a CDN.
"Music": {
"Playlist": [
{ "Title": "Track Name", "Url": "https://your-cdn.com/track.mp3" }
],
"Volume": 0.25,
"MutedByDefault": false
}Volume is read with a falsy check, so 0 is treated as unset and becomes 0.3. Use MutedByDefault, or a small value such as 0.05, to start quiet.