Developer Module (logos-module-viewer)

Functionality

  1. The system shall perform real-time monitoring and enumeration of all registered QObjects across modules.
  2. The system shall leverage Qt Meta Objects to dynamically generate accurate interface definitions and bindings for C/C++, Nim, Rust, Go, and JavaScript.
  3. The system shall support selective or global tracing and logging of module interactions, outputting logs in plain text (*.log files).
  4. The system shall automatically detect changes in binaries and configuration files, triggering hot reloads, resetting system state without manual intervention.
  5. The system shall provide interactive debugging capabilities via a JSON-RPC Module for dynamically invoking methods and inspecting runtime behavior.

Usability

  1. The system shall integrate directly with the existing CLI Module to provide a consistent and unified command-line interface for monitoring, tracing, and debugging.
  2. The system shall generate clear and standardized source-code definitions (e.g., header/interface files) to facilitate rapid and intuitive development.
  3. The system may provide automated generation of test stubs, producing skeletal unit tests with placeholder arguments, simplifying test-driven development.

Reliability

  1. The system shall robustly handle incomplete or erroneous Qt Meta Object information, clearly warning the developer through CLI Module output (STDOUT).
  2. The system shall provide fallback mechanisms for meta-object enumeration by retrieving definitions from source code repositories or bundled package source code, when explicitly provided.
  3. The system shall maintain reliable operation and clear communication during failures in hot reload processes.

Performance

  1. The system shall manage real-time monitoring and continuous tracing efficiently, with minimal and controlled performance overhead.
  2. The system shall dynamically handle performance overhead by allowing configurable selective tracing of modules.
  3. The system shall efficiently handle automatic code generation tasks, ensuring timely updates following detected changes.

Supportability

  1. The system shall explicitly support and encourage third-party extensions for adding new language adapters and developer tools.
  2. The system shall enable straightforward integration of external tools via clearly defined JSON-RPC APIs for monitoring and debugging.
  3. The system shall facilitate future enhancements, including dependency visualization, real-time metrics dashboards, and advanced interactive debugging features.
  4. The system shall maintain clear separation of concerns, ensuring ease of future maintenance, extension, and module upgrades.

Out of Scope

  • Future integration hooks to allow custom workflows, such as continuous integration/continuous deployment (CI/CD).
  • Planned visualization tools to illustrate module dependencies and object interactions.
  • Real-time system health and performance metrics to assist developers in diagnosing and optimizing component interactions.