Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A memory access visualization library #360

Open
3 tasks done
KOLANICH opened this issue May 3, 2023 · 3 comments
Open
3 tasks done

A memory access visualization library #360

KOLANICH opened this issue May 3, 2023 · 3 comments
Labels
Beginner Simple projects that can be done by people relatively new to programming. Developer tooling Help your fellow developers out by making their job a bit more enjoyable with good tooling. Medium work This project takes little time to complete. (ETA week or two)

Comments

@KOLANICH
Copy link

KOLANICH commented May 3, 2023

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.

  1. All objects use RAII idiom.
  2. A user includes a header and links the software with a certain library.
  3. A user creates a visualization object. This object manages the visualization window. The window lives in a separate thread.
  4. 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.
  5. 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.
  6. 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

  • Beginner - This project requires no or little prior knowledge of the technolog(y|ies) specified to contribute to the project

Required time (ETA)

  • Medium work - A week or two

Categories

  • Developer Tooling
@ZigRazor
Copy link

ZigRazor commented May 4, 2023

Good Idea, when start, I want to partecipate!

@FredrikAugust FredrikAugust added Medium work This project takes little time to complete. (ETA week or two) Beginner Simple projects that can be done by people relatively new to programming. Developer tooling Help your fellow developers out by making their job a bit more enjoyable with good tooling. labels May 4, 2023
@PersonalKez
Copy link

having a go at this

@PersonalKez
Copy link

Sorted. https://github.com/PersonalKez/ArrVizLib

Feedback welcome. Install is a bit clunky but generally always is on Windows CMAKE.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Beginner Simple projects that can be done by people relatively new to programming. Developer tooling Help your fellow developers out by making their job a bit more enjoyable with good tooling. Medium work This project takes little time to complete. (ETA week or two)
Projects
None yet
Development

No branches or pull requests

4 participants