-
-
Notifications
You must be signed in to change notification settings - Fork 957
Open
Labels
⭐ goal: additionAddition of new featureAddition of new feature💻 aspect: codeConcerns the software code in the repositoryConcerns the software code in the repository🚦status: awaiting triageHas not been triaged & therefore, not ready for workHas not been triaged & therefore, not ready for work
Description
Contributor Guidelines
- I have read the guidelines and discussion
Is your feature request related to a problem? Please describe.
src/plays/index.js(auto-generated — imports all plays statically)src/common/playlists/PlayList.jsx(loads plays viaimport * as all_plays from 'plays')src/common/routing/RouteDefs.jsx
Description:
All 110+ plays are imported statically into a single bundle via import * as all_plays from 'plays' in PlayList.jsx. This means every play (including heavy dependencies like TensorFlow.js, Leaflet, CodeMirror, and P5.js) is loaded regardless of which play the user visits. The auto-generated src/plays/index.js re-exports every play component eagerly.
What needs to be done:
Describe the solution you'd like.
- Modify the play registration system to use
React.lazy()and dynamicimport()for each play - Wrap play rendering in
<Suspense>with appropriate loading fallbacks - Update or replace the auto-generated
src/plays/index.jsto export lazy-loaded factories - Verify that Webpack (via react-scripts) produces proper code-split chunks
- Add error boundaries per lazy-loaded play to handle chunk load failures
Describe alternatives you've considered.
No alternative solution i would like to prefer
Screenshot / Screenshare
No response
Additional context
Add apertre 3.0, hard label
Record
- I have checked the existing issues
- I have read the Contributing Guidelines
- I want to work on this issue
- I am a Hacktoberfest contributor
Code of Conduct
- I agree to follow this project's Code of Conduct
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
⭐ goal: additionAddition of new featureAddition of new feature💻 aspect: codeConcerns the software code in the repositoryConcerns the software code in the repository🚦status: awaiting triageHas not been triaged & therefore, not ready for workHas not been triaged & therefore, not ready for work