phetsims / natural-selection

"Natural Selection" is an educational simulation in HTML5, by PhET Interactive Simulations
GNU General Public License v3.0
3 stars 7 forks source link

Hiding a gene won't remove all graph results #358

Closed KatieWoe closed 1 year ago

KatieWoe commented 1 year ago

Test device Samsung Operating System Win 11 Browser Chrome Problem description For https://github.com/phetsims/qa/issues/971. In studio, if you hide a gene, most things regarding it disappear, but the line in the population graph still shows up if it was visible before the gene was hidden, and the alleles for it show up when looking at a pedigree. This is despite the fact that the key for the gene disappears in both cases. Since this is an edge case it may not be worth addressing. Steps to reproduce

  1. In the lab screen, turn on the ear gene, either as recessive or dominant.
  2. Advance generations until a bunny shows the trait
  3. Using naturalSelection.labScreen.view.genes.earsVisibleProperty, turn off the visibility of the ear gene
  4. Observe the graphs

Visuals morehidegene hideagene

Troubleshooting information:

!!!!! DO NOT EDIT !!!!! Name: ‪Natural Selection‬ URL: https://phet-dev.colorado.edu/html/natural-selection/1.5.0-rc.2/phet/natural-selection_all_phet.html Version: 1.5.0-rc.2 2023-08-15 11:39:33 UTC Features missing: applicationcache, applicationcache, touch Flags: pixelRatioScaling User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Language: en-US Window: 1536x707 Pixel Ratio: 1.25/1 WebGL: WebGL 1.0 (OpenGL ES 2.0 Chromium) GLSL: WebGL GLSL ES 1.0 (OpenGL ES GLSL ES 1.0 Chromium) Vendor: WebKit (WebKit WebGL) Vertex: attribs: 16 varying: 31 uniform: 4096 Texture: size: 8192 imageUnits: 32 (vertex: 32, combined: 64) Max viewport: 8192x8192 OES_texture_float: true Dependencies JSON: {}
pixelzoom commented 1 year ago

I could probably address this specific case for the Population graph. But hiding genes after bunnies have been created is a general problem.

For example, in the Pedigree graph, if you hide a gene, the labeling of bunnies does not change. For example, hiding the fur gene in the Lab screen does not remove 'F' and 'f' from the labels:

screenshot_2707

And changing the labeling would be very odd, because the individuals clearly show fur traits. That's also true for the bunnies in the main play area -- once bunnies have been created with a trait, there's no way to hide that trait.

So... I'm inclined to do nothing about this issue. If you want to customize the UI by changing the values of view.genes.earsVisibleProperty et.al., that needs to be done before you start growing the population. It's not pedagogically useful to do otherwise.

@arouinfar your thoughts? And if we do nothing for this issue, should anything about this be mentioned in examples.md?

arouinfar commented 1 year ago

So... I'm inclined to do nothing about this issue. If you want to customize the UI by changing the values of view.genes.earsVisibleProperty et.al., that needs to be done before you start growing the population. It's not pedagogically useful to do otherwise.

I agree @pixelzoom. I don't think we need to do anything here.

And if we do nothing for this issue, should anything about this be mentioned in examples.md?

No. From an instructional design standpoint, it doesn't make any sense to introduce mutations and then hide them. I don't think it's worth adding to examples.md, especially not at the expense of another spot-check.