Specify a Windows installer built by the Linux CI
The tree is closer to Windows than a Linux-only project usually is: every image library, the TLS stack and the inference engine are pure Rust, and dr-plat already keeps the Linux-only code behind cfgs with a loud fallback where none exists for another platform. What remains is a short list above dr-plat — five XDG path lookups, an xdg-open, the secret store's third implementation, the models' lookup beside the executable — and none of it touches core, which is the NFR-PORT-3 test this would be the first real run of. docs/windows.md decides the GNU target over MSVC-via-xwin, Vulkan only as on every other platform, a per-user NSIS installer that leaves the library alone on uninstall, and a CI leg in the shape of the Android one. It is explicit about what a runner with no Windows can verify — that it links, is PE32+, starts under Wine and installs under Wine — and what it cannot, which is everything involving a real GPU driver. Three FR-PLAT-WIN requirements and a channel row record the decisions; the ordering puts a first cross-compile on the developer machine before any container exists, because the list of cfg gaps is a reading of the source and the compiler's list will be longer.
This commit is contained in:
@@ -1009,6 +1009,24 @@ protocol is unavailable, FR-DSP-8's stated fallback applies.
|
||||
portals and credential storage uses the Secret Service portal, both verified to satisfy FR-NC-2 and
|
||||
FR-CAT-1 within the sandbox.
|
||||
|
||||
#### Windows
|
||||
|
||||
Specified in [windows.md](windows.md); a stated channel under NFR-COMPAT-2, not a v1 one.
|
||||
|
||||
**FR-PLAT-WIN-1 — Known folders.** Configuration under `%APPDATA%\darkroom`; data, cache and
|
||||
state under `%LOCALAPPDATA%\darkroom`. Nothing under the profile root and nothing relative to the
|
||||
working directory. The layout beneath those roots is the same as under XDG, so a library directory
|
||||
moves between platforms unchanged.
|
||||
|
||||
**FR-PLAT-WIN-2 — Installer.** A per-user installer that needs no elevation, registers an
|
||||
uninstaller, and whose uninstaller removes what the installer wrote and nothing the application
|
||||
wrote. Models are installed beside the executable and found there last, after the user's own
|
||||
directories.
|
||||
|
||||
**FR-PLAT-WIN-3 — Built from Linux.** The Windows binary and its installer are produced by the
|
||||
Linux CI from the same commit as every other channel, with no Windows machine in the build.
|
||||
Verification on Windows is a release step, recorded per release, not a build step.
|
||||
|
||||
### 3.9 Culling
|
||||
|
||||
Per D11 this is the product's primary differentiator, not an incidental capability.
|
||||
|
||||
Reference in New Issue
Block a user