nmwsharp / nmwsharp/polyscope

Implement saving/loading of persistent values to configure multiple views

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

Nobody has claimed this yet.

enhancement
Dominant language
C++
Stars
2.2k
Forks
242
Avg merge
11m
Merged PRs (30d)
1

Description

Desired workflow: The user programmatically configures several "views" of their data, each of which corresponds to a different collection of settings (stuff which is enabled, etc). The user wants to quickly switch between these views without clicking a bunch.

How to get there: We could get this fairly easily by leveraging the persistent value caches. Work items would be:

  • define a serialization format for persistent values (in-memory for now)
  • add a storeConfiguration() function or something, which saves the state of all persistent values to an internal list
  • add a loadConfiguration() function which restores persistent values
  • buttons in the GUI, etc

This has significant overlap with things we would want to do regardless to enable serialization more broadly.

Contributor guide

No contributing guide indexed for this repository

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 reading include/polyscope/persistent_value.h and tracing how persistent values are created and accessed. Define the in-memory serialization format and the scope of the stored state before implementing configuration save/load; consider GUI buttons only after the core behavior is specified and testable.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.