Free Sound Recorder 8.1.0 - formal source distribution

Requires Windows 10 build 19041 or later, x64, .NET SDK 10.0.103 and NuGet
access for pinned NAudio 2.2.1 and WebView2 SDK 1.0.3296.44 packages.

Run from PowerShell:
  .\BUILD-FORMAL.ps1 -OutputDirectory ..\RebuiltApplication

This produces a self-contained .NET 10.0.3 win-x64 host, editable web/ and www/
assets, brand.ini, and complete notices. Keep the whole output folder together.
The single-file bundle deliberately disables internal compression: the final
Inno solid LZMA2 installer compresses it better than double compression.
Do not point a local rebuild at the released signed Application folder.

The desktop editor requires Microsoft Edge WebView2 Runtime. Formal Setup detects
an existing runtime and uses Microsoft's signed Evergreen bootstrapper only when
missing. The bootstrapper needs internet access. Build scripts do not install it.

The complete source release includes ../Installer and synthetic tests in ../QA.
Installer/Product.iss requires SourceDir, ReleaseOutputDir and (for a production
signed build) SignedUninstallerCache plus an external signing command named
PilotRelease. No certificate, token or signing credentials are in this archive.
An explicitly marked /DUnsignedBuild setup can be compiled for local review only.

Recording uses separate native WAV writers for each selected Windows source;
stopping imports those source tracks into AudioMass. Export mixes audible tracks.
Solo then export creates an individual source output; .amss retains editable
tracks. There is no one-click batch stem export or per-application loopback capture.
The formal host changes only Pause elapsed accounting: paused time freezes and
is excluded after Resume. Original source capture and vendor editor remain intact.

English device names: www/record.js translates common localized Windows endpoint
names for the English interface while preserving ASCII manufacturer/model text.
Unknown non-English text uses an input/playback device fallback; duplicate labels
include an endpoint-ID-derived suffix. Selection and capture still use the original
endpoint IDs. Other interface languages retain the original Windows friendly name.
The source controls, their tooltips, live lane labels and newly imported recording
filenames follow this display rule. Imported user project/track names are not changed.
This presentation-only revision does not change or rebuild the signed C# host.

Branding: edit UTF-8 brand.ini beside the exe, then restart. Name and WebsiteUrl
control the visible identity and homepage link. ProductId selects the per-user
LocalAppData directory and must stay stable for upgrades. IconFile optionally
names a valid .ico. Compiled exe filename, assembly identity and PE icon need a
rebuild to change. DefaultTheme may be dark or light before a user chooses a
theme; saved appearance.json is retained. Never place secrets in brand.ini.

LAME/lamejs MP3 encoder source is vendor/audiomass/src/lame.js. That exact
readable file ships as web/lame.js and can be edited/replaced directly without
recompiling or relinking the signed host. See Licenses/LameJS/README.md and full
license texts. Additional dependency licenses and original copyright notices are
included under Licenses, LICENSE and vendor/audiomass/LICENSE. The vendor's
historical generic notices are retained, but product-specific distribution
notices are the top-level THIRD_PARTY_NOTICES.md.

BUILD-PREVIEW.ps1 is retained as a historical developer helper. BUILD-FORMAL.ps1
is the release build entry and copies the complete product-specific notices.
