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

phetioFeatured defaults for Preferences #875

Closed
arouinfar opened this issue Oct 24, 2022 · 5 comments
Closed

phetioFeatured defaults for Preferences #875

arouinfar opened this issue Oct 24, 2022 · 5 comments

Comments

@arouinfar
Copy link

arouinfar commented Oct 24, 2022

In phetsims/molecule-shapes#230 and phetsims/gravity-and-orbits#470, QA reported that preferencesDialog.preferencesTabs.LocalizationTab.visibleProperty was missing from the tree. It's not actually missing, but I realized that it wasn't phetioFeatured: true. It seems reasonable to feature any phetioID mentioned in the Preferences section PhET-iO Guide, so I reviewed the tree to see what else should be featured.

The guide describes how to hide the preferences tabs in the dialog, so I think we should feature preferencesDialogCapsule.archetype.preferencesTabs.*Tab.visibleProperty.

I also found this in the guide:

To aid PhET-iO Studio users in inspecting all Preferences, we created a preferencesModel where all of the preferences are linked and organized for ease of inspection. Recall, any API calls must be done on target phetioID, not the linked name.

Here is a brief description of these preference settings, collected at moleculeShapes.general.model.preferencesModel

The only elements linked under the preferencesModel that we specifically refer to in the documentation are the stateful properties: audioEnabledProperty, localeProperty, and colorProfileProperty. These are all phetioFeatured: true. However, the quote above suggests that users may want to inspect all of the preferencesModel contents, which they can only do if viewing "All" elements. Here's what preferencesModel looks like when viewing Featured vs. All elements.

image image

Should we feature all of the target elements collected here? Or should we specify that users should view "All" elements when inspecting the preferencesModel? If we only want to feature the stateful properties, then voicingEnabledProperty should be phetioFeatured: false.

For the foreseeable future, most of the properties under preferencesModel aren't actually applicable to most sims, so I am leaning towards just featuring the stateful properties. @zepumph @samreid what would you advise?

@samreid
Copy link
Member

samreid commented Oct 26, 2022

I made preferences tabs and their visibleProperties phetioFeatured: true in the commit.

The preferencesModel is overwhelming, especially for sims that do not leverage all those features. It seems best to start with that subset being phetioFeatured for the next few releases.

If we only want to feature the stateful properties, then voicingEnabledProperty should be phetioFeatured: false.

I'll mark it as phetioFeatured: false in the next commit.

samreid added a commit to phetsims/utterance-queue that referenced this issue Oct 26, 2022
@samreid
Copy link
Member

samreid commented Oct 26, 2022

OK fixed and ready for review, the featured tree now looks like this for GAO:

image

And the tabs and their visibleProperties are now featured.

@arouinfar
Copy link
Author

Thanks @samreid. Master generally looks good, but I think you may have accidentally unfeatred colorProfileProperty. It's stateful and cited in an example customization in the guide, so I think it should remain phetioFeatured: true.

@samreid
Copy link
Member

samreid commented Oct 27, 2022

Thanks, I added that. Can you please test on phet-dev?

@arouinfar
Copy link
Author

Thanks @samreid, looks good!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants