Closed phet-steele closed 5 years ago
Great catch @phet-steele. Can confirm issue on my device. Have not seen on any other browsers so far, including Internet Explorer. Will update issue if found elsewhere.
Update: It seems that a and b do not need to be zero. It just needs to be positioned in a way that "No Real Roots" appears.
Graphed curves (and their equations) are clipped to the graph using scenery's clipArea
feature. Other elements on the graph (manipulators, vertex point, roots, "NO REAL ROOTS") are not clipped to the graph. And the point tools are Reset All button are certainly not clipped to anything.
I've looked through the sim code, and I don't see anything that I'm doing incorrectly wrt usage of clipArea
. So it sounds like clipArea
is misbehaving on Edge. @jonathanolson could you please investigate? clipArea
is applied to the graph in GraphNode
, line 69. The "NO REAL ROOTS" label is NoRealRootsNode
, and it's added to StandardFormGraphNode
(subclass of GraphNode for the "Standard Form" screen) on line 70.
I just noticed this significant bit of info at the bottom of the report:
I see no errors while running the debug version.
So here we apparently have another case where the debug version behaves differently than the non-debug version.
So here we apparently have another case where the debug version behaves differently than the non-debug version.
No no no, what I mean is that I see no errors [in the console]. The bug still happens in debug.
I've found that "a" and "b" need to equal 0, and "c" must be non-zero for this to work.
Update: It seems that a and b do not need to be zero. It just needs to be positioned in a way that "No Real Roots" appears.
I could have sworn I saw a situation where "No Real Roots" was displayed and there was no issue, hence why I wrote that sentence. @pixelzoom @jonathanolson I think what I was seeing is if you enable the Vertex checkbox, the issue is remedied (except if "a" is zero and the curve has no vertex).
Enabling the Vertex checkbox causes the vertex point to become visible on the graph, which probably triggers a redraw of the graph. None of the things that are disappearing (especially the Reset All button) are related to each other at all.
This issue must be resolved before 1.0 publication.
I'm aware of this, and will be investigating (potentially with a VM or a collaborator).
Reproduced, and I'm also able to reproduce in Chrome with ?rootRenderer=canvas
. Definitely seems to be a Scenery bug.
Doing Scenery-internals work for this, I'm marking the issue as blocking publication until there has been a review done.
Ok, it looks like my "safe patch" is the correct way to handle it long-term also.
Scenery uses a stack of Canvases for things like opacity (so that when it starts rendering stuff under a non-integer opacity Node, it pushes a new Canvas on the stack and starts drawing to it - when done it draws that Canvas into the next-most Canvas and pops it from the stack).
When pushing and popping Canvases to the stack, the "clipping area needs to be set for the current Canvas" flag was not being properly set in some cases. So to produce this bug, it needed a specific combination of opacity underneath a Node with a clipArea, such that the pop() would not make clipping dirty, so that things rendered after improperly had the clipping applied.
@pixelzoom can you verify that this issue is fixed?
@ariel-phet it would be nice to have someone to review the changes.
I looked through the commits, but reviewing the changes is beyond my understanding of scenery.
I don't have an Edge test platform, so (after doing pull-all.sh) I've built 1.0.0-dev.42. @phet-steele could you please verify?
@pixelzoom it looks fixed to me.
Great, thanks. Closing.
I've found that "a" and "b" need to equal 0, and "c" must be non-zero for this to work. Other scenarios where "No Real Roots" occurs but these equation values are not met will not exhibit the bug (EDIT: https://github.com/phetsims/graphing-quadratics/issues/74#issuecomment-431425682). You will lose all tools/controls near the bottom of the screen, excluding the navbar. This includes: point tools, hide curve button, and Reset All button.
Now, these tools/controls can still be used! Move your mouse over their locations and you will see your cursor update to "the hand". I believe all we are seeing is an overly aggressive clip area. Evidence? Well, look at what happens if you drag the point tools onto the graph before performing the buggy procedure. Once the steps are followed, you can see that the tool gets clipped at the edges of the graph:
I see no errors while running the debug version. Seen on Win 10 Edge 42.17134.1.0. For phetsims/QA/issues/211.
Troubleshooting Information
URL: https://phet-dev.colorado.edu/html/graphing-quadratics/1.0.0-dev.38/phet/graphing-quadratics_all_phet.html Version: 1.0.0-dev.38 2018-10-18 21:15:53 UTC Features missing: touch User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134 Language: en-US Window: 1920x963 Pixel Ratio: 1/1 WebGL: WebGL 1.0 GLSL: WebGL GLSL ES 1.0 Vendor: Microsoft (Microsoft Edge) Vertex: attribs: 16 varying: 30 uniform: 4096 Texture: size: 16384 imageUnits: 16 (vertex: 16, combined: 32) Max viewport: 32767x32767 OES_texture_float: true Dependencies JSON: {"assert":{"sha":"928741cf","branch":"master"},"axon":{"sha":"644353d6","branch":"master"},"brand":{"sha":"1fd6682e","branch":"master"},"chipper":{"sha":"fc5919bb","branch":"master"},"dot":{"sha":"dcccfddd","branch":"master"},"graphing-lines":{"sha":"08b2b43e","branch":"master"},"graphing-quadratics":{"sha":"9b807638","branch":"master"},"joist":{"sha":"b12072c7","branch":"master"},"kite":{"sha":"380cef53","branch":"master"},"phet-core":{"sha":"269c4c8a","branch":"master"},"phet-io":{"sha":"ce77e241","branch":"master"},"phet-io-wrapper-classroom-activity":{"sha":"534dc595","branch":"master"},"phet-io-wrapper-hookes-law-energy":{"sha":"3372700d","branch":"master"},"phet-io-wrapper-lab-book":{"sha":"09507f4d","branch":"master"},"phet-io-wrappers":{"sha":"0a4a3153","branch":"master"},"phetcommon":{"sha":"a2a1aaba","branch":"master"},"query-string-machine":{"sha":"9ae63aab","branch":"master"},"scenery":{"sha":"d7e6c53e","branch":"master"},"scenery-phet":{"sha":"344597e6","branch":"master"},"sherpa":{"sha":"0989d371","branch":"master"},"sun":{"sha":"289fce23","branch":"master"},"tambo":{"sha":"fe63321c","branch":"master"},"tandem":{"sha":"2c4b970a","branch":"master"}}