description is text with a small markup (## title, - bullet, paragraphs
separated by a blank line). The kit’s description() turns it into safe DOM nodes.
Trailers (d.trailers[i].url) are HLS (.m3u8). Use the kit’s attachStream(),
which uses native HLS or hls.js as needed.
Uninstall
ejg.game.uninstall(id) does not uninstall anything by itself. It opens a host
dialog that explains what will happen and asks for confirmation.
- If the game has an uninstaller, it is opened (the one from its entry in
Windows’ Installed apps, or an
unins000.exe/uninstall.exein its folder). When the game disappears from disk, it leaves the library. - If it has nothing, its folder goes to the recycle bin. A library folder, a downloads folder, a system folder, or a folder that contains other games is never deleted.
- If it is a console game, it is deleted: its folder (if it was downloaded from a catalog) or its file, with its DLC and updates, goes to the recycle bin.
canUninstall(game) (/_sdk/kit/library.js).
Emulators installed from ejGames are in library.all with source: "emulator".
They are not games. isSoftware(game) tells them apart, visible() leaves them
out (the same as console games) and software(library.all) returns them for
Homebrew.
Console games (source: "rom" or "homebrew") carry platform ("switch",
"vita", "3ds", "ps2"…), emulator (what opens them; "" if there is none)
and rom (what was read from the file: titleId, version, region, serial
and extras, its updates and DLC). From the kit:
When you uninstall, the game leaves the library along with its hours.

