How arseniy-sk/crosshair-studio works
Crosshair Studio is a desktop app for designing crosshairs and placing configurable game overlays, with a separate Workshop service for sharing designs. The main workflow is configure a design or HUD widget, persist settings, then show an overlay on a selected monitor. The README documents cross-platform support; sampled code also confirms rendering, telemetry, magnification, hotkeys, and Workshop publishing/browsing. Several UI and overlay links are inferred only where the excerpts show their owning entry points; unsampled implementation details are omitted.
Main entry points: MainViewModel.cs Main workflow · OverlayService.cs Overlay service · App.axaml.cs App bootstrap · MainWindow.axaml.cs Main window
Components 23
Desktop app
- App bootstrap
src/CrosshairStudio/App.axaml.cs - Main workflow
src/CrosshairStudio/ViewModels/MainViewModel.cs - Main window
src/CrosshairStudio/Views/MainWindow.axaml.cs - Onboarding
src/CrosshairStudio/Views/OnboardingView.axaml.cs
Design and display
- App settings
src/CrosshairStudio/Domain/Settings.cs - Crosshair model
src/CrosshairStudio/Domain/Crosshair.cs - HUD widget model
src/CrosshairStudio/Domain/HudWidget.cs - Crosshair preview
src/CrosshairStudio/Controls/CrosshairView.cs - Crosshair painter
src/CrosshairStudio/Rendering/CrosshairPainter.cs - Local settings store
src/CrosshairStudio/Infrastructure/JsonStore.cs - Monitor query
src/CrosshairStudio/Infrastructure/MonitorQuery.cs
Overlay runtime
- Overlay service
src/CrosshairStudio/Overlay/OverlayService.cs - Crosshair overlay
src/CrosshairStudio/Overlay/OverlayWindow.axaml.cs - HUD overlay
src/CrosshairStudio/Overlay/HudWindow.axaml.cs - Magnifier
src/CrosshairStudio/Overlay/MagnifierWindow.axaml.cs - Telemetry sampling
src/CrosshairStudio/Infrastructure/Sampling/TelemetrySampler.cs - Hotkey input
src/CrosshairStudio/Infrastructure/InputWatch.cs
Workshop service
- Workshop workflow
src/CrosshairStudio/ViewModels/WorkshopViewModel.cs - Workshop client
src/CrosshairStudio/Infrastructure/WorkshopClient.cs - Workshop API
server/src/index.mjs - Workshop catalog
server/src/store.mjs
Other components
- Player
- HTTP clients
Connections 23
- Player → Main window: uses
- App bootstrap → Local settings store: loads settings
- App bootstrap → Overlay service: creates
- App bootstrap → Workshop workflow: creates workflow
- App bootstrap → Main workflow: creates
- App bootstrap → Main window: opens
- Main window → Main workflow: binds
- Main workflow → Local settings store: persists settings
- Main workflow → Monitor query: queries displays
- Main workflow → Overlay service: updates overlay
- Main workflow → Crosshair model: edits design
- Main workflow → HUD widget model: configures widgets
- Crosshair preview → Crosshair painter: renders preview
- Overlay service → Crosshair overlay: shows crosshair
- Overlay service → HUD overlay: shows widgets
- Overlay service → Magnifier: shows magnifier
- Overlay service → Telemetry sampling: starts sampling
- Main workflow → Hotkey input: starts watching
- Workshop workflow → Workshop client: requests items
- Main workflow → Workshop client: publishes designs
- Workshop client → HTTP clients: sends requests
- HTTP clients → Workshop API: calls API
- Workshop API → Workshop catalog: reads and writes