-
Notifications
You must be signed in to change notification settings - Fork 13
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
Designer review comments/todos for PhET-iO featured #219
Comments
Assigning to @kathy-phet to compare her notes before we assign to @zepumph. |
I will take a first pass, and this doesn't need to wait for a @kathy-phet review. |
Just for clarity, I did this on all 4 screens. |
I didn't feel like the dataPointProperty was the place to do this, so I added it to the documentation of DataPointIO. You can access that easily by navigating to How does that look to you? |
Over in #216 we renamed |
Agreed! I also removed the redundancy such that it looks like: |
I believe you are talking about when |
Two thoughts here. One, as an FYI for communication, this means that the child components are being instrumented, but the parent panel is not, and is instead just a place holder for structure. Second is that I did the same for the |
These objectTypes work much like Solutes in ph-scale, where they are basically just constants that have data about how an instance of that type would behave. So if you know that the model's selectedProjectileObjectTypeProperty is {
"name": "Cannonball",
"mass": 17.6,
"diameter": 0.18,
"dragCoefficient": 0.47,
"benchmark": "cannonball",
"rotates": false,
"massRange": {
"min": 1,
"max": 31
},
"massRound": 0.01,
"diameterRange": {
"min": 0.1,
"max": 1
},
"diameterRound": 0.01,
"dragCoefficientRange": {
"min": 0.04,
"max": 1
}
} UPDATE: the Does that make sense? |
I have gotten through each checkbox in the first comment. Many have separate issues that are still open, but some were just discussed/implemented here. All the checkboxes that don't have a check have comments above that I thought should be discussed further before checking them off. Over to you @arouinfar. |
@zepumph things are generally looking good. I've reviewed the checked items which weren't moved to their own issues. I'll review the unchecked items and still-open spinoff issues next time @kathy-phet and I work on this together. |
Note that phetsims/scenery-phet#540 is for any feedback you have about Keypad. The structure may change a bit because of some general keypad work I'm doing in phetsims/scenery-phet#283 |
@zepumph I've opened #244 to log issues from our latest review. There's only one unchecked item left in this issue, which should be a quick fix. Once addressed, we can probably close this issue since any remaining work is being tracked elsewhere.
Looks good! One small change -- can you update the units of airDensity to kg/m^3? It's currently using "cu m" for cubic meters which is a bit non-standard in this context. |
Done above
That was already in the code:
And I added the one for projectileMotion.introScreen.model.tracer.positionProperty, but I actually don't think that units work for Vector2. I will look into that over in phetsims/dot#107, as it seems like Vector2s will want units in the future.
I added phetioDocumentation to see DataPointIO for units. Does that seem good to you? Other than the feature add in phetsims/dot#107, anything else here? |
Just kidding. Property already supports units, and I see them now implemented: @arouinfar please close if there is nothing else here. |
Looks like the last thing here was to have units on the measuringTape PhET-iO elements. I just re-confirmed in studio. Note that
I think this is ready to close now. Please reopen if there is anything else. |
For #205 @kathy-phet and I looked over the Intro screen in detail (and the Vectors & Drag screens to a lesser extent). We have several comments, questions, todos for @zepumph prior to providing the overrides. There are also a few general questions related to common code, so I'll open an issue for those items in the
phet-io
repo.For brevity, I've mentioned/listed tandems for the just introScreen, but these generally would apply to all screens.
Using TimeControlNode (Use TimeControlNode for Play/Pause/Step buttons #216) would clean up the tree a lot. Currently, these controls are pretty scattered. (UPDATE: MK did this over in Use TimeControlNode for Play/Pause/Step buttons #216)
Why are normalMotionRadioButton and slowMotionRadioButton not part of a radioButtonGroup? When moving to TimeControlNode, would these end up in a common radioButtonGroup?
UPDATE from MK: yes see Use TimeControlNode for Play/Pause/Step buttons #216
projectileMotion.introScreen.model.altitudeProperty
andprojectileMotion.vectorsScreen.model.altitudeProperty
should be deleted. There aren't any altitude controls on these screens.There are several elements that have a slider control in Studio, but the slider doesn't snap appropriately and is generally hard to use. We think it would be preferable for instructional designers to be setting these values in the sim itself, and propose removing the slider control from Studio.
@kathy-phet prefers
degrees
to°
and thinks it may be easier to read in the data stream. Is it possible/easy to usedegrees
in the data stream, but keep°
in the visuals of the sim? (Applies to model.cannonAngleProperty on all screens.)The documentation for
projectileMotion.introScreen.model.fireEnabledProperty
could be cleaned up a bit. Should we mention that the max number of projectiles in the air is 3?The
projectileMotion.introScreen.model.speedProperty
controls the speed of animation, but the naming could be a bit clearer/more parallel to the related isPlayingProperty. Let's changespeedProperty
toplayingSpeedProperty
(covered by Rename Tracer to DataProbe #222) The probe that reads data from the points along the trajectory is simply called the
tracer
, but a more informative name would be something likedataProbe
which is a name we've decided to use in Natural Selection. Would it take a lot of restructuring to call this adataProbe
?(see Explain and improve model.trajectoryGroup in studio #223) The
projectileMotion.introScreen.model.trajectoryGroup
is a bit hard to understand. Could you walk us through it?Shouldn't the
projectileMotion.introScreen.view.initialSpeedPanel
should contain theprojectileMotion.introScreen.view.initialSpeedNumberControl
?When
projectileMotion.introScreen.view.initialSpeedNumberControl.visibleProperty
is false, it is still possible to return tools to the invisible toolbox. This seems like a bug.Rename
projectileMotion.introScreen.view.projectilePanel
toprojectileMotion.introScreen.view.projectileControlPanel
projectileMotion.introScreen.view.projectilePanel
is missing top-level opacityProperty, pickableProperty, and visibleProperty.(see Factor out airResistanceCheckbox and dragCoefficient readout to separate Node #225) Group
airResistanceCheckbox
,airResistanceText
, anddragCoefficientReadout
intoairResistanceControl
or simplyairResistance
. (@kathy-phet do you have a preference for the name?)Rename
projectileMotion.introScreen.view.vectorsPanel
toprojectileMotion.introScreen.view.vectorsControlPanel
(see How to instrument vectorVisibilityProperties #224) It's not really clear why
projectileMotion.introScreen.view.vectorVisibilityProperties
is in the view. This seems analogous togravityAndOrbits.modelScreen.model.showGravityForceProperty
(both toggle the visibility of a vector in the play area), which is in the model.(see also How to instrument vectorVisibilityProperties #224) The "VisibilityProperties" ending to
projectileMotion.introScreen.view.vectorVisibilityProperties
seems pretty close to visibleProperty, which is a bit of a loaded meaning. Perhaps we should name it something different? @kathy-phet can't remember what we decided for this.(fixed in is ZoomButton over-instrumented? scenery-phet#573) Parts of the magnifying glass icon on the zoom buttons are instrumented, but should be uninstrumented.
Could we get some more explanation of how
projectileMotion.global.model.projectileObjectTypes
andprojectileMotion.global.model.projectileObjectTypes.companionlessObjectType
work?UPDATE from @zepumph: over in Add a range for Score.targetXProperty #192 @arouinfar and I thought that we should feature
targeXProperty
.The text was updated successfully, but these errors were encountered: