-
Notifications
You must be signed in to change notification settings - Fork 4
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
Instrument for PhET-iO #22
Comments
Initial instrumentation is done to make sure that the sim runs. I didn't do much to it. We need to make sure we handle common code components correctly. These are the components I just removed the uninstrumented marker from:
|
@kathy-phet said:
|
I can see that @zepumph already worked on this. There are 136 instances in instance proxies. I'll look through status, cleanup what's here and see what other work is necessary, if any. |
@kathy-phet and @emily-phet do you want to do a full QA test cycle on this? Do you want it to be published on the PhET-iO website? Do you need a full code review before it can be used? |
Sam, Priorities right now would be to bring the PhET-iO pieces up to current code approaches (except for not doing the design step), and then having Steele do some sanity testing on the phet-io pieces. We won't want to publish it for PhET-iO clients until Jesse has finished and the entire sim has been code reviewed and tested through normal rc channels. But when that does come to pass and we are publishing it to the main website, I would like to publish a phet-io version of the sim (even if we haven't done the design review approach that is our new optimal approach). Adding a sim for clients will be useful. |
Understood, thanks! It looks like one of the main steps in moving forward will be to extend PhetioObject instead of tandem.addInstance directly. |
@jbphet Since you're aware of both the PhET-iO side of things, sonification, and how Mike/Ashton have been doing their design work, can you comment if any of these derived quantities might need something more direct created? |
@mikewinters10 do you need to distinguish between (a) when the user drags one mass into the other mass vs (b) when the masses collide and push back due to increased radius vs (c) when the user drags one mass to the edge of the screen? |
@jessegreenberg and I determined that there is already an instrumented property |
@samreid When user drags puller/mass and bumps into edge of screen the user will feel like they've bumped the "puller" into edge of screen, not the mass. This should definitely be distinct in phet-io from masses bumping into each other. I don't think it's necessary to distinguish between masses bumping into each other by dragging versus change in size. Conceptually the outcome is the same, so I think we'd always want to cue that this occurred the same way. |
@samreid Wait, I'm changing my mind on one thing. I think a, b, and c, are all unique cases. C is unique as described in my last comment. A and B are distinct because in B you can actually push back the opposite mass but you cannot do that in A, so there is something conceptually distinct about these two scenarios that we might need to cue in different ways with sound. |
@jessegreenberg and I moved the if (mass2.enabledRange or mass2.position changed){
if (mass2.value===mass2.enabledRange.max) // wall hit detected
if (mass2.value ===mass2.enabledRange.min) // ball hit detected
}
if (mass1 radius changed or mass2 radius changed){
if (mass1.value===mass1.enabledRange.min) // increased radius caused collision
if (mass1.value ===mass1.enabledRange.max) // increased radius caused collision
} |
@jessegreenberg and I determined the simulation is sufficiently PhET-iO instrumented for a first dev test. @jessegreenberg said there are a few issues in inverse-square-law-common to tackle before first dev test, but that he can start working on those and create a dev version when ready. A reminder that the dev test should include phet-io testing. Over to you @jessegreenberg |
So fast! Thanks @samreid |
This sim is ready for a dev test. I ran into an issue with instance-proxies with the phet-io build, documented in the above issue. Once that is resolved we can start testing the phet-io version. |
@emily-phet said, "Since you're aware of both the PhET-iO side of things, sonification, and how Mike/Ashton have been doing their design work, can you comment if any of these derived quantities might need something more direct created?" The main I would be concerned about would be the velocity of the ball, since deriving the value will require time-based repeated actions in the wrapper. However, I'm also not convinced that we would want sonic information for both the velocity and the position, and velocity isn't very meaningful in this sim. I'd suggest we start with what @samreid and @jessegreenberg have added and see how it works. The other issue is hitting boundaries. @samreid requested help from @jessegreenberg on this one, but I didn't see any comments that directly address it. |
Good point about the velocity @jbphet, I'd also be concerned about how that would be represented in a wrapper. @jessegreenberg and I commented on the boundaries in #22 (comment) |
As for velocity, @samreid & @jbphet -- I'm planning on using velocity to
convey the sound of the balls dragging on the ground. The sound would
change in volume depending on the velocity of the ball, like the sound of
everyday kinetic friction.
In BASE, we derived velocity from position, and we could do it again here.
As a user, my preference would be that it would just be available without
derivation. It seems like the trade off would be computational load /
complexity on the PhET-iO backend vs. every user that needs the quantity
having to derive it themselves.
And @samreid, I agree with having (a), (b), (c) as distinct cases.
Best,
Mike
…On Tue, Jan 9, 2018 at 12:43 PM, Sam Reid ***@***.***> wrote:
Good point about the velocity @jbphet <https://github.com/jbphet>, I'd
also be concerned about how that would be represented in a wrapper.
@jessegreenberg <https://github.com/jessegreenberg> and I commented on
the boundaries in #22 (comment)
<#22 (comment)>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#22 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AOI6zhM9FFwbswxu21HpJsQlVR8Rr6nqks5tI6UrgaJpZM4QzGKW>
.
|
While reworking VerticalCheckBoxGroup for Capacitor Lab Basics phetsims/capacitor-lab-basics#220 I noticed the checkboxes are not instrumented. I don't think it's essential for the first dev version, but I'll let you know when I've added instrumentation for the checkboxes. |
Thanks @samreid. Initial dev test created here: phetsims/qa#83 |
@jessegreenberg can you comment on the status of dev testing? It looks like a first round was complete...what are the next steps? |
It looks like all issues that came out of the dev test have been fixed and are pending testing. @mbarlow12 is going to prepare a new dev test for this sim and the QA team will verify that issues have been fixed. Then this repo and inverse-square-law-common will get a code review. Once review issues have been resolved this sim will be ready for release candidate testing prior to deployment. Since @mbarlow12 is going to prepare the next test, assigning to him. |
New dev test issue created: phetsims/qa#88. |
@samreid @phet-steele is there a reason I shouldn't close this issue? If not, I think we can create a new dev release. Thanks. |
This was mentioned as a possible sim for a11y work and sonification. So I'll create an issue to track any instrumentation. It already has a pretty good harness (root tandem passed to model/view).
The text was updated successfully, but these errors were encountered: