MatthewPeterKelly / MatthewPeterKelly/fractal-renderer

Write a data logger!

Open
#136 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
6
Forks
0
PR merge metrics
No merged PRs in 30d

Description

It would be great to be able to have the interactive mode generate time-series data for various details, such as frame rate, center of the window, ... this would be really useful for improving that feature over time.

Here is an idea for how this could work. We're dealing with a small number of variables and duration, so it is probably fine to just write lines to a CSV file. Each column would be a single variable, which would be registered with a name (potentially other metadata) and a callback. The callback would be called by a central system each time a row of the CSV would be generated, and each variable would generate a text representation for its value. For now, only support scalar data.

Once the data is in a CSV, then it would be trivial to plot it with rust (or python).

Also, check to see if there is a standard rust library for this type of data logging.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the interactive mode and reviewing how its state and frame updates are handled. Compare available Rust libraries for CSV or data logging before settling on an approach. Done should include a defined way to register scalar variables and callbacks, generate time-series CSV rows, and identify initial values such as frame rate and window center.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
observability
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.