This commit is contained in:
2026-04-17 14:55:32 -04:00
commit bc3ac1d4c9
18017 changed files with 4371742 additions and 0 deletions

View File

@@ -0,0 +1,88 @@
---
source_files:
- Common/DTS.CommonCore/Interface/SystemSettings/DB/IDBImportView.cs
- Common/DTS.CommonCore/Interface/SystemSettings/DB/IDBExportView.cs
- Common/DTS.CommonCore/Interface/SystemSettings/DB/IDBViewModel.cs
generated_at: "2026-04-16T12:20:53.510446+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "7e29e0cdd222a5b1"
---
# Documentation: DTS.Common.Interface (DB Import/Export Views)
## 1. Purpose
This module defines the contract for database import and export functionality within the system settings domain. It provides three interfaces—`IDBImportView`, `IDBExportView`, and `IDBViewModel`—that establish the structure for view models handling file-based data transfer operations. The module abstracts the import/export workflow, allowing views to be swapped or mocked while maintaining a consistent interface for XML-based data serialization.
---
## 2. Public Interface
### `IDBImportView`
**Signature:** `public interface IDBImportView : IBaseView { }`
A marker interface extending `IBaseView`. Defines no members of its own; exists to identify views responsible for import operations.
---
### `IDBExportView`
**Signature:** `public interface IDBExportView : IBaseView { }`
A marker interface extending `IBaseView`. Defines no members of its own; exists to identify views responsible for export operations.
---
### `IDBViewModel`
**Signature:** `public interface IDBViewModel : IBaseViewModel`
Defines the contract for a view model that orchestrates database import/export operations.
**Properties:**
| Name | Type | Access | Description |
|------|------|--------|-------------|
| `ImportView` | `IDBImportView` | get/set | Reference to the import view instance |
| `ExportView` | `IDBExportView` | get/set | Reference to the export view instance |
| `ImportFileName` | `string` | get/set | File path to import from |
| `ImportStatusText` | `string` | get/set | Status message for import operations |
| `ExportFileName` | `string` | get/set | File path to export to |
| `ExportData` | `string` | get/set | Formatted XML string to write to the export file |
| `ImportData` | `string` | get/set | Formatted XML string read from the import file |
**Methods:**
| Name | Return Type | Description |
|------|-------------|-------------|
| `Export()` | `void` | Exports the contents of `ExportData` to the file specified by `ExportFileName` |
---
## 3. Invariants
- `IDBImportView` and `IDBExportView` must always be assignable to `IBaseView`.
- `IDBViewModel` must always be assignable to `IBaseViewModel`.
- `ExportData` and `ImportData` are expected to contain formatted XML strings (as stated in source comments).
- The `Export()` method is expected to use the current values of `ExportFileName` and `ExportData` at the time of invocation.
---
## 4. Dependencies
**This module depends on:**
- `DTS.Common.Base` — Provides `IBaseView` and `IBaseViewModel` base interfaces.
**What depends on this module:**
- Cannot be determined from the provided source files alone. Consumers would be concrete implementations of these interfaces and any code that references `IDBViewModel`, `IDBImportView`, or `IDBExportView`.
---
## 5. Gotchas
1. **Asymmetric API:** There is an `Export()` method defined, but no corresponding `Import()` method is present in `IDBViewModel`. Import logic must be handled elsewhere or through property binding alone.
2. **Placement uncertainty:** Source comments indicate that `ImportFileName` and `ExportFileName` properties may not belong in the view model long-term: *"we may not need this in the viewmodel if the viewmodel is capable of doing all the operations it needs to do."* This suggests potential refactoring.
3. **XML coupling:** The `ExportData` and `ImportData` properties are explicitly documented as "formatted xml string." Any implementation changing this format would break the documented contract.
4. **No validation hooks:** The interfaces define no validation methods or error handling patterns for file I/O operations. Implementers must define their own error handling strategy.

View File

@@ -0,0 +1,100 @@
---
source_files:
- Common/DTS.CommonCore/Interface/SystemSettings/ISOSettings/IisoSettingsView.cs
- Common/DTS.CommonCore/Interface/SystemSettings/ISOSettings/IISOSettingsModel.cs
- Common/DTS.CommonCore/Interface/SystemSettings/ISOSettings/IISOSettingsViewModel.cs
- Common/DTS.CommonCore/Interface/SystemSettings/ISOSettings/IISOSettingsData.cs
generated_at: "2026-04-16T12:20:35.290001+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "7b8cfe6060429ed5"
---
# ISO Settings Module Documentation
## 1. Purpose
This module defines the contract for ISO (International Organization for Standardization) settings management within the DTS system. It establishes a Model-View-ViewModel (MVVM) architecture through four interfaces that govern how ISO-related configuration data is stored, displayed, and manipulated. The module provides a decoupled interface layer allowing implementations to vary without affecting dependent components.
---
## 2. Public Interface
### `IISOSettingsView`
**Namespace:** `DTS.Common.Interface`
**Inherits:** `IBaseView`
A marker interface representing the view component in the MVVM pattern. Contains no members beyond those inherited from `IBaseView`.
---
### `IISOSettingsModel`
**Namespace:** `DTS.Common.Interface`
**Inherits:** `IBaseModel`
Defines the data persistence contract for ISO settings.
| Method | Signature | Description |
|--------|-----------|-------------|
| `SaveData` | `void SaveData(IISOSettingsData data)` | Persists the provided ISO settings data. |
| `LoadData` | `IISOSettingsData LoadData()` | Retrieves and returns the stored ISO settings data. |
---
### `IISOSettingsViewModel`
**Namespace:** `DTS.Common.Interface`
**Inherits:** `IBaseViewModel`
Defines the coordinator between view and model for ISO settings.
| Property | Type | Access | Description |
|----------|------|--------|-------------|
| `View` | `IISOSettingsView` | get/set | Reference to the associated view instance. |
| `ISOData` | `IISOSettingsData` | get/set | The ISO settings data being managed. |
| `Model` | `IISOSettingsModel` | get/set | Reference to the model for data operations. |
---
### `IISOSettingsData`
**Namespace:** `DTS.Common.Interface`
**Inherits:** `IBaseClass`
Defines the data structure for ISO configuration settings.
| Property | Type | Access | Description |
|----------|------|--------|-------------|
| `UniqueISOCodesRequired` | `bool` | get/set | Controls whether ISO codes must be unique. |
| `ISOViewMode` | `IsoViewMode` | get/set | Determines the view mode for ISO display. |
| `ShowISOStringBuilder` | `bool` | get/set | Controls visibility of ISO string builder UI. |
| `ShowChannelCodeLookupHelper` | `bool` | get/set | Controls visibility of channel code lookup helper. |
| `UseISOCodeFilterMapping` | `bool` | get/set | Enables/disables ISO code filter mapping. |
| `ShowISOCodes` | `bool` | get only | Indicates whether ISO codes should be displayed. |
| `ShowUserCodes` | `bool` | get only | Indicates whether user codes should be displayed. |
| `ChannelNamesOnly` | `bool` | get only | Indicates whether only channel names are shown. |
---
## 3. Invariants
- **Inheritance Hierarchy:** All interfaces in this module inherit from base interfaces in `DTS.Common.Base` (`IBaseView`, `IBaseModel`, `IBaseViewModel`, `IBaseClass`). Implementations must satisfy these base contracts.
- **Read-only Properties:** The properties `ShowISOCodes`, `ShowUserCodes`, and `ChannelNamesOnly` on `IISOSettingsData` are read-only. Their values must be derived from other state (likely computed from `ISOViewMode` or other properties), but the derivation logic is not specified in these interfaces.
- **ViewModel Composition:** `IISOSettingsViewModel` requires non-null references to `View`, `Model`, and `ISOData` for proper operation (implied by the architecture, though not enforced at interface level).
---
## 4. Dependencies
### This module depends on:
- **`DTS.Common.Base`** — Provides base interfaces (`IBaseView`, `IBaseModel`, `IBaseViewModel`, `IBaseClass`) that all ISO settings interfaces extend.
- **`DTS.Common.Enums`** — Provides the `IsoViewMode` enum used in `IISOSettingsData.ISOViewMode`.
### What depends on this module:
- **Unclear from source alone.** Concrete implementations of these interfaces and any consumers of `IISOSettingsView`, `IISOSettingsModel`, `IISOSettingsViewModel`, or `IISOSettingsData` are not present in the provided files.
---
## 5. Gotchas
- **Naming Inconsistency:** The file name `IisoSettingsView.cs` uses lowercase "iso" while the interface name is `IISOSettingsView` (uppercase). The file includes a `// ReSharper disable InconsistentNaming` directive in `IISOSettingsViewModel.cs`, suggesting naming conventions around "ISO" have been a point of friction.
- **Read-only Property Derivation:** The three read-only properties on `IISOSettingsData` (`ShowISOCodes`, `ShowUserCodes`, `ChannelNamesOnly`) have no visible implementation. Their relationship to `ISOViewMode` or other writable properties is not documented in these interfaces—implementers must consult concrete implementations or other documentation.
- **Empty View Interface:** `IISOSettingsView` defines no members beyond its base interface. This may indicate either a placeholder for future expansion or that all view behavior is defined in `IBaseView`.

View File

@@ -0,0 +1,67 @@
---
source_files:
- Common/DTS.CommonCore/Interface/SystemSettings/PowerAndBattery/IPowerAndBatteryView.cs
- Common/DTS.CommonCore/Interface/SystemSettings/PowerAndBattery/IPowerAndBatteryViewModel.cs
generated_at: "2026-04-16T12:26:11.956445+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "a788360f54c0a8e6"
---
# Documentation: Power and Battery View/ViewModel Interfaces
## 1. Purpose
This module defines two marker interfaces, `IPowerAndBatteryView` and `IPowerAndBatteryViewModel`, which serve as type contracts for the Power and Battery settings feature within the system. These interfaces follow the Model-View-ViewModel (MVVM) architectural pattern, providing type identity and polymorphic compatibility with the base view/viewmodel infrastructure while remaining empty to allow implementation-specific flexibility.
---
## 2. Public Interface
### `IPowerAndBatteryView`
**Signature:**
```csharp
public interface IPowerAndBatteryView : IBaseView { }
```
**Location:** `DTS.Common.Interface` namespace
**Behavior:** An empty marker interface that extends `IBaseView`. It imposes no additional members beyond those inherited from `IBaseView`. Implementations represent the UI layer for power and battery configuration.
---
### `IPowerAndBatteryViewModel`
**Signature:**
```csharp
public interface IPowerAndBatteryViewModel : IBaseViewModel { }
```
**Location:** `DTS.Common.Interface` namespace
**Behavior:** An empty marker interface that extends `IBaseViewModel`. It imposes no additional members beyond those inherited from `IBaseViewModel`. Implementations represent the presentation logic and state for power and battery configuration.
---
## 3. Invariants
- Both interfaces must always inherit from their respective base types (`IBaseView` and `IBaseViewModel`).
- The contracts defined by `IBaseView` and `IBaseViewModel` (not visible in these source files) must be fulfilled by any implementing class.
- The namespace `DTS.Common.Interface` groups these interfaces with other system interfaces.
**Note:** Specific invariants regarding member requirements cannot be determined from these source files alone, as both interfaces are empty marker interfaces delegating all contracts to their parent types.
---
## 4. Dependencies
### This module depends on:
- `DTS.Common.Base` — Provides `IBaseView` and `IBaseViewModel` base interfaces
### What depends on this module:
**Cannot be determined from source alone.** Consumers would include concrete View and ViewModel implementations for the Power and Battery settings feature, as well as any registration, navigation, or dependency injection configuration that references these interfaces.
---
## 5. Gotchas
- **Empty marker interfaces:** Both interfaces define no members of their own. All behavior contracts come from `IBaseView` and `IBaseViewModel`. Developers implementing these interfaces must consult the base interface definitions to understand required members.
- **Naming inconsistency:** The folder path (`SystemSettings/PowerAndBattery/`) suggests a hierarchical organization, but the namespace flattens to `DTS.Common.Interface`. This may cause confusion when locating related types.
- **No explicit coupling:** There is no compile-time enforcement linking `IPowerAndBatteryView` to `IPowerAndBatteryViewModel`. The relationship is implied by naming convention only.

View File

@@ -0,0 +1,62 @@
---
source_files:
- Common/DTS.CommonCore/Interface/SystemSettings/QASettings/IQASettingsView.cs
- Common/DTS.CommonCore/Interface/SystemSettings/QASettings/IQASettingsViewModel.cs
generated_at: "2026-04-16T12:19:52.577676+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "5199e3039d0bb459"
---
# Documentation: IQASettingsView and IQASettingsViewModel Interfaces
## 1. Purpose
This module defines two empty marker interfaces, `IQASettingsView` and `IQASettingsViewModel`, which represent the View and ViewModel contracts for a QA (Quality Assurance) Settings feature within an MVVM (Model-View-ViewModel) architecture. These interfaces exist to establish type hierarchy and enable polymorphic treatment of QA Settings components alongside other system settings views and view models through their base interface inheritance.
---
## 2. Public Interface
### `IQASettingsView`
- **Namespace:** `DTS.Common.Interface`
- **Inheritance:** `IBaseView`
- **Signature:**
```csharp
public interface IQASettingsView : IBaseView { }
```
- **Behavior:** Empty marker interface. Provides no members beyond those inherited from `IBaseView`. Used to identify views that implement QA Settings functionality.
### `IQASettingsViewModel`
- **Namespace:** `DTS.Common.Interface`
- **Inheritance:** `IBaseViewModel`
- **Signature:**
```csharp
public interface IQASettingsViewModel : IBaseViewModel { }
```
- **Behavior:** Empty marker interface. Provides no members beyond those inherited from `IBaseViewModel`. Used to identify view models that implement QA Settings functionality.
---
## 3. Invariants
- Any class implementing `IQASettingsView` must also satisfy the contract of `IBaseView`.
- Any class implementing `IQASettingsViewModel` must also satisfy the contract of `IBaseViewModel`.
- The specific invariants of `IBaseView` and `IBaseViewModel` are not visible in the provided source; their contracts must be consulted for complete invariant requirements.
---
## 4. Dependencies
### This module depends on:
- `DTS.Common.Base` — Provides `IBaseView` and `IBaseViewModel` base interfaces.
### What depends on this module:
- **Unknown from source alone.** Concrete view and view model classes implementing these interfaces, as well as any navigation or registration systems that reference these types, would be consumers, but they are not present in the provided files.
---
## 5. Gotchas
- **Empty interfaces:** Both interfaces define no members of their own. This is either intentional (marker interfaces for type discrimination, registration, or dependency injection) or indicative of incomplete implementation. The actual behavior and responsibilities of QA Settings views/view models must be inferred from the base interfaces (`IBaseView`, `IBaseViewModel`) or from concrete implementations not shown here.
- **Base interface contracts unknown:** Without visibility into `IBaseView` and `IBaseViewModel`, the full contract requirements for implementers cannot be documented.

View File

@@ -0,0 +1,62 @@
---
source_files:
- Common/DTS.CommonCore/Interface/SystemSettings/RealtimeSettings/IRealtimeSettingsView.cs
- Common/DTS.CommonCore/Interface/SystemSettings/RealtimeSettings/IRealtimeSettingsViewModel.cs
generated_at: "2026-04-16T12:20:24.412229+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "0ef736bfba716a64"
---
# Documentation: IRealtimeSettingsView & IRealtimeSettingsViewModel
## 1. Purpose
This module defines two marker interfaces—`IRealtimeSettingsView` and `IRealtimeSettingsViewModel`—for the RealtimeSettings feature within an MVVM (Model-View-ViewModel) architecture. These interfaces serve as extension points for real-time system settings configuration, allowing concrete implementations to be identified, registered, and resolved through dependency injection or convention-based wiring. The interfaces themselves are empty, indicating they rely entirely on their base contracts for behavior.
---
## 2. Public Interface
### `IRealtimeSettingsView`
- **Namespace:** `DTS.Common.Interface`
- **Inheritance:** `IBaseView`
- **Signature:**
```csharp
public interface IRealtimeSettingsView : IBaseView { }
```
- **Behavior:** Marker interface with no members. Any contract behavior is inherited from `IBaseView` (defined in `DTS.Common.Base`).
### `IRealtimeSettingsViewModel`
- **Namespace:** `DTS.Common.Interface`
- **Inheritance:** `IBaseViewModel`
- **Signature:**
```csharp
public interface IRealtimeSettingsViewModel : IBaseViewModel { }
```
- **Behavior:** Marker interface with no members. Any contract behavior is inherited from `IBaseViewModel` (defined in `DTS.Common.Base`).
---
## 3. Invariants
- **Type hierarchy:** `IRealtimeSettingsView` must always be assignable to `IBaseView`. `IRealtimeSettingsViewModel` must always be assignable to `IBaseViewModel`.
- **No additional contracts:** Neither interface defines additional members beyond their base interfaces. Any invariants are inherited from `IBaseView` and `IBaseViewModel`, but **these are not visible in the provided source**.
---
## 4. Dependencies
### This module depends on:
- `DTS.Common.Base` — Provides `IBaseView` and `IBaseViewModel` base interfaces.
### What depends on this module:
- **Unknown from source alone.** Concrete View and ViewModel implementations for RealtimeSettings would implement these interfaces, and DI containers or navigation frameworks would consume them, but no such consumers are visible in the provided files.
---
## 5. Gotchas
- **Marker interfaces:** Both interfaces are empty marker interfaces. Developers should not expect any RealtimeSettings-specific members here; all functionality comes from the base interfaces (`IBaseView`, `IBaseViewModel`), which are not included in the provided source.
- **Naming suggests pairing:** The naming convention (`IRealtimeSettingsView` + `IRealtimeSettingsViewModel`) strongly implies an MVVM pairing, but the relationship is not enforced at the type level.
- **Purpose unclear without context:** The specific behavior or data associated with "RealtimeSettings" is not documented in these interfaces. The actual settings, validation rules, or real-time update mechanisms must be defined in implementing classes or related modules not provided here.

View File

@@ -0,0 +1,57 @@
---
source_files:
- Common/DTS.CommonCore/Interface/SystemSettings/TablesSettings/ITablesSettingsView.cs
- Common/DTS.CommonCore/Interface/SystemSettings/TablesSettings/ITablesSettingsModel.cs
generated_at: "2026-04-16T12:19:50.242418+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "9b85701d1358796f"
---
# Documentation: Tables Settings Interfaces
## 1. Purpose
This module defines two marker interfaces for the "Tables Settings" feature within the System Settings subsystem. These interfaces establish type contracts for the View and ViewModel components in an MVVM (Model-View-ViewModel) architecture, allowing components to be identified and potentially resolved via dependency injection or reflection without exposing any domain-specific members at this interface level.
---
## 2. Public Interface
### `ITablesSettingsView`
- **Namespace:** `DTS.Common.Interface`
- **Declaration:** `public interface ITablesSettingsView : IBaseView { }`
- **Inheritance:** Extends `IBaseView` (from `DTS.Common.Base`)
- **Members:** None defined (marker interface)
### `ITablesSettingsViewModel`
- **Namespace:** `DTS.Common.Interface`
- **Declaration:** `public interface ITablesSettingsViewModel : IBaseViewModel { }`
- **Inheritance:** Extends `IBaseViewModel` (from `DTS.Common.Base`)
- **Members:** None defined (marker interface)
---
## 3. Invariants
- Any class implementing `ITablesSettingsView` must also satisfy the contract of `IBaseView`.
- Any class implementing `ITablesSettingsViewModel` must also satisfy the contract of `IBaseViewModel`.
- The specific behavioral contracts of `IBaseView` and `IBaseViewModel` are not visible in the provided source; their requirements are inherited but unspecified here.
---
## 4. Dependencies
### This module depends on:
- `DTS.Common.Base` — provides `IBaseView` and `IBaseViewModel` base interfaces.
### Consumers:
- Not determinable from the provided source alone. These interfaces are likely consumed by concrete View/ViewModel implementations and possibly a dependency injection container or navigation system.
---
## 5. Gotchas
- **Filename/Interface name mismatch:** The file `ITablesSettingsModel.cs` contains the interface `ITablesSettingsViewModel`, not `ITablesSettingsModel`. This naming inconsistency may cause confusion when locating types by filename.
- **Empty interfaces:** Both interfaces are marker interfaces with no members. Any functionality must be provided by the base interfaces (`IBaseView`, `IBaseViewModel`) or by casting to concrete types, which is not visible in this source.
- **Purpose unclear from source alone:** The specific behavior or data associated with "Tables Settings" is not defined at this interface level; the interfaces serve only as type identifiers.

View File

@@ -0,0 +1,42 @@
---
source_files:
- Common/DTS.CommonCore/Interface/SystemSettings/TestSettings/ITestSettingsView.cs
- Common/DTS.CommonCore/Interface/SystemSettings/TestSettings/ITestSettingsViewModel.cs
generated_at: "2026-04-16T12:21:08.427147+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "5e0dfcfe8f8e6976"
---
# Documentation: Test Settings Interfaces
## 1. Purpose
This module defines the contractual interfaces for the "Test Settings" feature within an MVVM (Model-View-ViewModel) architecture. It provides `ITestSettingsView` and `ITestSettingsViewModel` to decouple the UI layer from the business logic layer. These interfaces serve as markers for dependency injection and view resolution, ensuring that specific Test Settings components can be identified and managed by the system's core infrastructure.
## 2. Public Interface
### `ITestSettingsView`
* **Signature:** `public interface ITestSettingsView : IBaseView`
* **Namespace:** `DTS.Common.Interface`
* **Description:** Represents the View component for Test Settings. It inherits from `IBaseView` but defines no additional members, functioning as a specific marker interface for the system's view resolution mechanism.
### `ITestSettingsViewModel`
* **Signature:** `public interface ITestSettingsViewModel : IBaseViewModel`
* **Namespace:** `DTS.Common.Interface`
* **Description:** Represents the ViewModel component for Test Settings. It inherits from `IBaseViewModel` but defines no additional members, functioning as a specific marker interface for the system's logic layer.
## 3. Invariants
* **Hierarchy:** Any class implementing `ITestSettingsView` must also implement `IBaseView`. Any class implementing `ITestSettingsViewModel` must also implement `IBaseViewModel`.
* **Structure:** These interfaces are currently empty (marker interfaces). Therefore, they do not enforce specific method signatures or properties beyond those inherited from their base types.
## 4. Dependencies
* **External Dependencies:**
* `DTS.Common.Base`: Required for the definitions of `IBaseView` and `IBaseViewModel`.
* **Consumers:**
* Concrete View implementations (e.g., WPF Windows/Pages) needing to register as the Test Settings UI.
* Concrete ViewModel implementations handling the logic for Test Settings.
* Dependency injection containers or navigation services that resolve these specific interfaces.
## 5. Gotchas
* **Marker Interfaces:** Both interfaces are empty. While they likely facilitate type-safe navigation or injection, they expose no specific API surface (e.g., `LoadSettings()` or `SaveCommand`) themselves. Developers must cast to the concrete implementation or a more specific base type to access actual functionality, or rely on members exposed by `IBaseView`/`IBaseViewModel`.
* **Base Behavior Unknown:** The actual capabilities of these interfaces depend entirely on the definitions of `IBaseView` and `IBaseViewModel` found in `DTS.Common.Base`, which are not included in the provided source.

View File

@@ -0,0 +1,56 @@
---
source_files:
- Common/DTS.CommonCore/Interface/SystemSettings/UISettings/IUISettingsView.cs
- Common/DTS.CommonCore/Interface/SystemSettings/UISettings/IUISettingsViewModel.cs
generated_at: "2026-04-16T12:25:58.608548+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "2585d1c5e565105e"
---
# Documentation: IUISettingsView & IUISettingsViewModel
## 1. Purpose
This module defines two marker interfaces, `IUISettingsView` and `IUISettingsViewModel`, which serve as type identifiers for UI settings-related components within a Model-View-ViewModel (MVVM) architecture. These interfaces exist to establish a type hierarchy for UI settings screens, allowing components to be identified, registered, or resolved generically as settings-related views and view models without defining any additional members beyond their base contracts.
---
## 2. Public Interface
### `IUISettingsView`
- **Namespace:** `DTS.Common.Interface`
- **Signature:** `public interface IUISettingsView : IBaseView`
- **Description:** A marker interface for UI settings views. Inherits from `IBaseView` (defined in `DTS.Common.Base`). Declares no additional members.
### `IUISettingsViewModel`
- **Namespace:** `DTS.Common.Interface`
- **Signature:** `public interface IUISettingsViewModel : IBaseViewModel`
- **Description:** A marker interface for UI settings view models. Inherits from `IBaseViewModel` (defined in `DTS.Common.Base`). Declares no additional members.
---
## 3. Invariants
- `IUISettingsView` must always be assignable to `IBaseView`.
- `IUISettingsViewModel` must always be assignable to `IBaseViewModel`.
- The actual contracts (properties, methods, events) for these interfaces are defined entirely by their base interfaces (`IBaseView` and `IBaseViewModel`), not by these interfaces themselves.
- **Unclear from source:** The specific invariants enforced by `IBaseView` and `IBaseViewModel` cannot be determined without access to `DTS.Common.Base`.
---
## 4. Dependencies
### This module depends on:
- `DTS.Common.Base` — provides `IBaseView` and `IBaseViewModel` base interfaces.
### What depends on this module:
- **Unclear from source alone.** Consumers would be any concrete view or view model classes implementing `IUISettingsView` or `IUISettingsViewModel`, as well as any registration/resolution logic (e.g., dependency injection containers, navigation services) that handles UI settings components by these types.
---
## 5. Gotchas
- **Empty marker interfaces:** Both interfaces define no members. All functionality comes from their respective base interfaces. Developers implementing these should consult `IBaseView` and `IBaseViewModel` to understand required members.
- **Naming collision risk:** The namespace `DTS.Common.Interface` is generic; if other modules use the same namespace, type resolution conflicts could occur.
- **Unclear from source:** The reason for having separate marker interfaces (rather than using the base interfaces directly) is not documented in the source. This may relate to type discrimination for navigation, DI registration, or feature-specific handling, but this cannot be confirmed without additional context.