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 |
| 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 |
| 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
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. |