This is the fast orientation page for future SoundType work.
SoundType is a Windows WPF tray app. It is not a web app and it does not use a local browser server.
SoundType.App -> WPF screens, tray menu, startup wiring, view models
SoundType.Core -> settings models, pack metadata, app-rule decisions
SoundType.Input -> keyboard hook, active-window lookup, global hotkey
SoundType.Audio -> pack loading, audio processing, mixer, EQ, playback
tools -> pack validation/import and portable publishing
assets/packs -> built-in sourced sound packs
| Task | Best starting point |
|---|---|
| Build/test | docs/DEVELOPMENT.md |
| Package/release | docs/PACKAGING.md and tools/publish-portable.ps1 |
| Release changes | CHANGELOG.md |
| Sound pack format | docs/SOUND_PACK_FORMAT.md |
| Bundled sample provenance | docs/SAMPLE_PROVENANCE.md and pack-local source files |
| Third-party notices for users | THIRD_PARTY_NOTICES.md |
| Reference implementation notes | docs/REFERENCE_NOTES.md |
| Privacy claims | docs/PRIVACY.md |
| Manual Windows QA | docs/QA_CHECKLIST.md |
| Automatic updater verification | docs/UPDATE_QA.md |
| Current product direction | docs/ROADMAP.md |
| Historical first-build scope | docs/archive/BUILD_SPEC.md |
Live maintainer docs live in docs/. Treat docs/archive/ as historical
context unless a current doc explicitly points there.
README.md -> Product overview and download path
AGENTS.md -> Agent-specific packaging and debugging rules
docs/REPO_GUIDE.md -> This orientation map
docs/DEVELOPMENT.md -> Local SDK, project boundaries, verification
docs/PACKAGING.md -> Portable publish output and release zip shape
docs/QA_CHECKLIST.md -> Manual Windows smoke checks
docs/SOUND_PACK_FORMAT.md -> Folder and archive pack contracts
docs/SAMPLE_PROVENANCE.md -> Maintainer-facing bundled sample sources
docs/REFERENCE_NOTES.md -> Reference app/audio ideas and adaptation notes
docs/PRIVACY.md -> User-facing privacy statement
docs/ROADMAP.md -> Current product direction
THIRD_PARTY_NOTICES.md -> User-facing attribution and license notices
For source-level debugging:
.\.tools\dotnet\dotnet.exe run --project .\src\SoundType.App\SoundType.App.csprojFor a launchable portable build:
powershell -ExecutionPolicy Bypass -File .\tools\publish-portable.ps1The direct local launch target is:
artifacts\publish\SoundType\SoundType.exe
SoundType.exe is the only file at the release root. Runtime dependencies live
in App, sound packs and artwork in Assets, and release guides in
Documentation. Keep the folders alongside the executable.
The release upload artifacts are still only:
artifacts\SoundType-win-x64-Release-portable.zip
artifacts\SoundType-win-x64-Release-portable.sha256
MainWindow.xamlis still the large WPF layout file. Keep behavior changes small and verified.- App display-only list items live in
src/SoundType.App/ViewModels. - Shared C# project defaults live in
Directory.Build.props; project files only keep settings that are specific to that project. - Do not commit
.tools,.external,.private,artifacts,bin, orobj. artifacts\publish\SoundType\SoundType.exeis useful local output, not a committed artifact.- Keep release screenshots under
artifacts\screenshotsand temporary UI checks underartifacts\ui-qa.
These are the files future cleanup should approach carefully:
| Path | Why it matters |
|---|---|
src/SoundType.App/MainWindow.xaml |
Large WPF shell; resources and page bodies are still inline. Split resource dictionaries or page controls only with build/test coverage. |
src/SoundType.App/MainWindow.xaml.cs |
Main orchestration point for startup, audio selection, tray, hotkeys, navigation, rules, settings, and waveform refresh. Prefer small services or manual partials before adding more responsibilities. |
src/SoundType.App/ViewModels/AppVisual.cs |
Display model that also resolves native app icons. If icon behavior grows, move interop into an app service and keep the model plain. |
src/SoundType.Audio/AudioEngine.cs |
Main playback runtime path. Changes here affect latency, overlapping playback, output-device handling, and cache pruning. |
src/SoundType.Tests/ReleaseReadinessTests.cs |
String-based release guardrails. Useful, but update them deliberately when moving XAML or release docs. |