💡 Looking for inspiration for your next open source project? Or perhaps you've got a brilliant idea you can't wait to share with others? Open Source Ideas is a community built specifically for this! 👋
When developing C++ software sometimes it is needed to debug access to elements within arrays. Since while processing arrays the software doing it has to pass many iterations, debugging it step-by-step while watching into watch is not the most comfortable way.
It is proposed to add a bit of visualization to the process.
All objects use RAII idiom.
A user includes a header and links the software with a certain library.
A user creates a visualization object. This object manages the visualization window. The window lives in a separate thread.
A user spawns objects representing visualizations of arrays. For each such an object a user provides its dimensions. Dimensions can be altered further. Spawning an object causes visualization window to draw it. For 1D one it is a bar with cells. For 2D it is a matrix. For multiple dimensions these are sections.
A user calls the API of the arrs viz objects to create cursors. Each cursor is a marker on the bar. The parts of the bar where cursors reside are magnified as if under a magnifying glass.
A user calls the API to set positions of cursors.
Also it should be possible not only to display the picture in real time, but also log the events into a binary format, and then visualize them.
Relevant Technology
C++
GUI libs, like Qt, GTK, SDL and DearImGui
Complexity and required time
Complexity
[x] Beginner - This project requires no or little prior knowledge of the technolog(y|ies) specified to contribute to the project
Project description
When developing C++ software sometimes it is needed to debug access to elements within arrays. Since while processing arrays the software doing it has to pass many iterations, debugging it step-by-step while watching into watch is not the most comfortable way.
It is proposed to add a bit of visualization to the process.
Also it should be possible not only to display the picture in real time, but also log the events into a binary format, and then visualize them.
Relevant Technology
Complexity and required time
Complexity
Required time (ETA)
Categories