phetsims / joist

Joist is the main framework for PhET Interactive Simulations. Joist creates and displays the simulation content, home screen, navigation bar, About dialog, enables switching between tabs, and other framework-related features.
MIT License
8 stars 6 forks source link

Update preferences icon #919

Closed amanda-phet closed 1 year ago

amanda-phet commented 1 year ago

Based on interviews that @catherinecarter and I did, and discussions with @BLFiedler and @terracoda , we'd like to move ahead with a "cog" icon for the preferences dialog. To match the style of the other icons, we like this hollow version.

image

However, this style isn't available in font awesome 4, so I made these PNGs.

preferencesIconOnWhite prefeerencesIcon

Assigning to @veillette to make this change in joist. If you need help, I believe @chrisklus is available.

The icon should fit the scheme where the height matches the height of the P in PhET, which is also the height of the sound icon. The distance between each icon should also be equal. Let me know if any questions come up in the process!

veillette commented 1 year ago

@amanda-phet : do you have an svg of the cog? It is a highly symmetric shape so it would be better as an SVG.

amanda-phet commented 1 year ago

Sure, I just made a PNG to be consistent with the keyboard icon. Here are the icons as SVGs.

SVG.zip

veillette commented 1 year ago

Thanks @amanda-phet . I see what you mean about the keyboard Icon. I'll stick to the png then and follow the pattern for the keyboard icon.

veillette commented 1 year ago

I haven't committed my work on master yet but it would look like this.

In charges-and-fields (which has a projection mode) we have image and in projection mode (there is an apparent change of size from the above screenshot due to the fact the two screenshots do not have the exact same sizes) image

In quadrilateral, it yields, image

veillette commented 1 year ago

I noticed that the keyboard icons have uploaded their assets as ai files. I think we should the same. @amanda-phet , whenever you have the opportunity, please provide me with the assets for the icons.

veillette commented 1 year ago

@amanda-phet provided the assets for the icons.

veillette commented 1 year ago

@amanda-phet and I had a bit of back and forth about how to scale the image. We settled on

  const icon = new Image( preferencesIcon_png, {
      scale: 0.145, // empirically determined to match the height of the P in PhET button
      pickable: false
    } );

which yields

image image

veillette commented 1 year ago

In summary, we have updated the preference button icon. There are two png files that have been uploaded: one for the white background and the other for a black background. The pattern used here followed the pattern from the keyboard icon (which is also a png).

To review this issue, please

veillette commented 1 year ago

Assigning to @chrisklus to review.

chrisklus commented 1 year ago

Looking great, thanks @veillette! @zepumph and I reviewed together. The only thing we changed was the way the icon is scaled - by factoring out the height the image can be changed to any resolution and will render at the same size.

Back to you to close if nothing else.

veillette commented 1 year ago

Thanks @chrisklus and @zepumph for the quick review.

zepumph commented 1 year ago

Also noting that we though about how using png files are slightly blurrier when really zoomed in than the SVG font awesome audio button. Perhaps using SVG would make this clearer, but probably wouldn't be worth it for the amount of SVG data for something like the keyboard button. We don't want to make a new issue for that.

Number play team will proceed in https://github.com/phetsims/number-play/issues/233, and are ready to close this issue. Thanks so much for making this happen.

veillette commented 1 year ago

The work is done here. Closing.