Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Game Lab: S3-backed animation library #10685
Instead of our hard-coded library of eight animations, dedicate an S3 bucket to the animation library and use a generated library manifest to search and import those animations.
See the Animation Library Tech Spec (requires login).
This PR is a first iteration. I'd like to get the basic details in here, and return to address a number of TODOs and usability items in the future. Eventually it should be easy for any engineer or PM to add a set of animations to the library.
How to add an animation to the library
Here's normal script output right now. It's slowish, even with only 16 animations in the library - I have some thoughts on speeding it up, commented inline.
What's in the manifest
In addition to concatenating all of the animation metadata JSON files, the manifest:
There's no reason we can't extend or change the manifest format, either - since it's checked in with source code, we just have to change the manifest (and the generator script) at the same time we change the code that reads it.
The new animation library API
Library animations are always versioned so that we have freedom to edit and remove library animations in the future. We make a couple of important guarantees:
Provide limited access to contents of the cdo-animation-library bucket, so that we require knowledge of the particular version ID to retrieve the asset.
Instead of loading the static animationLibrary.js file, the animation library dialog now loads animationLibrary.json, uses its alias mapping to be searchable, loads animationProps from its metadata map, and consequently fetches library images from the new animation library endpoint (and by proxy S3) instead of from dashboard/public/blockly.
i build this project error：