Meshtastic-Android/conductor/archive/migrate_debug_panel_20260319/spec.md
James Rich 00697cc3c1
feat: KMP Debug Panel Migration and Update Documentation (#4859)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-03-19 19:07:03 +00:00

1.6 KiB

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.