- Mar 18, 2019
-
-
Evelyn Eastmond authored
-
Evelyn Eastmond authored
-
Evelyn Eastmond authored
-
Evelyn Eastmond authored
-
Evelyn Eastmond authored
-
- Mar 14, 2019
-
-
Christopher Willis-Ford authored
-
- Mar 12, 2019
-
-
Christopher Willis-Ford authored
-
Christopher Willis-Ford authored
-
Christopher Willis-Ford authored
-
Paul Kaplan authored
-
Evelyn Eastmond authored
-
Evelyn Eastmond authored
-
unknown authored
-
- Mar 11, 2019
-
-
Paul Kaplan authored
-
Paul Kaplan authored
Too much traffic, not enough value. Leaving stuff having to do with tips library/tutorial card navigation as well as hardware extension connectivity, as those help us find issues with Scratch.
-
Paul Kaplan authored
It is not reliably selecting the input and is making it hard to type into.
-
Paul Kaplan authored
-
Paul Kaplan authored
-
Paul Kaplan authored
A few modifications were made while making this test: - Change the "defaultMin/Max" to just be called "min/max", and pass the state through to make the inputs a controlled component. It is best to make form elements controlled since it makes it more clear how data flows. - Force the passed in data to always be of type `number`, and transform it in the constructor to always be of type `string`, and change the onOk to transform it back to a number. With inputs, it is best to be very explicit about data types, and make it clear where you are using strings and where you are using numbers. - Do not reset the state to `0` when the field is blank, that makes typing into it very hard (only applies after making it a controlled field) - Use consistent booleans. Since the VM uses `isDiscrete`, change it so we do not use any opposite flags (like `decimal`) for clarity. Writing tests for this really helped me understand the behavior. If you read through the test descriptions and see anything you did not intend, let me know.
-
Paul Kaplan authored
-
- Mar 08, 2019
-
-
apple502j authored
-
- Mar 07, 2019
-
-
Paul Kaplan authored
-
- Mar 06, 2019
-
-
Paul Kaplan authored
-
- Mar 05, 2019
-
-
Eric Rosenbaum authored
-
Eric Rosenbaum authored
-
Eric Rosenbaum authored
-
- Mar 04, 2019
-
-
Eric Rosenbaum authored
-
- Feb 28, 2019
-
-
chrisgarrity authored
Step Ids and step file names did not follow a consistent pattern. To make it easier to automate in the future, things were renamed in the following ways: StepId: camel case, prefix with the short name that we usually use to refer to the tutorial, e.g. name, music, chaseGame. Followed by a name for the step, e.g. nameAddSprite, nameAddBackdrop. When there are two of a step, add ‘2’ to the end e.g. nameAddSprite2 file-naming: all step files should be in the steps directory. The name is the ‘kebab’ case of the stepId, followed by the language-code, then the file extension. For example the english version of the file for `nameAddSprite` would be `name-add-sprite.en.gif`, `chaseGameAddSprite2` would be `chase-game-add-sprite2.en.gif`
-
chrisgarrity authored
* thumbnails folder: thumbnail images for tutorials (multistep decks and videos). Images should not need translations (avoid text that would need translation in the image) * steps folder: gif images associated with tutorial steps. Images can be translated. English (default) images have the extension `.en.gif`, other language images should replace the `.en` with the corresponding locale. * renamed some of the steps files to be more consistent and a bit less redundant * removed a couple of files that were no longer referenced * revised webpack config to allow localized step files to be loaded from `/static` on www
-
- Feb 27, 2019
-
-
apple502j authored
-
- Feb 25, 2019
- Feb 20, 2019
-
-
Eric Rosenbaum authored
-
picklesrus authored
-
- Feb 16, 2019
-
-
apple502j authored
-
- Feb 15, 2019
-
-
Paul Kaplan authored
-
Paul Kaplan authored
-
- Feb 14, 2019
-
-
Michael "Z" Goddard authored
Extracting the drawable art data is very expensive. We should delay doing that work as long as possible. As such it should wait until a few more branching return statements before we extract it.
-
Paul Kaplan authored
Because the `onFrame` callback could do async work, it was possible for onDone to try to submit the costumes before the onFrame had produced any. This was subject to browsers different timing treatments of setTimeout vs. promise resolution. This makes the gif-decoder use the same style of progress API as the file uploader
-
- Feb 13, 2019
-
-
Paul Kaplan authored
-