Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 12 additions & 3 deletions js/activity.js
Original file line number Diff line number Diff line change
Expand Up @@ -7513,7 +7513,6 @@ class Activity {
this.toolbar.renderJavaScriptIcon(toggleJSWindow);
this.toolbar.renderLanguageSelectIcon(this.languageBox);
this.toolbar.renderWrapIcon();

initPalettes(this.palettes);

if (this.planet !== undefined) {
Expand All @@ -7524,7 +7523,7 @@ class Activity {

window.saveLocally = this.saveLocally;

initBasicProtoBlocks(this);
initCoreProtoBlocks(this);

// Load any macros saved in local storage.
// this.storage.macros = null;
Expand All @@ -7541,6 +7540,15 @@ class Activity {
processPluginData(this, this.pluginData, "localStorage:plugins")
);
}
if ("requestIdleCallback" in window) {
requestIdleCallback(() => {
initAdvancedProtoBlocks(this);
});
} else {
setTimeout(() => {
initAdvancedProtoBlocks(this);
}, 100);
}

// Load custom mode saved in local storage.
const custommodeData = this.storage.custommode;
Expand Down Expand Up @@ -8191,7 +8199,8 @@ class Activity {

// Reinitialize blocks
if (this.blocks) {
initBasicProtoBlocks(this);
initCoreProtoBlocks(this);
initAdvancedProtoBlocks(this);
}

// Restore palette positions
Expand Down
37 changes: 30 additions & 7 deletions js/basicblocks.js
Original file line number Diff line number Diff line change
Expand Up @@ -81,8 +81,28 @@ const BACKWARDCOMPATIBILIYDICT = {
* @param {Object} blocks
* @returns {void}
*/
const initBasicProtoBlocks = activity => {
const initCoreProtoBlocks = activity => {
activity.blocks.palettes = activity.palettes;
setupFlowBlocks(activity);
setupNumberBlocks(activity);
setupActionBlocks(activity);
setupBoxesBlocks(activity);
setupBooleanBlocks(activity);

// Push protoblocks onto their palettes.
for (const protoblock in activity.blocks.protoBlockDict) {
if (activity.blocks.protoBlockDict[protoblock].palette != null) {
activity.blocks.protoBlockDict[protoblock].palette.add(
activity.blocks.protoBlockDict[protoblock]
);
}
}
};

/**
* Initialize advanced / heavy blocks (deferred).
*/
const initAdvancedProtoBlocks = activity => {
setupRhythmBlockPaletteBlocks(activity);
setupRhythmBlocks(activity);
setupMeterBlocks(activity);
Expand All @@ -93,11 +113,6 @@ const initBasicProtoBlocks = activity => {
setupVolumeBlocks(activity);
setupDrumBlocks(activity);
setupWidgetBlocks(activity);
setupFlowBlocks(activity);
setupNumberBlocks(activity);
setupActionBlocks(activity);
setupBoxesBlocks(activity);
setupBooleanBlocks(activity);
setupHeapBlocks(activity);
setupDictBlocks(activity);
setupExtrasBlocks(activity);
Expand All @@ -108,7 +123,7 @@ const initBasicProtoBlocks = activity => {
setupSensorsBlocks(activity);
setupEnsembleBlocks(activity);

// Push protoblocks onto their palettes.
// Push newly added protoblocks onto palettes
for (const protoblock in activity.blocks.protoBlockDict) {
if (activity.blocks.protoBlockDict[protoblock].palette != null) {
activity.blocks.protoBlockDict[protoblock].palette.add(
Expand All @@ -117,9 +132,17 @@ const initBasicProtoBlocks = activity => {
}
}
};

const initBasicProtoBlocks = activity => {
initCoreProtoBlocks(activity);
initAdvancedProtoBlocks(activity);
};

if (typeof module !== "undefined" && module.exports) {
module.exports = {
initBasicProtoBlocks,
initCoreProtoBlocks,
initAdvancedProtoBlocks,
BACKWARDCOMPATIBILIYDICT
};
}
1 change: 0 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,6 @@
"http-server": "^14.1.1",
"i18next": "^25.3.2",
"i18next-http-backend": "^3.0.2",
"node": "^24.2.0",
"postcss": "^8.5.6",
"sass": "^1.97.2",
"tone": "^15.1.22"
Expand Down
Loading