chore(conductor): Add new track 'migrate the fully featured debug panel to common source for use in other targets, wire it up in desktop'

This commit is contained in:
James Rich 2026-03-19 12:56:26 -05:00
parent 4eb711ce58
commit 34673c2119
5 changed files with 61 additions and 0 deletions

View file

@ -2,3 +2,7 @@
This file tracks all major tracks for the project. Each track has its own detailed plan in its respective folder.
---
- [ ] **Track: migrate the fully featured debug panel to common source for use in other targets, wire it up in desktop**
*Link: [./tracks/migrate_debug_panel_20260319/](./tracks/migrate_debug_panel_20260319/)*

View file

@ -0,0 +1,5 @@
# Track migrate_debug_panel_20260319 Context
- [Specification](./spec.md)
- [Implementation Plan](./plan.md)
- [Metadata](./metadata.json)

View file

@ -0,0 +1,8 @@
{
"track_id": "migrate_debug_panel_20260319",
"type": "feature",
"status": "new",
"created_at": "2026-03-19T00:00:00Z",
"updated_at": "2026-03-19T00:00:00Z",
"description": "migrate the fully featured debug panel to common source for use in other targets, wire it up in desktop"
}

View file

@ -0,0 +1,20 @@
# Implementation Plan: Debug Panel KMP Migration
## Phase 1: Analysis and Relocation
- [ ] Task: Locate all source files for the Android Debug Panel (UI, ViewModels, States).
- [ ] Task: Move these files from the Android-specific source sets (e.g., `feature/settings/src/androidMain`) into `feature/settings/src/commonMain`.
- [ ] Task: Conductor - User Manual Verification 'Phase 1: Analysis and Relocation' (Protocol in workflow.md)
## Phase 2: Adaptation to KMP
- [ ] Task: Resolve compilation errors by removing Android-specific imports (`android.*`, `java.*`).
- [ ] Task: Migrate Android Jetpack Compose imports (`androidx.compose`) to Compose Multiplatform equivalents (`org.jetbrains.compose.*` or ensuring the standard Multiplatform aliases are used).
- [ ] Task: Ensure the Debug Panel ViewModel uses the multiplatform `androidx.lifecycle.ViewModel`.
- [ ] Task: Abstract any necessary platform-specific logging or hardware interactions using `expect`/`actual` or KMP interfaces.
- [ ] Task: Write or migrate corresponding unit tests to `commonTest`.
- [ ] Task: Conductor - User Manual Verification 'Phase 2: Adaptation to KMP' (Protocol in workflow.md)
## Phase 3: Desktop Integration
- [ ] Task: Wire the Debug Panel into the Desktop target's settings menu (`DesktopSettingsNavigation.kt`).
- [ ] Task: Add DI bindings for the Desktop module if the Debug Panel requires specific dependencies.
- [ ] Task: Verify the Debug Panel screen can be opened and navigated to from the Desktop app.
- [ ] Task: Conductor - User Manual Verification 'Phase 3: Desktop Integration' (Protocol in workflow.md)

View file

@ -0,0 +1,24 @@
# Specification: Debug Panel KMP Migration
## Overview
Migrate the existing Android-specific Debug Panel to `commonMain` to enable its use across all Kotlin Multiplatform targets, specifically wiring it up for the Desktop target.
## Functional Requirements
- The complete Android debug panel implementation will be moved and adapted to `commonMain`.
- All capabilities from the existing Android debug panel should be preserved and made functional on the Desktop target if possible.
- The Debug Panel will be accessible within the Desktop Settings menu, mirroring the Android application's navigation structure.
- Any platform-specific system logging (e.g., Logcat) that cannot be migrated will be appropriately abstracted or gracefully degraded.
## Non-Functional Requirements
- **Architecture:** Follow the project's MVI/UDF architecture.
- **UI:** Leverage Compose Multiplatform for the shared UI, removing any Android-specific Jetpack Compose dependencies from the core shared UI logic.
- **Testing:** Add `commonTest` coverage for the migrated ViewModels and presentation logic.
## Acceptance Criteria
- [ ] The Debug Panel source code resides in a `commonMain` module (e.g., `feature/settings/src/commonMain`).
- [ ] The Debug Panel compiles and runs successfully on both the Android and Desktop targets.
- [ ] The Desktop application can navigate to the Debug Panel from the Settings menu.
- [ ] Essential debug features (transport logs, packet inspection, etc.) function on the Desktop.
## Out of Scope
- Creating new debug capabilities that do not already exist in the Android implementation.