BarInstall Module
Resolves the user's BAR installation — data directory, installed engine versions, the active engine per user override, and the skirmish AIs registered under the active engine. Every path this module returns is verified at resolution time; callers can hand the result to downstream modules (proxy installer, session launcher) without re-checking existence. Wraps `FSBar.Client.EngineDiscovery` — no filesystem logic is duplicated — but adds a data-model vocabulary (`EngineVersionEntry`, `BarInstall`) and structured error reporting tuned for the hub's Settings / First-Run UI.
Types
| Type | Description |
|
Complete hub view of the install. |
|
|
Failure modes surfaced by `detect`. |
|
|
Descriptor for one installed engine version under
` |
Functions and values
| Function or value |
Description
|
Full Usage:
detect settings
Parameters:
HubSettings
Returns: Result<BarInstall, BarInstallError>
|
Enumerates installed engines and selects the active one per the settings override. All filesystem checks run here; callers can treat an `Ok` result as fully validated.
|
|
Human-readable rendering of a `BarInstallError`. Used by the GUI and by diagnostics logs.
|
|
Lists the skirmish AIs installed under `
|
|
Returns the absolute data directory path the hub should use — `settings.BarDataDirOverride` when `Some`, else the XDG default (`$HOME/.local/state/Beyond All Reason`). No filesystem check.
|
FSBarV1_Archived