phetsims / density-buoyancy-common

Common code for the Density and Buoyancy simulations
GNU General Public License v3.0
0 stars 2 forks source link

Remove `toggleNode.elements` nesting from BlocksValueControlPanel #251

Open arouinfar opened 2 weeks ago

arouinfar commented 2 weeks ago

In https://github.com/phetsims/buoyancy/issues/51 the devs asked:

On all Compare screens: Do we want to keep the toggleNode.elements under BlocksValueControlPanel? It introduces two levels of nesting.

Here's the current tree structure:

image

During today's design meeting with @DianaTavares @samreid @AgustinVallejo @zepumph we decided to remove the toggleNode.elements nesting from the tree, so we would see blocksValueControlPanel.volumeNumberControl, etc. instead.

Other notes:

zepumph commented 2 weeks ago
zepumph commented 2 weeks ago

We thought about trying to keep ToggleNode instrumented to provide the tandems "correctly" through the group items paradigm, but we would rather not have toggleNode in the studio tree. Thus we did more of a workaround, and opened https://github.com/phetsims/sun/issues/888 about having an easier option to instrument important children without instrumenting a common code parent (like ToggleNode).

samreid commented 2 weeks ago

After this change, the migration wrapper is showing these changes:

{
    "phetioIDNotInNewAPI": [
        "density.compareScreen.view.blocksValueControlPanel.toggleNode.elements.massNumberControl.numberDisplay.visibleProperty",
        "density.compareScreen.view.blocksValueControlPanel.toggleNode.elements.massNumberControl.slider.thumbNode.visibleProperty",
        "density.compareScreen.view.blocksValueControlPanel.toggleNode.elements.massNumberControl.slider.enabledRangeProperty",
        "density.compareScreen.view.blocksValueControlPanel.toggleNode.elements.massNumberControl.slider.visibleProperty",
        "density.compareScreen.view.blocksValueControlPanel.toggleNode.elements.massNumberControl.slider.enabledProperty",
        "density.compareScreen.view.blocksValueControlPanel.toggleNode.elements.massNumberControl.slider.trackNode.visibleProperty",
        "density.compareScreen.view.blocksValueControlPanel.toggleNode.elements.massNumberControl.decrementButton.enabledProperty",
        "density.compareScreen.view.blocksValueControlPanel.toggleNode.elements.massNumberControl.decrementButton.visibleProperty",
        "density.compareScreen.view.blocksValueControlPanel.toggleNode.elements.massNumberControl.incrementButton.enabledProperty",
        "density.compareScreen.view.blocksValueControlPanel.toggleNode.elements.massNumberControl.incrementButton.visibleProperty",
        "density.compareScreen.view.blocksValueControlPanel.toggleNode.elements.massNumberControl.enabledProperty",
        "density.compareScreen.view.blocksValueControlPanel.toggleNode.elements.volumeNumberControl.numberDisplay.visibleProperty",
        "density.compareScreen.view.blocksValueControlPanel.toggleNode.elements.volumeNumberControl.slider.thumbNode.visibleProperty",
        "density.compareScreen.view.blocksValueControlPanel.toggleNode.elements.volumeNumberControl.slider.enabledRangeProperty",
        "density.compareScreen.view.blocksValueControlPanel.toggleNode.elements.volumeNumberControl.slider.visibleProperty",
        "density.compareScreen.view.blocksValueControlPanel.toggleNode.elements.volumeNumberControl.slider.enabledProperty",
        "density.compareScreen.view.blocksValueControlPanel.toggleNode.elements.volumeNumberControl.slider.trackNode.visibleProperty",
        "density.compareScreen.view.blocksValueControlPanel.toggleNode.elements.volumeNumberControl.decrementButton.enabledProperty",
        "density.compareScreen.view.blocksValueControlPanel.toggleNode.elements.volumeNumberControl.decrementButton.visibleProperty",
        "density.compareScreen.view.blocksValueControlPanel.toggleNode.elements.volumeNumberControl.incrementButton.enabledProperty",
        "density.compareScreen.view.blocksValueControlPanel.toggleNode.elements.volumeNumberControl.incrementButton.visibleProperty",
        "density.compareScreen.view.blocksValueControlPanel.toggleNode.elements.volumeNumberControl.enabledProperty",
        "density.compareScreen.view.blocksValueControlPanel.toggleNode.elements.densityNumberControl.numberDisplay.visibleProperty",
        "density.compareScreen.view.blocksValueControlPanel.toggleNode.elements.densityNumberControl.slider.thumbNode.visibleProperty",
        "density.compareScreen.view.blocksValueControlPanel.toggleNode.elements.densityNumberControl.slider.enabledRangeProperty",
        "density.compareScreen.view.blocksValueControlPanel.toggleNode.elements.densityNumberControl.slider.visibleProperty",
        "density.compareScreen.view.blocksValueControlPanel.toggleNode.elements.densityNumberControl.slider.enabledProperty",
        "density.compareScreen.view.blocksValueControlPanel.toggleNode.elements.densityNumberControl.slider.trackNode.visibleProperty",
        "density.compareScreen.view.blocksValueControlPanel.toggleNode.elements.densityNumberControl.decrementButton.enabledProperty",
        "density.compareScreen.view.blocksValueControlPanel.toggleNode.elements.densityNumberControl.decrementButton.visibleProperty",
        "density.compareScreen.view.blocksValueControlPanel.toggleNode.elements.densityNumberControl.incrementButton.enabledProperty",
        "density.compareScreen.view.blocksValueControlPanel.toggleNode.elements.densityNumberControl.incrementButton.visibleProperty",
        "density.compareScreen.view.blocksValueControlPanel.toggleNode.elements.densityNumberControl.enabledProperty"
    ]
}
samreid commented 2 weeks ago

I was going to commit the updated API file and start adding migration processors, but thought I should double check first. Was it intentional to uninstrument all those descendant trees?

zepumph commented 1 week ago

I added a migration rule with @samreid. Anything else here?