Description
In Scratch 2.0, text bubbles don't count for the purposes of "touching color" blocks, e.g. if a sprite is touching a text bubble, that doesn't count as touching white or grey or any other color on that text bubble; they are ignored completely.
In Scratch 3.0, however, "touching color" blocks can return true if the sprite is touching a text bubble's color.
This raises the question: should this be noted as a compatibility change between 2.0 and 3.0 and the current behavior kept, or should the behavior be changed to match 2.0?
A unit test was supposed to verify that this is the case in 3.0 as well, but...
Due to a series of weird coincidences and oversights, this unit test has erroneously passed when it should not have, and text bubbles have been part of "touching color" tests for, as far as I can tell, the entire 3.0 lifespan.
- The unit test runs on the very first frame. Unfortunately, the SVG-based text bubbles implemented when the test was first created had a delay of about 1-2 frames before showing up.
- The canvas-based text bubbles introduced in Implement canvas-based TextBubbleSkin #451 are created synchronously, and so they should have revealed the error, however...
- Due to the same issue as in Fix SVGSkin silhouettes #544, text bubble silhouettes are not created until the bubbles have been rendered. This wouldn't be a problem, since this bug only manifests on the CPU path, but...
- Since the CPU/GPU parity testing in Adjust CPU
isTouchingColor
to match GPU results (again) #419 was reverted before Fix SVGSkin silhouettes #544 was merged, the test never runs on the GPU path.