feat: support fetching dynamic assets and merging them to asset libra…#412
Merged
feat: support fetching dynamic assets and merging them to asset libra…#412
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR implements support for dynamic assets (sprites, backdrops, costumes, and sounds) that can be passed to the editor at runtime and merged with the bundled static assets. This enables in-app delivery of assets as part of the wider effort described in UEPR-467.
Key Changes:
- Added a new Redux reducer to manage dynamic assets state
- Implemented asset merging logic that combines static and dynamic assets, with dynamic assets taking precedence when names match
- Integrated dynamic assets into the sprite, costume, backdrop, and sound library containers
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
packages/scratch-gui/src/reducers/gui.ts |
Integrated the new dynamic assets reducer into the root GUI reducer and initial state |
packages/scratch-gui/src/reducers/dynamic-assets.js |
Created new reducer to handle dynamic assets state with action creator for setting assets |
packages/scratch-gui/src/lib/merge-dynamic-assets.js |
Implemented utility function to merge static and dynamic asset arrays using name-based deduplication |
packages/scratch-gui/src/lib/assets-prop-types.js |
Defined PropTypes shapes for costume, sound, and sprite assets for type validation |
packages/scratch-gui/src/containers/sprite-library.jsx |
Connected to Redux store and integrated dynamic sprite merging into the sprite library |
packages/scratch-gui/src/containers/sound-library.jsx |
Connected to Redux store and integrated dynamic sound merging into the sound library |
packages/scratch-gui/src/containers/gui.jsx |
Added props for dynamic assets and dispatches updates to the store on mount and prop changes |
packages/scratch-gui/src/containers/costume-library.jsx |
Connected to Redux store and integrated dynamic costume merging into the costume library |
packages/scratch-gui/src/containers/backdrop-library.jsx |
Connected to Redux store and integrated dynamic backdrop merging into the backdrop library |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Contributor
adzhindzhi
approved these changes
Jan 9, 2026
[UEPR-474] Membership assets frontend changes
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
…ries
Resolves
https://scratchfoundation.atlassian.net/browse/UEPR-467
Proposed Changes
Support using dynamic assets optionally passed down to the editor.
Reason for Changes
Part of the wider effort of supporting in-app delivery of assets.