Commit Graph

845 Commits

Author SHA1 Message Date
adroitwhiz
99ff2ba11e Fix touching color check for background color 2020-06-10 16:36:18 -04:00
DD Liu
77ccf97886 Update CONTRIBUTING.md 2020-06-09 17:02:31 -04:00
DD Liu
dcb282acca Merge pull request #634 from LLK/dependabot/npm_and_yarn/scratch-svg-renderer-0.2.0-prerelease.20200604203226
Bump scratch-svg-renderer from 0.2.0-prerelease.20200507183648 to 0.2.0-prerelease.20200604203226
2020-06-09 16:02:43 -04:00
adroitwhiz
67e372c088 Merge pull request #600 from adroitwhiz/i-despise-floats
Rewrite the pen line shader to be more numerically stable
2020-06-09 15:21:03 -04:00
dependabot-preview[bot]
b71c8b73d7 Bump scratch-svg-renderer
Bumps [scratch-svg-renderer](https://github.com/LLK/scratch-svg-renderer) from 0.2.0-prerelease.20200507183648 to 0.2.0-prerelease.20200604203226.
- [Release notes](https://github.com/LLK/scratch-svg-renderer/releases)
- [Commits](https://github.com/LLK/scratch-svg-renderer/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-05 09:18:59 +00:00
adroitwhiz
de4073ce7d Merge pull request #569 from adroitwhiz/extract-drawable-delete-framebuffer
Delete framebuffer in extractDrawable
2020-06-04 17:00:21 -04:00
adroitwhiz
04cc67139e Delete framebuffer in extractDrawable 2020-06-02 16:01:31 -04:00
adroitwhiz
204413ab19 Merge pull request #555 from adroitwhiz/update-silhouette-more
Handle matrix + silhouette updates better
2020-06-02 15:55:20 -04:00
adroitwhiz
7586e1c890 Add logging to updateCPURenderAttributes 2020-05-20 16:07:59 -04:00
adroitwhiz
e7b1504117 Move matrix + silhouette updates into method 2020-05-19 16:02:12 -04:00
adroitwhiz
b5e27462d9 Pass line length as a uniform
HATE. LET ME TELL YOU HOW MUCH I'VE COME TO HATE GLSL FLOATS SINCE I BEGAN TO LIVE. THERE ARE 387.44 MILLION MILES OF PRINTED CIRCUITS IN WAFER THIN LAYERS ACROSS THE MILLIONS OF MOBILE GPUS ACROSS THE WORLD. IF THE WORD HATE WAS ENGRAVED ON EACH NANOANGSTROM OF THOSE HUNDREDS OF MILLIONS OF MILES IT WOULD NOT EQUAL ONE ONE-BILLIONTH OF THE HATE I FEEL FOR GLSL FLOATS AT THIS MICRO-INSTANT. HATE. HATE.
2020-05-14 09:39:43 -04:00
adroitwhiz
d73aeb1ac1 Merge pull request #598 from adroitwhiz/cpu-gpu-integration-tests
Run integration tests on both the CPU and GPU (again)
2020-05-12 16:24:10 -04:00
Christopher Willis-Ford
298200f2ee Make touching-color test more robust against GPU imprecision
Previously, the `color-touching-tests.sb2` test "touches a color that
doesn't actually exist right now" would use a sprite with ghost 50,
blended against another sprite, to create the color that "doesn't
actually exist" when the query sprite is skipped. Unfortunately the
blend result was near a bit-boundary and, depending on the specific
hardware used, that test could fail on the GPU. When the renderer uses
the CPU path this test works fine, though, so the existing problem went
unnoticed.

To fix the problem I changed the project to use ghost 30 instead, which
results in a color that is less near a bit boundary and is therefore
less likely to fail on specific hardware.

As an example of what was happening: the `touching color` block was
checking for `RGB(127,101,216)` with a mask of `RGB(0xF8,0xF8,0xF0)`. On
the CPU it would find `RGB(120,99,215)`, which is in range, but on some
GPUs the closest color it could find was `RGB(119,98,215)` which
mismatches on all four of the least significant bits -- one of which is
enabled in the mask.
2020-05-12 15:52:51 -04:00
adroitwhiz
b9411bf51e Skip "doesn't touch say bubble" test
There are some compatibility concerns to be worked out before the
corresponding bug can be fixed.
2020-05-12 15:52:51 -04:00
adroitwhiz
3513cd77ae Adapt f9428ee to Playwright 2020-05-12 15:52:51 -04:00
adroitwhiz
d8c9f339f7 Merge pull request #576 from adroitwhiz/fix-ghost-touching-color
Don't apply ghost effect to "color is touching color" drawable
2020-05-11 16:29:17 -04:00
adroitwhiz
aaffc77b23 Clarify isTouchingColor ghost comment 2020-05-11 16:07:05 -04:00
adroitwhiz
d867e62c74 Don't apply ghost to "touching color" drawables 2020-05-11 16:07:05 -04:00
adroitwhiz
a7bec3a958 Merge pull request #604 from adroitwhiz/playwright
Playwright: the re-wright
2020-05-11 15:50:57 -04:00
adroitwhiz
0ce50b6cd6 log error.message 2020-05-11 15:38:11 -04:00
adroitwhiz
562e535a13 recache node_modules 2020-05-11 15:02:01 -04:00
adroitwhiz
42d3f6c012 uncache node_modules 2020-05-11 14:58:47 -04:00
adroitwhiz
9c01f364d4 Catch promise errors and exit with code 1 2020-05-11 14:43:54 -04:00
adroitwhiz
5d085f678f Add cached Playwright directory to Travis cache 2020-05-11 14:43:54 -04:00
adroitwhiz
7df536f492 Bump Node to 10 2020-05-11 14:43:54 -04:00
adroitwhiz
a41bcafac7 Use Playwright instead of Puppeteer 2020-05-11 14:43:54 -04:00
adroitwhiz
5566a600ba reference "wait for SVG skins to load" issue 2020-05-11 14:43:54 -04:00
adroitwhiz
34072d2f53 Fix file input in tests 2020-05-11 14:43:54 -04:00
adroitwhiz
fdd02a6bd6 download Chromium only when tests are run 2020-05-11 14:43:54 -04:00
adroitwhiz
ec141ff76d Replace Chromeless with Puppeteer 2020-05-11 14:43:54 -04:00
adroitwhiz
3f68e18b2e Merge pull request #603 from LLK/revert-597-playwright
Revert "Switch from Chromeless to Playwright for tests"
2020-05-08 16:40:47 -04:00
adroitwhiz
813792359f Revert "Switch from Chromeless to Playwright for tests" 2020-05-08 16:32:38 -04:00
adroitwhiz
7349c1967c Merge pull request #597 from adroitwhiz/playwright
Switch from Chromeless to Playwright for tests
2020-05-08 15:47:48 -04:00
adroitwhiz
ffca1edcce Rewrite the pen line shader to be more numerically stable 2020-05-08 15:19:33 -04:00
adroitwhiz
b873b6fec4 Bump Node to 10 2020-05-07 16:37:52 -04:00
adroitwhiz
51c867fa6d Use Playwright instead of Puppeteer 2020-05-07 16:21:37 -04:00
adroitwhiz
ddccd0fa79 reference "wait for SVG skins to load" issue 2020-05-07 16:08:28 -04:00
DD Liu
b35adaef88 Merge pull request #596 from LLK/greenkeeper/scratch-svg-renderer-0.2.0-prerelease.20200507183648
Update scratch-svg-renderer to the latest version 🚀
2020-05-07 15:45:34 -04:00
adroitwhiz
3612461f9c Merge pull request #478 from adroitwhiz/fix-fence-bounds
Always use getAABB for fence bounds
2020-05-07 15:43:28 -04:00
adroitwhiz
7c710c0680 Merge pull request #474 from adroitwhiz/deobfuscate-convex-hull
Ergonomics: Deobfuscate _getConvexHullPointsForDrawable
2020-05-07 15:28:18 -04:00
adroitwhiz
fe91133565 Re-add link to 2.0's convex hull algorithm 2020-05-07 15:21:16 -04:00
greenkeeper[bot]
409df2a74d fix(package): update scratch-svg-renderer to version 0.2.0-prerelease.20200507183648 2020-05-07 19:13:23 +00:00
Chris Willis-Ford
4b03eb29fd Merge pull request #590 from adroitwhiz/i-hate-safari
Tweak pen shader to avoid float precision issues
2020-05-06 13:38:32 -07:00
adroitwhiz
51bceb68e5 Address review feedback 2020-05-06 16:21:18 -04:00
adroitwhiz
70c64f035c Deobfuscate _getConvexHullPointsForDrawable 2020-05-05 16:25:38 -04:00
adroitwhiz
4b7558f2d2 Fix another annoying precision bug.
Who knew fragment shaders were so difficult?
2020-05-01 14:04:03 -04:00
DD Liu
84f878e553 Merge pull request #591 from LLK/master
Merge master into develop
2020-04-27 13:47:31 -04:00
DD Liu
b6424a2f80 Merge pull request #588 from adroitwhiz/fix-resize
Call draw() after resizing canvas
2020-04-27 13:38:25 -04:00
adroitwhiz
0b47d87f2f Tweak pen shader to avoid float precision issues 2020-04-25 19:43:20 -04:00
adroitwhiz
41e21ed129 Only resize canvas when necessary 2020-04-24 18:51:48 -04:00