phetsims / gas-properties

"Gas Properties" is an educational simulation in HTML5, by PhET Interactive Simulations.
GNU General Public License v3.0
6 stars 6 forks source link

CODAP - Create wrapper prototypes #244

Closed matthew-blackman closed 2 weeks ago

matthew-blackman commented 1 month ago

@kathy-phet asked for prototype wrappers to see how PhET-IO can be used in this sim to create an integration with CODAP. Let's create wrappers for the following:

  1. A wrapper in which the user presses a button to transfer the macroscopic variables (P, V, T, N) from the sim into CODAP. This should only apply to screens 1, 2, and 3.
  2. A wrapper in which the user selects the data they are interested in via checkboxes, and then presses a button to transfer the selected variables from the sim into CODAP.
  3. A wrapper for the Diffusion screen, in which the user presses a button to collect data for the center of mass positions of each species of gas, and a stopwatch value to record time elapsed.
pixelzoom commented 1 month ago

Adding design meeting label, to clarify what the purpose and path forward is for these wrappers.

pixelzoom commented 1 month ago

5/20/24 design meeting: @arouinfar @matthew-blackman @Nancy-Salpepi @kathy-phet @pixelzoom

Next steps:

matthew-blackman commented 1 month ago

Gas Properties + CODAP wrappers are ready to review. Here are dev links for the four wrappers in development:

Macro Data Wrapper: https://codap.concord.org/releases/dsg/static/dg/en/cert/index.html?di=https://phet-dev.colorado.edu/html/gas-properties/1.1.0-dev.14/phet-io/wrappers/codap/macroDataWrapper.html?sim=gas-properties

Particle Data Wrapper: https://codap.concord.org/releases/dsg/static/dg/en/cert/index.html?di=https://phet-dev.colorado.edu/html/gas-properties/1.1.0-dev.14/phet-io/wrappers/codap/particleDataWrapper.html?sim=gas-properties

Select Data Wrapper: https://codap.concord.org/releases/dsg/static/dg/en/cert/index.html?di=https://phet-dev.colorado.edu/html/gas-properties/1.1.0-dev.14/phet-io/wrappers/codap/selectDataWrapper.html?sim=gas-properties

Diffusion Wrapper: https://codap.concord.org/releases/dsg/static/dg/en/cert/index.html?di=https://phet-dev.colorado.edu/html/gas-properties/1.1.0-dev.14/phet-io/wrappers/codap/diffusionWrapper.html?sim=gas-properties

Nancy-Salpepi commented 1 month ago

@matthew-blackman I started to make some graphs using the first wrapper. I noticed that "Connecting Lines" connects the data points in the order they were created rather than in the order from left to right along the x-axis.

Screenshot 2024-05-30 at 8 35 53 AM
matthew-blackman commented 1 month ago

This appears to be a native CODAP feature. I'm seeing the same thing on the graphs in the CODAP example docs.

pixelzoom commented 3 weeks ago

The wrappers look reasonable to me.

Is there a way to address what @Nancy-Salpepi reported in https://github.com/phetsims/gas-properties/issues/244#issuecomment-2139475430? Can the data set be sorted by x-coordinate before asking CODAP to render it?

arouinfar commented 3 weeks ago

@matthew-blackman the wrappers all look good to me. Thanks for putting them together.

pixelzoom commented 2 weeks ago

@Nancy-Salpepi Do you have any additional feedback for @matthew-blackman?

@matthew-blackman Does what @Nancy-Salpepi reported in https://github.com/phetsims/gas-properties/issues/244#issuecomment-2139475430 need to be addressed? And what's next for this issue?

Nancy-Salpepi commented 2 weeks ago

Sorry I haven't gotten back to this issue, but I think it will be heading to QA for testing at some point. I can always add suggestions then (nothing that would affect the GP model). Is that OK @matthew-blackman @pixelzoom?

matthew-blackman commented 2 weeks ago

@matthew-blackman Does what @Nancy-Salpepi reported in #244 (comment) need to be addressed? And what's next for this issue?

I don't believe anything needs to be done about the connecting lines representation. The data fluency learning goals deal only with best-fit lines/curves, which is a separate tool in CODAP. The design team has no stake in 'connect-the-dots' type of lines since they are not considered a valuable representation for the science or statistics learning goals being targeted.

It's also a native CODAP feature, so I don't think we could do anything even if we wanted to. If we really wanted to improve how the connecting lines look we could consider workarounds with caseIndex, but I think they would likely introduce other issues and unnecessary cost.

matthew-blackman commented 2 weeks ago

The wrapper prototypes are proof-of-concept that PhET-IO support is looking great for this sim. Nice work all! It was quick to set up and there are a lot of options for additional lessons. If/when they are published as part of the data fluency work, we should do another round to review/polish up the wrappers before publishing. This issue can be closed.