Developer Module (logos-module-viewer)
Functionality
- The system shall perform real-time monitoring and enumeration of all registered QObjects across modules.
- The system shall leverage Qt Meta Objects to dynamically generate accurate interface definitions and bindings for C/C++, Nim, Rust, Go, and JavaScript.
- The system shall support selective or global tracing and logging of module interactions, outputting logs in plain text (*.log files).
- The system shall automatically detect changes in binaries and configuration files, triggering hot reloads, resetting system state without manual intervention.
- The system shall provide interactive debugging capabilities via a JSON-RPC Module for dynamically invoking methods and inspecting runtime behavior.
Usability
- The system shall integrate directly with the existing CLI Module to provide a consistent and unified command-line interface for monitoring, tracing, and debugging.
- The system shall generate clear and standardized source-code definitions (e.g., header/interface files) to facilitate rapid and intuitive development.
- The system may provide automated generation of test stubs, producing skeletal unit tests with placeholder arguments, simplifying test-driven development.
Reliability
- The system shall robustly handle incomplete or erroneous Qt Meta Object information, clearly warning the developer through CLI Module output (STDOUT).
- 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.
- The system shall maintain reliable operation and clear communication during failures in hot reload processes.
Performance
- The system shall manage real-time monitoring and continuous tracing efficiently, with minimal and controlled performance overhead.
- The system shall dynamically handle performance overhead by allowing configurable selective tracing of modules.
- The system shall efficiently handle automatic code generation tasks, ensuring timely updates following detected changes.
Supportability
- The system shall explicitly support and encourage third-party extensions for adding new language adapters and developer tools.
- The system shall enable straightforward integration of external tools via clearly defined JSON-RPC APIs for monitoring and debugging.
- The system shall facilitate future enhancements, including dependency visualization, real-time metrics dashboards, and advanced interactive debugging features.
- 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.