100 lines
2.6 KiB
Markdown

# Source Map
Package-level source overview for `src/main/java` and `src/test/java`.
## Main Sources
### `vassistent`
- `App.java`
Application entry point.
### `vassistent.bootstrap`
- `ApplicationContext.java`
In-memory container for shared services/state.
- `ApplicationInitializer.java`
Service wiring, startup orchestration, process startup reporting.
- `ApplicationShutdownManager.java`
Graceful shutdown: MQTT disconnect, process stop, DB cleanup, logger shutdown.
### `vassistent.controller`
- `AppWindowController.java`
Main window lifecycle and cross-view coordination.
- `DashboardController.java`
Updates chart/level view from app state.
- `StreamingController.java`
Controls stream view actions.
### `vassistent.model`
- `AppState.java`
Observable application state.
- `DatabaseEntry.java`
Persisted event value + timestamp.
- `ProblemLevel.java`
Risk-level enum.
- `RatioPoint.java`
Time-series point for chart data.
### `vassistent.service`
- `AnimationFileService.java`
Writes current animation state JSON.
- `BinaryEventService.java`
Validates payloads and triggers persistence/evaluation.
- `DataPersistenceService.java`
SQLite schema setup and event read/write methods.
- `EvaluationService.java`
Ratio-to-level mapping and state update.
- `MqttClientService.java`
MQTT connect/subscribe/publish and callback routing.
- `ProcessManagerService.java`
Optional simulator/Unreal process startup, health checks, shutdown.
- `StatisticsService.java`
Ratio and rolling-average calculations from persisted events.
### `vassistent.ui`
- `AppWindow.java`
Root frame with tabbed layout.
- `DashboardView.java`
Chart and current-level visualization.
- `PixelStreamingView.java`
JCEF browser panel for stream URL.
- `ProblemLevelBar.java`
Custom UI component for level display.
### `vassistent.util`
- `AppConfigValidator.java`
Startup configuration validation.
- `ConfigLoader.java`
Classpath properties loading.
- `Logger.java`
Asynchronous logger with file rotation support.
## Resource Files
- `src/main/resources/config/application.properties`
- `src/main/resources/config/logger.properties`
- `src/main/resources/scripts/mqtt_simulator.py`
- `src/main/resources/scripts/start_avatar.ps1`
## Test Sources
### `vassistent.model`
- `AppStateTest.java`
### `vassistent.service`
- `AnimationFileServiceTest.java`
- `BinaryEventServiceTest.java`
- `DataPersistenceServiceTest.java`
- `EvaluationServiceTest.java`
- `MqttClientServiceTest.java`
- `ProcessManagerServiceTest.java`
- `StatisticsServiceTest.java`