sb-edit-custom 0.20.126 → 0.20.128

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.d.ts CHANGED
@@ -14,4 +14,4 @@ export type { CostumeModel } from "./models/costume";
14
14
  export type { SoundModel } from "./models/sound";
15
15
  export { generateIndexJS, generateConstantsFile, generateAssetRegistryJS } from "./models/game";
16
16
  export { generateSpriteDefJS, generateNewSpriteJS } from "./models/sprite";
17
- export { getInfrastructureFiles, HELPERS_JS, GAME_SPRITE_JS, GAME_STAGE_JS, WRAP_SPRITE_CLASS_JS, WRAP_STAGE_CLASS_JS, getUserApiJS, } from "./io/leopard/infrastructure";
17
+ export { getInfrastructureFiles, HELPERS_JS, GAME_SPRITE_JS, GAME_STAGE_JS, WRAP_SPRITE_CLASS_JS, WRAP_STAGE_CLASS_JS, REGISTRATION_RUNTIME_JS, getUserApiJS, } from "./io/leopard/infrastructure";
package/lib/index.js CHANGED
@@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.getUserApiJS = exports.WRAP_STAGE_CLASS_JS = exports.WRAP_SPRITE_CLASS_JS = exports.GAME_STAGE_JS = exports.GAME_SPRITE_JS = exports.HELPERS_JS = exports.getInfrastructureFiles = exports.generateNewSpriteJS = exports.generateSpriteDefJS = exports.generateAssetRegistryJS = exports.generateConstantsFile = exports.generateIndexJS = exports.OpCode = exports.Script = exports.List = exports.Variable = exports.BlockInput = exports.Sound = exports.Costume = exports.Stage = exports.Sprite = exports.Project = void 0;
29
+ exports.getUserApiJS = exports.REGISTRATION_RUNTIME_JS = exports.WRAP_STAGE_CLASS_JS = exports.WRAP_SPRITE_CLASS_JS = exports.GAME_STAGE_JS = exports.GAME_SPRITE_JS = exports.HELPERS_JS = exports.getInfrastructureFiles = exports.generateNewSpriteJS = exports.generateSpriteDefJS = exports.generateAssetRegistryJS = exports.generateConstantsFile = exports.generateIndexJS = exports.OpCode = exports.Script = exports.List = exports.Variable = exports.BlockInput = exports.Sound = exports.Costume = exports.Stage = exports.Sprite = exports.Project = void 0;
30
30
  var BlockInput = __importStar(require("./BlockInput"));
31
31
  exports.BlockInput = BlockInput;
32
32
  var Costume_1 = __importDefault(require("./Costume"));
@@ -61,5 +61,6 @@ Object.defineProperty(exports, "GAME_SPRITE_JS", { enumerable: true, get: functi
61
61
  Object.defineProperty(exports, "GAME_STAGE_JS", { enumerable: true, get: function () { return infrastructure_1.GAME_STAGE_JS; } });
62
62
  Object.defineProperty(exports, "WRAP_SPRITE_CLASS_JS", { enumerable: true, get: function () { return infrastructure_1.WRAP_SPRITE_CLASS_JS; } });
63
63
  Object.defineProperty(exports, "WRAP_STAGE_CLASS_JS", { enumerable: true, get: function () { return infrastructure_1.WRAP_STAGE_CLASS_JS; } });
64
+ Object.defineProperty(exports, "REGISTRATION_RUNTIME_JS", { enumerable: true, get: function () { return infrastructure_1.REGISTRATION_RUNTIME_JS; } });
64
65
  Object.defineProperty(exports, "getUserApiJS", { enumerable: true, get: function () { return infrastructure_1.getUserApiJS; } });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSx1REFBMkM7QUFVYSxnQ0FBVTtBQVRsRSxzREFBZ0M7QUFTQyxrQkFUMUIsaUJBQU8sQ0FTMEI7QUFSeEMsc0RBQWdDO0FBUXZCLGtCQVJGLGlCQUFPLENBUUU7QUFQaEIsa0RBQTRCO0FBT2MsZ0JBUG5DLGVBQUssQ0FPbUM7QUFOL0MsbUNBQXlDO0FBTXZCLHVGQU5ULGVBQU0sT0FNUztBQUFFLHNGQU5ULGNBQUssT0FNUztBQUwvQiwrQkFBd0M7QUFLc0MscUZBTHJFLFdBQUksT0FLcUU7QUFBZCx5RkFMckQsZUFBUSxPQUtxRDtBQUo1RSxvREFBOEI7QUFJc0QsaUJBSjdFLGdCQUFNLENBSTZFO0FBRjFGLG1DQUFrQztBQUUwRCx1RkFGbkYsZUFBTSxPQUVtRjtBQVFsRywyQkFBMkI7QUFDM0Isc0NBQWdHO0FBQXZGLHVHQUFBLGVBQWUsT0FBQTtBQUFFLDZHQUFBLHFCQUFxQixPQUFBO0FBQUUsK0dBQUEsdUJBQXVCLE9BQUE7QUFDeEUsMENBQTJFO0FBQWxFLDZHQUFBLG1CQUFtQixPQUFBO0FBQUUsNkdBQUEsbUJBQW1CLE9BQUE7QUFFakQsOEJBQThCO0FBQzlCLDhEQVFxQztBQVBuQyx3SEFBQSxzQkFBc0IsT0FBQTtBQUN0Qiw0R0FBQSxVQUFVLE9BQUE7QUFDVixnSEFBQSxjQUFjLE9BQUE7QUFDZCwrR0FBQSxhQUFhLE9BQUE7QUFDYixzSEFBQSxvQkFBb0IsT0FBQTtBQUNwQixxSEFBQSxtQkFBbUIsT0FBQTtBQUNuQiw4R0FBQSxZQUFZLE9BQUEifQ==
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSx1REFBMkM7QUFVYSxnQ0FBVTtBQVRsRSxzREFBZ0M7QUFTQyxrQkFUMUIsaUJBQU8sQ0FTMEI7QUFSeEMsc0RBQWdDO0FBUXZCLGtCQVJGLGlCQUFPLENBUUU7QUFQaEIsa0RBQTRCO0FBT2MsZ0JBUG5DLGVBQUssQ0FPbUM7QUFOL0MsbUNBQXlDO0FBTXZCLHVGQU5ULGVBQU0sT0FNUztBQUFFLHNGQU5ULGNBQUssT0FNUztBQUwvQiwrQkFBd0M7QUFLc0MscUZBTHJFLFdBQUksT0FLcUU7QUFBZCx5RkFMckQsZUFBUSxPQUtxRDtBQUo1RSxvREFBOEI7QUFJc0QsaUJBSjdFLGdCQUFNLENBSTZFO0FBRjFGLG1DQUFrQztBQUUwRCx1RkFGbkYsZUFBTSxPQUVtRjtBQVFsRywyQkFBMkI7QUFDM0Isc0NBQWdHO0FBQXZGLHVHQUFBLGVBQWUsT0FBQTtBQUFFLDZHQUFBLHFCQUFxQixPQUFBO0FBQUUsK0dBQUEsdUJBQXVCLE9BQUE7QUFDeEUsMENBQTJFO0FBQWxFLDZHQUFBLG1CQUFtQixPQUFBO0FBQUUsNkdBQUEsbUJBQW1CLE9BQUE7QUFFakQsOEJBQThCO0FBQzlCLDhEQVNxQztBQVJuQyx3SEFBQSxzQkFBc0IsT0FBQTtBQUN0Qiw0R0FBQSxVQUFVLE9BQUE7QUFDVixnSEFBQSxjQUFjLE9BQUE7QUFDZCwrR0FBQSxhQUFhLE9BQUE7QUFDYixzSEFBQSxvQkFBb0IsT0FBQTtBQUNwQixxSEFBQSxtQkFBbUIsT0FBQTtBQUNuQix5SEFBQSx1QkFBdUIsT0FBQTtBQUN2Qiw4R0FBQSxZQUFZLE9BQUEifQ==
@@ -11,7 +11,8 @@ export declare const GAME_STAGE_JS = "\nimport { Stage as StageBase, Trigger, Wa
11
11
  export declare const WRAP_SPRITE_CLASS_JS = "\nimport { GameSprite } from \"./GameSprite.js\"\nimport { copyPrototypeToInstance, setConstructingTarget, clearConstructingTarget } from \"./helpers.js\"\n\nexport function wrapSpriteClass(UserClass) {\n if (UserClass.prototype?.hasOwnProperty(\"constructor\")) {\n const userCtor = UserClass.prototype.constructor\n if (userCtor && userCtor !== UserClass) {\n throw new Error(`${UserClass.name}: Please use init() instead of constructor()`)\n }\n }\n\n var spriteId = UserClass.name;\n\n return class WrappedSprite extends GameSprite {\n constructor(...args) {\n var opts = args[0] ?? {}\n args[0] = { ...opts, spriteId: spriteId }\n super(...args)\n\n copyPrototypeToInstance(this, UserClass.prototype)\n\n setConstructingTarget(this)\n try {\n if (typeof this.init === \"function\") this.init()\n } finally {\n clearConstructingTarget()\n }\n\n this._finalizeTriggers()\n }\n }\n}\n";
12
12
  export declare const WRAP_STAGE_CLASS_JS = "\nimport { GameStage } from \"./GameStage.js\"\nimport { copyPrototypeToInstance, setConstructingTarget, clearConstructingTarget } from \"./helpers.js\"\n\nexport function wrapStageClass(UserClass) {\n return class WrappedStage extends GameStage {\n constructor(...args) {\n super(...args)\n\n copyPrototypeToInstance(this, UserClass.prototype)\n\n setConstructingTarget(this)\n try {\n if (typeof this.init === \"function\") this.init(...args)\n } finally {\n clearConstructingTarget()\n }\n\n this._finalizeTriggers()\n }\n }\n}\n";
13
13
  export declare const getUserApiJS: (_leopardJSURL?: string) => string;
14
- export declare const SPRITE_FUNCS_JS = "\n// spriteFuncs.js - Free functions that delegate to the current sprite\n// These allow cleaner code: wait(1) instead of this.wait(1)\n// Works both during init() (via constructing target) and at runtime (via context.target)\n\nimport { context } from \"./userApi.js\";\nimport { getConstructingTarget } from \"./helpers.js\";\n\nfunction self() {\n return getConstructingTarget() || context.target;\n}\n\n// Control\nexport function wait(seconds) {\n return self().wait(seconds);\n}\n\nexport function broadcast(message) {\n return self().broadcast(message);\n}\n\nexport function broadcastAndWait(message) {\n return self().broadcastAndWait(message);\n}\n\nexport function createClone() {\n self().createClone();\n}\n\nexport function deleteThisClone() {\n self().deleteThisClone();\n}\n\nexport function stop(option) {\n self().stop(option);\n}\n\nexport function stopAllSounds() {\n self().stopAllSounds();\n}\n\n// Looks\nexport function say(message) {\n self().say(message);\n}\n\nexport function sayAndWait(message, seconds) {\n return self().sayAndWait(message, seconds);\n}\n\nexport function think(message) {\n self().think(message);\n}\n\nexport function thinkAndWait(message, seconds) {\n return self().thinkAndWait(message, seconds);\n}\n\n// Motion\nexport function move(steps) {\n self().move(steps);\n}\n\nexport function goto(x, y) {\n self().goto(x, y);\n}\n\nexport function glide(seconds, x, y) {\n return self().glide(seconds, x, y);\n}\n\nexport function setDirection(direction) {\n self().direction = direction;\n}\n\nexport function changeDirection(amount) {\n self().direction += amount;\n}\n\nexport function turnClockwise(degrees) {\n self().direction += degrees;\n}\n\nexport function turnCounterClockwise(degrees) {\n self().direction -= degrees;\n}\n\nexport function pointTowards(target) {\n var s = self();\n var x, y;\n if (typeof target === \"string\" && target === \"mouse\") {\n x = s.mouse.x;\n y = s.mouse.y;\n } else {\n x = target.x;\n y = target.y;\n }\n s.direction = s.radToScratch(Math.atan2(y - s.y, x - s.x));\n}\n\nexport function changeX(amount) {\n self().x += amount;\n}\n\nexport function setX(x) {\n self().x = x;\n}\n\nexport function changeY(amount) {\n self().y += amount;\n}\n\nexport function setY(y) {\n self().y = y;\n}\n\nexport function ifOnEdgeBounce() {\n self().ifOnEdgeBounce();\n}\n\n// Pen\nexport function stamp() {\n self().stamp();\n}\n\nexport function penDown() {\n self().penDown = true;\n}\n\nexport function penUp() {\n self().penDown = false;\n}\n\nexport function setPenColor(color) {\n self().penColor = color;\n}\n\nexport function setPenSize(size) {\n self().penSize = size;\n}\n\nexport function changePenSize(amount) {\n self().penSize += amount;\n}\n\nexport function clearPen() {\n self().clearPen();\n}\n\n// Sound\nexport function playSoundUntilDone(sound) {\n return self().playSoundUntilDone(sound);\n}\n\nexport function startSound(sound) {\n return self().startSound(sound);\n}\n\n// Sensing\nexport function touching(target) {\n return self().touching(target);\n}\n\nexport function colorTouching(color, target) {\n return self().colorTouching(color, target);\n}\n\nexport function keyPressed(key) {\n return self().keyPressed(key);\n}\n\nexport function isMouseDown() {\n return self().mouse.down;\n}\n\nexport function getMouseX() {\n return self().mouse.x;\n}\n\nexport function getMouseY() {\n return self().mouse.y;\n}\n\nexport function askAndWait(question) {\n return self().askAndWait(question);\n}\n\nexport function getAnswer() {\n return self().answer;\n}\n\nexport function getTimer() {\n return self().timer;\n}\n\nexport function restartTimer() {\n self().restartTimer();\n}\n\n// Visibility\nexport function show() {\n self().visible = true;\n}\n\nexport function hide() {\n self().visible = false;\n}\n\n// Size\nexport function setSize(percent) {\n self().size = percent;\n}\n\nexport function changeSize(amount) {\n self().size += amount;\n}\n\n// Effects\nexport function setEffect(effect, value) {\n self().effects[effect] = value;\n}\n\nexport function changeEffect(effect, amount) {\n self().effects[effect] += amount;\n}\n\nexport function clearEffects() {\n self().effects.clear();\n}\n\n// Costume\nexport function setCostume(costume) {\n self().costume = costume;\n}\n\nexport function nextCostume() {\n self().costumeNumber++;\n}\n\n// Layer\nexport function moveToFront() {\n self().moveAhead();\n}\n\nexport function moveToBack() {\n self().moveBehind();\n}\n\nexport function moveForwardLayers(layers) {\n self().moveAhead(layers);\n}\n\nexport function moveBackwardLayers(layers) {\n self().moveBehind(layers);\n}\n\nexport function moveForward() {\n self().moveAhead(1);\n}\n\nexport function moveBackward() {\n self().moveBehind(1);\n}\n\n// Rotation style\nexport function setRotationStyle(style) {\n self().rotationStyle = style;\n}\n\n// Variables / Watchers\nexport function createVar(name, initialValue, options) {\n self().createVar(name, initialValue, options);\n}\n\nexport function setVar(name, value) {\n self().setVar(name, value);\n}\n\nexport function showVar(name) {\n self().showVar(name);\n}\n\nexport function hideVar(name) {\n self().hideVar(name);\n}\n\nexport function moveVar(name, x, y) {\n self().moveVar(name, x, y);\n}\n\n// Event handlers\nexport function whenGreenFlag(method) {\n self().whenGreenFlag(method);\n}\n\nexport function whenKeyPressed(keyOrOptions, method) {\n self().whenKeyPressed(keyOrOptions, method);\n}\n\nexport function whenBroadcast(nameOrOptions, method) {\n self().whenBroadcast(nameOrOptions, method);\n}\n\nexport function whenClicked(method) {\n self().whenClicked(method);\n}\n\nexport function whenTouchStart(method) {\n self().whenTouchStart(method);\n}\n\nexport function whenTouchEnd(method) {\n self().whenTouchEnd(method);\n}\n\nexport function whenTouchMove(method) {\n self().whenTouchMove(method);\n}\n\nexport function whenCloneStart(method) {\n self().whenCloneStart(method);\n}\n\nexport function whenBackdropChanged(method) {\n self().whenBackdropChanged(method);\n}\n\n// Sound (additional)\nexport function stopAllOfMySounds() {\n self().stopAllOfMySounds();\n}\n\nexport function getSound(soundName) {\n return self().getSound(soundName);\n}\n\n// Motion (additional getters/setters)\nexport function getX() {\n return self().x;\n}\n\nexport function getY() {\n return self().y;\n}\n\nexport function getDirection() {\n return self().direction;\n}\n\nexport function positionInFence() {\n self().positionInFence();\n}\n\nexport function moveAhead(value) {\n self().moveAhead(value);\n}\n\nexport function moveBehind(value) {\n self().moveBehind(value);\n}\n\n// Looks (additional getters)\nexport function getCostumeNumber() {\n return self().costumeNumber;\n}\n\nexport function setCostumeNumber(number) {\n self().costumeNumber = number;\n}\n\nexport function prevCostume() {\n self().costumeNumber--;\n}\n\nexport function getCostume() {\n return self().costume;\n}\n\nexport function getSize() {\n return self().size;\n}\n\nexport function getVisible() {\n return self().visible;\n}\n\n// Sensing (additional)\nexport function getLoudness() {\n return self().loudness;\n}\n\nexport function nearestEdge() {\n return self().nearestEdge();\n}\n\nexport function getStage() {\n return self().stage;\n}\n\nexport function getSprites() {\n return self().sprites;\n}\n\n// Pen (additional getters)\nexport function getPenDown() {\n return self().penDown;\n}\n\nexport function getPenColor() {\n return self().penColor;\n}\n\nexport function getPenSize() {\n return self().penSize;\n}\n\n// Clone\nexport function andClones() {\n return self().andClones();\n}\n\n// Math utilities\nexport function degToRad(deg) {\n return self().degToRad(deg);\n}\n\nexport function radToDeg(rad) {\n return self().radToDeg(rad);\n}\n\nexport function degToScratch(deg) {\n return self().degToScratch(deg);\n}\n\nexport function scratchToDeg(scratchDir) {\n return self().scratchToDeg(scratchDir);\n}\n\nexport function radToScratch(rad) {\n return self().radToScratch(rad);\n}\n\nexport function scratchToRad(scratchDir) {\n return self().scratchToRad(scratchDir);\n}\n\nexport function scratchTan(angle) {\n return self().scratchTan(angle);\n}\n\nexport function normalizeDeg(deg) {\n return self().normalizeDeg(deg);\n}\n\nexport function wrapClamp(n, min, max) {\n return self().wrapClamp(n, min, max);\n}\n\nexport function random(a, b) {\n return self().random(a, b);\n}\n\n// Type conversion\nexport function toNumber(value) {\n return self().toNumber(value);\n}\n\nexport function toBoolean(value) {\n return self().toBoolean(value);\n}\n\nexport function toStr(value) {\n return self().toString(value);\n}\n\n// String / Array utilities\nexport function stringIncludes(string, substring) {\n return self().stringIncludes(string, substring);\n}\n\nexport function arrayIncludes(array, value) {\n return self().arrayIncludes(array, value);\n}\n\nexport function letterOf(string, index) {\n return self().letterOf(string, index);\n}\n\nexport function itemOf(array, index) {\n return self().itemOf(array, index);\n}\n\nexport function indexInArray(array, value) {\n return self().indexInArray(array, value);\n}\n\nexport function compare(v1, v2) {\n return self().compare(v1, v2);\n}\n\n// Control (additional)\nexport function warp(procedure) {\n return self().warp(procedure);\n}\n\n// Loop helpers\nexport function repeat(times, body) {\n for (var i = 0; i < times; i++) {\n body();\n }\n}\n\nexport function forever(body) {\n while (true) {\n body();\n }\n}\n\nexport function untilLoop(condition, body) {\n while (!condition()) {\n body();\n }\n}\n\n// Color utilities\nexport function rgb(r, g, b) {\n return Color.rgb(r, g, b);\n}\n\nexport function hex(hex) {\n return Color.hex(hex);\n}\n\nexport function colorNumToRgb(num) {\n return Color.num(num);\n}\n\nfunction hexToRGB(hex) { return Color.hexToRGB(hex); }\nfunction hexToHSL(hex) { return Color.hexToHSL(hex); }\nfunction rgbToHex(r, g, b) { return Color.rgbToHex(r, g, b); }\nfunction rgbToHSL(r, g, b) { return Color.rgbToHSL(r, g, b); }\nfunction hslToRGB(h, s, l) { return Color.hslToRGB(h, s, l); }\nfunction hslToHex(h, s, l) { return Color.hslToHex(h, s, l); }\n";
14
+ export declare const SPRITE_FUNCS_JS = "\n// spriteFuncs.js - Free functions that delegate to the current sprite\n// These allow cleaner code: wait(1) instead of this.wait(1)\n// Works both during init() (via constructing target) and at runtime (via context.target)\n\nimport { context } from \"./userApi.js\";\nimport { getConstructingTarget } from \"./helpers.js\";\n\nfunction self() {\n return getConstructingTarget() || context.target;\n}\n\n// Control\nexport function wait(seconds) {\n return self().wait(seconds);\n}\n\nexport function broadcast(message) {\n return self().broadcast(message);\n}\n\nexport function broadcastAndWait(message) {\n return self().broadcastAndWait(message);\n}\n\nexport function createClone() {\n self().createClone();\n}\n\nexport function deleteThisClone() {\n self().deleteThisClone();\n}\n\nexport function stop(option) {\n self().stop(option);\n}\n\nexport function stopAllSounds() {\n self().stopAllSounds();\n}\n\n// Looks\nexport function say(message) {\n self().say(message);\n}\n\nexport function sayAndWait(message, seconds) {\n return self().sayAndWait(message, seconds);\n}\n\nexport function think(message) {\n self().think(message);\n}\n\nexport function thinkAndWait(message, seconds) {\n return self().thinkAndWait(message, seconds);\n}\n\n// Motion\nexport function move(steps) {\n self().move(steps);\n}\n\nexport function goto(x, y) {\n self().goto(x, y);\n}\n\nexport function glide(seconds, x, y) {\n return self().glide(seconds, x, y);\n}\n\nexport function setDirection(direction) {\n self().direction = direction;\n}\n\nexport function changeDirection(amount) {\n self().direction += amount;\n}\n\nexport function turnClockwise(degrees) {\n self().direction += degrees;\n}\n\nexport function turnCounterClockwise(degrees) {\n self().direction -= degrees;\n}\n\nexport function pointTowards(target) {\n var s = self();\n var x, y;\n if (typeof target === \"string\" && target === \"mouse\") {\n x = s.mouse.x;\n y = s.mouse.y;\n } else {\n x = target.x;\n y = target.y;\n }\n s.direction = s.radToScratch(Math.atan2(y - s.y, x - s.x));\n}\n\nexport function changeX(amount) {\n self().x += amount;\n}\n\nexport function setX(x) {\n self().x = x;\n}\n\nexport function changeY(amount) {\n self().y += amount;\n}\n\nexport function setY(y) {\n self().y = y;\n}\n\nexport function ifOnEdgeBounce() {\n self().ifOnEdgeBounce();\n}\n\n// Pen\nexport function stamp() {\n self().stamp();\n}\n\nexport function penDown() {\n self().penDown = true;\n}\n\nexport function penUp() {\n self().penDown = false;\n}\n\nexport function setPenColor(color) {\n self().penColor = color;\n}\n\nexport function setPenSize(size) {\n self().penSize = size;\n}\n\nexport function changePenSize(amount) {\n self().penSize += amount;\n}\n\nexport function clearPen() {\n self().clearPen();\n}\n\n// Sound\nexport function playSoundUntilDone(sound) {\n return self().playSoundUntilDone(sound);\n}\n\nexport function startSound(sound) {\n return self().startSound(sound);\n}\n\n// Sensing\nexport function touching(target) {\n return self().touching(target);\n}\n\nexport function colorTouching(color, target) {\n return self().colorTouching(color, target);\n}\n\nexport function keyPressed(key) {\n return self().keyPressed(key);\n}\n\nexport function isMouseDown() {\n return self().mouse.down;\n}\n\nexport function getMouseX() {\n return self().mouse.x;\n}\n\nexport function getMouseY() {\n return self().mouse.y;\n}\n\nexport function askAndWait(question) {\n return self().askAndWait(question);\n}\n\nexport function getAnswer() {\n return self().answer;\n}\n\nexport function getTimer() {\n return self().timer;\n}\n\nexport function restartTimer() {\n self().restartTimer();\n}\n\n// Visibility\nexport function show() {\n self().visible = true;\n}\n\nexport function hide() {\n self().visible = false;\n}\n\n// Size\nexport function setSize(percent) {\n self().size = percent;\n}\n\nexport function changeSize(amount) {\n self().size += amount;\n}\n\n// Effects\nexport function setEffect(effect, value) {\n self().effects[effect] = value;\n}\n\nexport function changeEffect(effect, amount) {\n self().effects[effect] += amount;\n}\n\nexport function clearEffects() {\n self().effects.clear();\n}\n\n// Costume\nexport function setCostume(costume) {\n self().costume = costume;\n}\n\nexport function nextCostume() {\n self().costumeNumber++;\n}\n\n// Layer\nexport function moveToFront() {\n self().moveAhead();\n}\n\nexport function moveToBack() {\n self().moveBehind();\n}\n\nexport function moveForward(layers = 1) {\n self().moveAhead(layers);\n}\n\nexport function moveBackward(layers = 1) {\n self().moveBehind(layers);\n}\n\n// Rotation style\nexport function setRotationStyle(style) {\n self().rotationStyle = style;\n}\n\n// Variables / Watchers\nexport function createVar(name, initialValue, options) {\n self().createVar(name, initialValue, options);\n}\n\nexport function setVar(name, value) {\n self().setVar(name, value);\n}\n\nexport function showVar(name) {\n self().showVar(name);\n}\n\nexport function hideVar(name) {\n self().hideVar(name);\n}\n\nexport function moveVar(name, x, y) {\n self().moveVar(name, x, y);\n}\n\n// Event handlers\nexport function whenGreenFlag(method) {\n self().whenGreenFlag(method);\n}\n\nexport function whenKeyPressed(keyOrOptions, method) {\n self().whenKeyPressed(keyOrOptions, method);\n}\n\nexport function whenBroadcast(nameOrOptions, method) {\n self().whenBroadcast(nameOrOptions, method);\n}\n\nexport function whenClicked(method) {\n self().whenClicked(method);\n}\n\nexport function whenTouchStart(method) {\n self().whenTouchStart(method);\n}\n\nexport function whenTouchEnd(method) {\n self().whenTouchEnd(method);\n}\n\nexport function whenTouchMove(method) {\n self().whenTouchMove(method);\n}\n\nexport function whenCloneStart(method) {\n self().whenCloneStart(method);\n}\n\nexport function whenBackdropChanged(method) {\n self().whenBackdropChanged(method);\n}\n\n// Sound (additional)\nexport function stopAllOfMySounds() {\n self().stopAllOfMySounds();\n}\n\nexport function getSound(soundName) {\n return self().getSound(soundName);\n}\n\n// Motion (additional getters/setters)\nexport function getX() {\n return self().x;\n}\n\nexport function getY() {\n return self().y;\n}\n\nexport function getDirection() {\n return self().direction;\n}\n\nexport function positionInFence() {\n self().positionInFence();\n}\n\nexport function moveAhead(value) {\n self().moveAhead(value);\n}\n\nexport function moveBehind(value) {\n self().moveBehind(value);\n}\n\n// Looks (additional getters)\nexport function getCostumeNumber() {\n return self().costumeNumber;\n}\n\nexport function setCostumeNumber(number) {\n self().costumeNumber = number;\n}\n\nexport function prevCostume() {\n self().costumeNumber--;\n}\n\nexport function getCostume() {\n return self().costume;\n}\n\nexport function getSize() {\n return self().size;\n}\n\nexport function getVisible() {\n return self().visible;\n}\n\n// Sensing (additional)\nexport function getLoudness() {\n return self().loudness;\n}\n\nexport function nearestEdge() {\n return self().nearestEdge();\n}\n\nexport function getStage() {\n return self().stage;\n}\n\nexport function getSprites() {\n return self().sprites;\n}\n\n// Pen (additional getters)\nexport function getPenDown() {\n return self().penDown;\n}\n\nexport function getPenColor() {\n return self().penColor;\n}\n\nexport function getPenSize() {\n return self().penSize;\n}\n\n// Clone\nexport function andClones() {\n return self().andClones();\n}\n\n// Math utilities\nexport function degToRad(deg) {\n return self().degToRad(deg);\n}\n\nexport function radToDeg(rad) {\n return self().radToDeg(rad);\n}\n\nexport function degToScratch(deg) {\n return self().degToScratch(deg);\n}\n\nexport function scratchToDeg(scratchDir) {\n return self().scratchToDeg(scratchDir);\n}\n\nexport function radToScratch(rad) {\n return self().radToScratch(rad);\n}\n\nexport function scratchToRad(scratchDir) {\n return self().scratchToRad(scratchDir);\n}\n\nexport function scratchTan(angle) {\n return self().scratchTan(angle);\n}\n\nexport function normalizeDeg(deg) {\n return self().normalizeDeg(deg);\n}\n\nexport function wrapClamp(n, min, max) {\n return self().wrapClamp(n, min, max);\n}\n\nexport function random(a, b) {\n return self().random(a, b);\n}\n\n// Type conversion\nexport function toNumber(value) {\n return self().toNumber(value);\n}\n\nexport function toBoolean(value) {\n return self().toBoolean(value);\n}\n\nexport function toStr(value) {\n return self().toString(value);\n}\n\n// String / Array utilities\nexport function stringIncludes(string, substring) {\n return self().stringIncludes(string, substring);\n}\n\nexport function arrayIncludes(array, value) {\n return self().arrayIncludes(array, value);\n}\n\nexport function letterOf(string, index) {\n return self().letterOf(string, index);\n}\n\nexport function itemOf(array, index) {\n return self().itemOf(array, index);\n}\n\nexport function indexInArray(array, value) {\n return self().indexInArray(array, value);\n}\n\nexport function compare(v1, v2) {\n return self().compare(v1, v2);\n}\n\n// Control (additional)\nexport function warp(procedure) {\n return self().warp(procedure);\n}\n\n// Loop helpers\nexport function repeat(times, body) {\n for (var i = 0; i < times; i++) {\n body();\n }\n}\n\nexport function forever(body) {\n while (true) {\n body();\n }\n}\n\nexport function untilLoop(condition, body) {\n while (!condition()) {\n body();\n }\n}\n\n// Color utilities\nexport function rgb(r, g, b) {\n return Color.rgb(r, g, b);\n}\n\nexport function hex(hex) {\n return Color.hex(hex);\n}\n\nexport function colorNumToRgb(num) {\n return Color.num(num);\n}\n\nfunction hexToRGB(hex) { return Color.hexToRGB(hex); }\nfunction hexToHSL(hex) { return Color.hexToHSL(hex); }\nfunction rgbToHex(r, g, b) { return Color.rgbToHex(r, g, b); }\nfunction rgbToHSL(r, g, b) { return Color.rgbToHSL(r, g, b); }\nfunction hslToRGB(h, s, l) { return Color.hslToRGB(h, s, l); }\nfunction hslToHex(h, s, l) { return Color.hslToHex(h, s, l); }\n";
15
+ export declare const REGISTRATION_RUNTIME_JS = "\n// registrationRuntime.js\n// Stores \"which sprite class is currently being registered\" during module evaluation.\nconst REG = {\n currentSpriteClass: null,\n};\nexport function enterSpriteRegistration(spriteClass) {\n REG.currentSpriteClass = spriteClass;\n}\nexport function exitSpriteRegistration() {\n REG.currentSpriteClass = null;\n}\nexport function getCurrentSpriteClass() {\n const Cls = REG.currentSpriteClass;\n if (!Cls) {\n throw new Error(\n \"Sprite registration API called outside sprite module evaluation. \" +\n \"Make sure index.js calls enterSpriteRegistration(Class) before importing the sprite user module.\"\n );\n }\n return Cls;\n}\n";
15
16
  export declare const getInfrastructureFiles: (options?: InfrastructureOptions) => {
16
17
  "userApi.js": string;
17
18
  "helpers.js": string;
@@ -20,4 +21,5 @@ export declare const getInfrastructureFiles: (options?: InfrastructureOptions) =
20
21
  "GameStage.js": string;
21
22
  "wrapSpriteClass.js": string;
22
23
  "wrapStageClass.js": string;
24
+ "registrationRuntime.js": string;
23
25
  };
@@ -4,7 +4,7 @@
4
4
  * These are the runtime support files needed to run user sprite code.
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.getInfrastructureFiles = exports.SPRITE_FUNCS_JS = exports.getUserApiJS = exports.WRAP_STAGE_CLASS_JS = exports.WRAP_SPRITE_CLASS_JS = exports.GAME_STAGE_JS = exports.GAME_SPRITE_JS = exports.HELPERS_JS = void 0;
7
+ exports.getInfrastructureFiles = exports.REGISTRATION_RUNTIME_JS = exports.SPRITE_FUNCS_JS = exports.getUserApiJS = exports.WRAP_STAGE_CLASS_JS = exports.WRAP_SPRITE_CLASS_JS = exports.GAME_STAGE_JS = exports.GAME_SPRITE_JS = exports.HELPERS_JS = void 0;
8
8
  var DEFAULT_LEOPARD_JS_URL = "https://pub-3089f37cd1294d71b62f5431c86b90ef.r2.dev/dist-static-new/index.esm.js";
9
9
  exports.HELPERS_JS = "\nexport function copyPrototypeToInstance(target, proto) {\n for (const key of Object.getOwnPropertyNames(proto)) {\n if (key === \"constructor\") continue\n const desc = Object.getOwnPropertyDescriptor(proto, key)\n if (desc) Object.defineProperty(target, key, { ...desc, enumerable: true })\n }\n}\n\n// Global construction context\n// Set during sprite/stage construction so free functions can register triggers\nlet _constructingTarget = null;\n\nexport function setConstructingTarget(target) {\n _constructingTarget = target;\n}\n\nexport function clearConstructingTarget() {\n _constructingTarget = null;\n}\n\nexport function getConstructingTarget() {\n return _constructingTarget;\n}\n";
10
10
  exports.GAME_SPRITE_JS = "\nimport { Sprite, Trigger, Costume, Sound, Watcher } from \"./userApi.js\";\nimport { getSpriteAssets } from \"./assetRegistry.js\"\nimport { CostumeScale } from \"./constants.js\"\n\nexport class GameSprite extends Sprite {\n constructor(...args) {\n super(...args)\n\n const opts = args[0] ?? {}\n const spriteId = (opts && typeof opts === \"object\" && opts.spriteId) || this.constructor.name\n\n const assets = getSpriteAssets(spriteId)\n if (!assets) {\n this._triggers = []\n return\n }\n\n this.costumes = assets.costumes ?? []\n this.sounds = assets.sounds ?? []\n this._triggers = []\n }\n\n whenGreenFlag(method) { this._addTrigger(Trigger.GREEN_FLAG, null, method) }\n whenKeyPressed(keyOrOptions, method) {\n const options = typeof keyOrOptions === 'object' ? keyOrOptions : { key: keyOrOptions };\n this._addTrigger(Trigger.KEY_PRESSED, options, method)\n }\n whenBroadcast(nameOrOptions, method) {\n const options = typeof nameOrOptions === 'object' ? nameOrOptions : { name: nameOrOptions };\n this._addTrigger(Trigger.BROADCAST, options, method)\n }\n whenClicked(method) { this._addTrigger(Trigger.CLICKED, null, method) }\n whenTouchStart(method) { this._addTrigger(Trigger.TOUCH_START, null, method) }\n whenTouchEnd(method) { this._addTrigger(Trigger.TOUCH_END, null, method) }\n whenTouchMove(method) { this._addTrigger(Trigger.TOUCH_MOVE, null, method) }\n whenCloneStart(method) { this._addTrigger(Trigger.CLONE_START, null, method) }\n whenBackdropChanged(method) { this._addTrigger(Trigger.BACKDROP_CHANGED, null, method) }\n\n /**\n * Create a variable with an initial value, optionally with a watcher.\n * @param {string} name - Variable name (key in this.vars and this.watchers)\n * @param {*} initialValue - Initial value for the variable\n * @param {object} [options] - Watcher configuration options. If omitted, no watcher is created.\n */\n createVar(name, initialValue, options) {\n this.vars[name] = initialValue\n if (options !== undefined) {\n const defaultLabel = this.constructor.name === 'Stage' ? name : `${this.constructor.name}: ${name}`\n this.watchers[name] = new Watcher({\n label: options.label ?? defaultLabel,\n style: options.style ?? \"normal\",\n visible: options.visible ?? false,\n value: () => this.vars[name],\n setValue: options.setValue ?? ((value) => { this.vars[name] = value }),\n step: options.step,\n min: options.min,\n max: options.max,\n x: options.x ?? 245,\n y: options.y ?? 175,\n width: options.width,\n height: options.height,\n })\n }\n }\n\n /**\n * Set a variable's value.\n * @param {string} name - Variable name (key in this.vars)\n * @param {*} value - New value\n */\n setVar(name, value) {\n this.vars[name] = value\n }\n\n /**\n * Show a variable watcher. No-op if watcher doesn't exist.\n * @param {string} name - Variable name (key in this.watchers)\n */\n showVar(name) {\n if (!this.watchers[name]) return\n this.watchers[name].visible = true\n }\n\n /**\n * Hide a variable watcher. No-op if watcher doesn't exist.\n * @param {string} name - Variable name (key in this.watchers)\n */\n hideVar(name) {\n if (!this.watchers[name]) return\n this.watchers[name].visible = false\n }\n\n /**\n * Move a variable watcher to a new position.\n * @param {string} name - Variable name (key in this.watchers)\n * @param {number} x - New x position\n * @param {number} y - New y position\n */\n moveVar(name, x, y) {\n if (!this.watchers[name]) return\n this.watchers[name].x = x\n this.watchers[name].y = y\n }\n\n _addTrigger(typeConst, options, method) {\n const fn = typeof method === \"string\" ? this[method] : method\n if (typeof fn !== \"function\") {\n throw new Error(`${this.constructor.name}: missing method \"${String(method)}\"`)\n }\n this._triggers.push(options ? new Trigger(typeConst, options, fn) : new Trigger(typeConst, fn))\n }\n\n _finalizeTriggers() {\n this.triggers = this._triggers\n }\n}\n";
@@ -13,7 +13,8 @@ exports.WRAP_SPRITE_CLASS_JS = "\nimport { GameSprite } from \"./GameSprite.js\"
13
13
  exports.WRAP_STAGE_CLASS_JS = "\nimport { GameStage } from \"./GameStage.js\"\nimport { copyPrototypeToInstance, setConstructingTarget, clearConstructingTarget } from \"./helpers.js\"\n\nexport function wrapStageClass(UserClass) {\n return class WrappedStage extends GameStage {\n constructor(...args) {\n super(...args)\n\n copyPrototypeToInstance(this, UserClass.prototype)\n\n setConstructingTarget(this)\n try {\n if (typeof this.init === \"function\") this.init(...args)\n } finally {\n clearConstructingTarget()\n }\n\n this._finalizeTriggers()\n }\n }\n}\n";
14
14
  var getUserApiJS = function (_leopardJSURL) { return "\n// userApi.js - Leopard class re-exports for sprite files\n// In bundled mode, this file is empty - Leopard classes come from window globals.\n// In ES module mode, sprite files import directly from the Leopard library URL.\n"; };
15
15
  exports.getUserApiJS = getUserApiJS;
16
- exports.SPRITE_FUNCS_JS = "\n// spriteFuncs.js - Free functions that delegate to the current sprite\n// These allow cleaner code: wait(1) instead of this.wait(1)\n// Works both during init() (via constructing target) and at runtime (via context.target)\n\nimport { context } from \"./userApi.js\";\nimport { getConstructingTarget } from \"./helpers.js\";\n\nfunction self() {\n return getConstructingTarget() || context.target;\n}\n\n// Control\nexport function wait(seconds) {\n return self().wait(seconds);\n}\n\nexport function broadcast(message) {\n return self().broadcast(message);\n}\n\nexport function broadcastAndWait(message) {\n return self().broadcastAndWait(message);\n}\n\nexport function createClone() {\n self().createClone();\n}\n\nexport function deleteThisClone() {\n self().deleteThisClone();\n}\n\nexport function stop(option) {\n self().stop(option);\n}\n\nexport function stopAllSounds() {\n self().stopAllSounds();\n}\n\n// Looks\nexport function say(message) {\n self().say(message);\n}\n\nexport function sayAndWait(message, seconds) {\n return self().sayAndWait(message, seconds);\n}\n\nexport function think(message) {\n self().think(message);\n}\n\nexport function thinkAndWait(message, seconds) {\n return self().thinkAndWait(message, seconds);\n}\n\n// Motion\nexport function move(steps) {\n self().move(steps);\n}\n\nexport function goto(x, y) {\n self().goto(x, y);\n}\n\nexport function glide(seconds, x, y) {\n return self().glide(seconds, x, y);\n}\n\nexport function setDirection(direction) {\n self().direction = direction;\n}\n\nexport function changeDirection(amount) {\n self().direction += amount;\n}\n\nexport function turnClockwise(degrees) {\n self().direction += degrees;\n}\n\nexport function turnCounterClockwise(degrees) {\n self().direction -= degrees;\n}\n\nexport function pointTowards(target) {\n var s = self();\n var x, y;\n if (typeof target === \"string\" && target === \"mouse\") {\n x = s.mouse.x;\n y = s.mouse.y;\n } else {\n x = target.x;\n y = target.y;\n }\n s.direction = s.radToScratch(Math.atan2(y - s.y, x - s.x));\n}\n\nexport function changeX(amount) {\n self().x += amount;\n}\n\nexport function setX(x) {\n self().x = x;\n}\n\nexport function changeY(amount) {\n self().y += amount;\n}\n\nexport function setY(y) {\n self().y = y;\n}\n\nexport function ifOnEdgeBounce() {\n self().ifOnEdgeBounce();\n}\n\n// Pen\nexport function stamp() {\n self().stamp();\n}\n\nexport function penDown() {\n self().penDown = true;\n}\n\nexport function penUp() {\n self().penDown = false;\n}\n\nexport function setPenColor(color) {\n self().penColor = color;\n}\n\nexport function setPenSize(size) {\n self().penSize = size;\n}\n\nexport function changePenSize(amount) {\n self().penSize += amount;\n}\n\nexport function clearPen() {\n self().clearPen();\n}\n\n// Sound\nexport function playSoundUntilDone(sound) {\n return self().playSoundUntilDone(sound);\n}\n\nexport function startSound(sound) {\n return self().startSound(sound);\n}\n\n// Sensing\nexport function touching(target) {\n return self().touching(target);\n}\n\nexport function colorTouching(color, target) {\n return self().colorTouching(color, target);\n}\n\nexport function keyPressed(key) {\n return self().keyPressed(key);\n}\n\nexport function isMouseDown() {\n return self().mouse.down;\n}\n\nexport function getMouseX() {\n return self().mouse.x;\n}\n\nexport function getMouseY() {\n return self().mouse.y;\n}\n\nexport function askAndWait(question) {\n return self().askAndWait(question);\n}\n\nexport function getAnswer() {\n return self().answer;\n}\n\nexport function getTimer() {\n return self().timer;\n}\n\nexport function restartTimer() {\n self().restartTimer();\n}\n\n// Visibility\nexport function show() {\n self().visible = true;\n}\n\nexport function hide() {\n self().visible = false;\n}\n\n// Size\nexport function setSize(percent) {\n self().size = percent;\n}\n\nexport function changeSize(amount) {\n self().size += amount;\n}\n\n// Effects\nexport function setEffect(effect, value) {\n self().effects[effect] = value;\n}\n\nexport function changeEffect(effect, amount) {\n self().effects[effect] += amount;\n}\n\nexport function clearEffects() {\n self().effects.clear();\n}\n\n// Costume\nexport function setCostume(costume) {\n self().costume = costume;\n}\n\nexport function nextCostume() {\n self().costumeNumber++;\n}\n\n// Layer\nexport function moveToFront() {\n self().moveAhead();\n}\n\nexport function moveToBack() {\n self().moveBehind();\n}\n\nexport function moveForwardLayers(layers) {\n self().moveAhead(layers);\n}\n\nexport function moveBackwardLayers(layers) {\n self().moveBehind(layers);\n}\n\nexport function moveForward() {\n self().moveAhead(1);\n}\n\nexport function moveBackward() {\n self().moveBehind(1);\n}\n\n// Rotation style\nexport function setRotationStyle(style) {\n self().rotationStyle = style;\n}\n\n// Variables / Watchers\nexport function createVar(name, initialValue, options) {\n self().createVar(name, initialValue, options);\n}\n\nexport function setVar(name, value) {\n self().setVar(name, value);\n}\n\nexport function showVar(name) {\n self().showVar(name);\n}\n\nexport function hideVar(name) {\n self().hideVar(name);\n}\n\nexport function moveVar(name, x, y) {\n self().moveVar(name, x, y);\n}\n\n// Event handlers\nexport function whenGreenFlag(method) {\n self().whenGreenFlag(method);\n}\n\nexport function whenKeyPressed(keyOrOptions, method) {\n self().whenKeyPressed(keyOrOptions, method);\n}\n\nexport function whenBroadcast(nameOrOptions, method) {\n self().whenBroadcast(nameOrOptions, method);\n}\n\nexport function whenClicked(method) {\n self().whenClicked(method);\n}\n\nexport function whenTouchStart(method) {\n self().whenTouchStart(method);\n}\n\nexport function whenTouchEnd(method) {\n self().whenTouchEnd(method);\n}\n\nexport function whenTouchMove(method) {\n self().whenTouchMove(method);\n}\n\nexport function whenCloneStart(method) {\n self().whenCloneStart(method);\n}\n\nexport function whenBackdropChanged(method) {\n self().whenBackdropChanged(method);\n}\n\n// Sound (additional)\nexport function stopAllOfMySounds() {\n self().stopAllOfMySounds();\n}\n\nexport function getSound(soundName) {\n return self().getSound(soundName);\n}\n\n// Motion (additional getters/setters)\nexport function getX() {\n return self().x;\n}\n\nexport function getY() {\n return self().y;\n}\n\nexport function getDirection() {\n return self().direction;\n}\n\nexport function positionInFence() {\n self().positionInFence();\n}\n\nexport function moveAhead(value) {\n self().moveAhead(value);\n}\n\nexport function moveBehind(value) {\n self().moveBehind(value);\n}\n\n// Looks (additional getters)\nexport function getCostumeNumber() {\n return self().costumeNumber;\n}\n\nexport function setCostumeNumber(number) {\n self().costumeNumber = number;\n}\n\nexport function prevCostume() {\n self().costumeNumber--;\n}\n\nexport function getCostume() {\n return self().costume;\n}\n\nexport function getSize() {\n return self().size;\n}\n\nexport function getVisible() {\n return self().visible;\n}\n\n// Sensing (additional)\nexport function getLoudness() {\n return self().loudness;\n}\n\nexport function nearestEdge() {\n return self().nearestEdge();\n}\n\nexport function getStage() {\n return self().stage;\n}\n\nexport function getSprites() {\n return self().sprites;\n}\n\n// Pen (additional getters)\nexport function getPenDown() {\n return self().penDown;\n}\n\nexport function getPenColor() {\n return self().penColor;\n}\n\nexport function getPenSize() {\n return self().penSize;\n}\n\n// Clone\nexport function andClones() {\n return self().andClones();\n}\n\n// Math utilities\nexport function degToRad(deg) {\n return self().degToRad(deg);\n}\n\nexport function radToDeg(rad) {\n return self().radToDeg(rad);\n}\n\nexport function degToScratch(deg) {\n return self().degToScratch(deg);\n}\n\nexport function scratchToDeg(scratchDir) {\n return self().scratchToDeg(scratchDir);\n}\n\nexport function radToScratch(rad) {\n return self().radToScratch(rad);\n}\n\nexport function scratchToRad(scratchDir) {\n return self().scratchToRad(scratchDir);\n}\n\nexport function scratchTan(angle) {\n return self().scratchTan(angle);\n}\n\nexport function normalizeDeg(deg) {\n return self().normalizeDeg(deg);\n}\n\nexport function wrapClamp(n, min, max) {\n return self().wrapClamp(n, min, max);\n}\n\nexport function random(a, b) {\n return self().random(a, b);\n}\n\n// Type conversion\nexport function toNumber(value) {\n return self().toNumber(value);\n}\n\nexport function toBoolean(value) {\n return self().toBoolean(value);\n}\n\nexport function toStr(value) {\n return self().toString(value);\n}\n\n// String / Array utilities\nexport function stringIncludes(string, substring) {\n return self().stringIncludes(string, substring);\n}\n\nexport function arrayIncludes(array, value) {\n return self().arrayIncludes(array, value);\n}\n\nexport function letterOf(string, index) {\n return self().letterOf(string, index);\n}\n\nexport function itemOf(array, index) {\n return self().itemOf(array, index);\n}\n\nexport function indexInArray(array, value) {\n return self().indexInArray(array, value);\n}\n\nexport function compare(v1, v2) {\n return self().compare(v1, v2);\n}\n\n// Control (additional)\nexport function warp(procedure) {\n return self().warp(procedure);\n}\n\n// Loop helpers\nexport function repeat(times, body) {\n for (var i = 0; i < times; i++) {\n body();\n }\n}\n\nexport function forever(body) {\n while (true) {\n body();\n }\n}\n\nexport function untilLoop(condition, body) {\n while (!condition()) {\n body();\n }\n}\n\n// Color utilities\nexport function rgb(r, g, b) {\n return Color.rgb(r, g, b);\n}\n\nexport function hex(hex) {\n return Color.hex(hex);\n}\n\nexport function colorNumToRgb(num) {\n return Color.num(num);\n}\n\nfunction hexToRGB(hex) { return Color.hexToRGB(hex); }\nfunction hexToHSL(hex) { return Color.hexToHSL(hex); }\nfunction rgbToHex(r, g, b) { return Color.rgbToHex(r, g, b); }\nfunction rgbToHSL(r, g, b) { return Color.rgbToHSL(r, g, b); }\nfunction hslToRGB(h, s, l) { return Color.hslToRGB(h, s, l); }\nfunction hslToHex(h, s, l) { return Color.hslToHex(h, s, l); }\n";
16
+ exports.SPRITE_FUNCS_JS = "\n// spriteFuncs.js - Free functions that delegate to the current sprite\n// These allow cleaner code: wait(1) instead of this.wait(1)\n// Works both during init() (via constructing target) and at runtime (via context.target)\n\nimport { context } from \"./userApi.js\";\nimport { getConstructingTarget } from \"./helpers.js\";\n\nfunction self() {\n return getConstructingTarget() || context.target;\n}\n\n// Control\nexport function wait(seconds) {\n return self().wait(seconds);\n}\n\nexport function broadcast(message) {\n return self().broadcast(message);\n}\n\nexport function broadcastAndWait(message) {\n return self().broadcastAndWait(message);\n}\n\nexport function createClone() {\n self().createClone();\n}\n\nexport function deleteThisClone() {\n self().deleteThisClone();\n}\n\nexport function stop(option) {\n self().stop(option);\n}\n\nexport function stopAllSounds() {\n self().stopAllSounds();\n}\n\n// Looks\nexport function say(message) {\n self().say(message);\n}\n\nexport function sayAndWait(message, seconds) {\n return self().sayAndWait(message, seconds);\n}\n\nexport function think(message) {\n self().think(message);\n}\n\nexport function thinkAndWait(message, seconds) {\n return self().thinkAndWait(message, seconds);\n}\n\n// Motion\nexport function move(steps) {\n self().move(steps);\n}\n\nexport function goto(x, y) {\n self().goto(x, y);\n}\n\nexport function glide(seconds, x, y) {\n return self().glide(seconds, x, y);\n}\n\nexport function setDirection(direction) {\n self().direction = direction;\n}\n\nexport function changeDirection(amount) {\n self().direction += amount;\n}\n\nexport function turnClockwise(degrees) {\n self().direction += degrees;\n}\n\nexport function turnCounterClockwise(degrees) {\n self().direction -= degrees;\n}\n\nexport function pointTowards(target) {\n var s = self();\n var x, y;\n if (typeof target === \"string\" && target === \"mouse\") {\n x = s.mouse.x;\n y = s.mouse.y;\n } else {\n x = target.x;\n y = target.y;\n }\n s.direction = s.radToScratch(Math.atan2(y - s.y, x - s.x));\n}\n\nexport function changeX(amount) {\n self().x += amount;\n}\n\nexport function setX(x) {\n self().x = x;\n}\n\nexport function changeY(amount) {\n self().y += amount;\n}\n\nexport function setY(y) {\n self().y = y;\n}\n\nexport function ifOnEdgeBounce() {\n self().ifOnEdgeBounce();\n}\n\n// Pen\nexport function stamp() {\n self().stamp();\n}\n\nexport function penDown() {\n self().penDown = true;\n}\n\nexport function penUp() {\n self().penDown = false;\n}\n\nexport function setPenColor(color) {\n self().penColor = color;\n}\n\nexport function setPenSize(size) {\n self().penSize = size;\n}\n\nexport function changePenSize(amount) {\n self().penSize += amount;\n}\n\nexport function clearPen() {\n self().clearPen();\n}\n\n// Sound\nexport function playSoundUntilDone(sound) {\n return self().playSoundUntilDone(sound);\n}\n\nexport function startSound(sound) {\n return self().startSound(sound);\n}\n\n// Sensing\nexport function touching(target) {\n return self().touching(target);\n}\n\nexport function colorTouching(color, target) {\n return self().colorTouching(color, target);\n}\n\nexport function keyPressed(key) {\n return self().keyPressed(key);\n}\n\nexport function isMouseDown() {\n return self().mouse.down;\n}\n\nexport function getMouseX() {\n return self().mouse.x;\n}\n\nexport function getMouseY() {\n return self().mouse.y;\n}\n\nexport function askAndWait(question) {\n return self().askAndWait(question);\n}\n\nexport function getAnswer() {\n return self().answer;\n}\n\nexport function getTimer() {\n return self().timer;\n}\n\nexport function restartTimer() {\n self().restartTimer();\n}\n\n// Visibility\nexport function show() {\n self().visible = true;\n}\n\nexport function hide() {\n self().visible = false;\n}\n\n// Size\nexport function setSize(percent) {\n self().size = percent;\n}\n\nexport function changeSize(amount) {\n self().size += amount;\n}\n\n// Effects\nexport function setEffect(effect, value) {\n self().effects[effect] = value;\n}\n\nexport function changeEffect(effect, amount) {\n self().effects[effect] += amount;\n}\n\nexport function clearEffects() {\n self().effects.clear();\n}\n\n// Costume\nexport function setCostume(costume) {\n self().costume = costume;\n}\n\nexport function nextCostume() {\n self().costumeNumber++;\n}\n\n// Layer\nexport function moveToFront() {\n self().moveAhead();\n}\n\nexport function moveToBack() {\n self().moveBehind();\n}\n\nexport function moveForward(layers = 1) {\n self().moveAhead(layers);\n}\n\nexport function moveBackward(layers = 1) {\n self().moveBehind(layers);\n}\n\n// Rotation style\nexport function setRotationStyle(style) {\n self().rotationStyle = style;\n}\n\n// Variables / Watchers\nexport function createVar(name, initialValue, options) {\n self().createVar(name, initialValue, options);\n}\n\nexport function setVar(name, value) {\n self().setVar(name, value);\n}\n\nexport function showVar(name) {\n self().showVar(name);\n}\n\nexport function hideVar(name) {\n self().hideVar(name);\n}\n\nexport function moveVar(name, x, y) {\n self().moveVar(name, x, y);\n}\n\n// Event handlers\nexport function whenGreenFlag(method) {\n self().whenGreenFlag(method);\n}\n\nexport function whenKeyPressed(keyOrOptions, method) {\n self().whenKeyPressed(keyOrOptions, method);\n}\n\nexport function whenBroadcast(nameOrOptions, method) {\n self().whenBroadcast(nameOrOptions, method);\n}\n\nexport function whenClicked(method) {\n self().whenClicked(method);\n}\n\nexport function whenTouchStart(method) {\n self().whenTouchStart(method);\n}\n\nexport function whenTouchEnd(method) {\n self().whenTouchEnd(method);\n}\n\nexport function whenTouchMove(method) {\n self().whenTouchMove(method);\n}\n\nexport function whenCloneStart(method) {\n self().whenCloneStart(method);\n}\n\nexport function whenBackdropChanged(method) {\n self().whenBackdropChanged(method);\n}\n\n// Sound (additional)\nexport function stopAllOfMySounds() {\n self().stopAllOfMySounds();\n}\n\nexport function getSound(soundName) {\n return self().getSound(soundName);\n}\n\n// Motion (additional getters/setters)\nexport function getX() {\n return self().x;\n}\n\nexport function getY() {\n return self().y;\n}\n\nexport function getDirection() {\n return self().direction;\n}\n\nexport function positionInFence() {\n self().positionInFence();\n}\n\nexport function moveAhead(value) {\n self().moveAhead(value);\n}\n\nexport function moveBehind(value) {\n self().moveBehind(value);\n}\n\n// Looks (additional getters)\nexport function getCostumeNumber() {\n return self().costumeNumber;\n}\n\nexport function setCostumeNumber(number) {\n self().costumeNumber = number;\n}\n\nexport function prevCostume() {\n self().costumeNumber--;\n}\n\nexport function getCostume() {\n return self().costume;\n}\n\nexport function getSize() {\n return self().size;\n}\n\nexport function getVisible() {\n return self().visible;\n}\n\n// Sensing (additional)\nexport function getLoudness() {\n return self().loudness;\n}\n\nexport function nearestEdge() {\n return self().nearestEdge();\n}\n\nexport function getStage() {\n return self().stage;\n}\n\nexport function getSprites() {\n return self().sprites;\n}\n\n// Pen (additional getters)\nexport function getPenDown() {\n return self().penDown;\n}\n\nexport function getPenColor() {\n return self().penColor;\n}\n\nexport function getPenSize() {\n return self().penSize;\n}\n\n// Clone\nexport function andClones() {\n return self().andClones();\n}\n\n// Math utilities\nexport function degToRad(deg) {\n return self().degToRad(deg);\n}\n\nexport function radToDeg(rad) {\n return self().radToDeg(rad);\n}\n\nexport function degToScratch(deg) {\n return self().degToScratch(deg);\n}\n\nexport function scratchToDeg(scratchDir) {\n return self().scratchToDeg(scratchDir);\n}\n\nexport function radToScratch(rad) {\n return self().radToScratch(rad);\n}\n\nexport function scratchToRad(scratchDir) {\n return self().scratchToRad(scratchDir);\n}\n\nexport function scratchTan(angle) {\n return self().scratchTan(angle);\n}\n\nexport function normalizeDeg(deg) {\n return self().normalizeDeg(deg);\n}\n\nexport function wrapClamp(n, min, max) {\n return self().wrapClamp(n, min, max);\n}\n\nexport function random(a, b) {\n return self().random(a, b);\n}\n\n// Type conversion\nexport function toNumber(value) {\n return self().toNumber(value);\n}\n\nexport function toBoolean(value) {\n return self().toBoolean(value);\n}\n\nexport function toStr(value) {\n return self().toString(value);\n}\n\n// String / Array utilities\nexport function stringIncludes(string, substring) {\n return self().stringIncludes(string, substring);\n}\n\nexport function arrayIncludes(array, value) {\n return self().arrayIncludes(array, value);\n}\n\nexport function letterOf(string, index) {\n return self().letterOf(string, index);\n}\n\nexport function itemOf(array, index) {\n return self().itemOf(array, index);\n}\n\nexport function indexInArray(array, value) {\n return self().indexInArray(array, value);\n}\n\nexport function compare(v1, v2) {\n return self().compare(v1, v2);\n}\n\n// Control (additional)\nexport function warp(procedure) {\n return self().warp(procedure);\n}\n\n// Loop helpers\nexport function repeat(times, body) {\n for (var i = 0; i < times; i++) {\n body();\n }\n}\n\nexport function forever(body) {\n while (true) {\n body();\n }\n}\n\nexport function untilLoop(condition, body) {\n while (!condition()) {\n body();\n }\n}\n\n// Color utilities\nexport function rgb(r, g, b) {\n return Color.rgb(r, g, b);\n}\n\nexport function hex(hex) {\n return Color.hex(hex);\n}\n\nexport function colorNumToRgb(num) {\n return Color.num(num);\n}\n\nfunction hexToRGB(hex) { return Color.hexToRGB(hex); }\nfunction hexToHSL(hex) { return Color.hexToHSL(hex); }\nfunction rgbToHex(r, g, b) { return Color.rgbToHex(r, g, b); }\nfunction rgbToHSL(r, g, b) { return Color.rgbToHSL(r, g, b); }\nfunction hslToRGB(h, s, l) { return Color.hslToRGB(h, s, l); }\nfunction hslToHex(h, s, l) { return Color.hslToHex(h, s, l); }\n";
17
+ exports.REGISTRATION_RUNTIME_JS = "\n// registrationRuntime.js\n// Stores \"which sprite class is currently being registered\" during module evaluation.\nconst REG = {\n currentSpriteClass: null,\n};\nexport function enterSpriteRegistration(spriteClass) {\n REG.currentSpriteClass = spriteClass;\n}\nexport function exitSpriteRegistration() {\n REG.currentSpriteClass = null;\n}\nexport function getCurrentSpriteClass() {\n const Cls = REG.currentSpriteClass;\n if (!Cls) {\n throw new Error(\n \"Sprite registration API called outside sprite module evaluation. \" +\n \"Make sure index.js calls enterSpriteRegistration(Class) before importing the sprite user module.\"\n );\n }\n return Cls;\n}\n";
17
18
  var getInfrastructureFiles = function (options) {
18
19
  if (options === void 0) { options = {}; }
19
20
  return ({
@@ -24,7 +25,8 @@ var getInfrastructureFiles = function (options) {
24
25
  "GameStage.js": exports.GAME_STAGE_JS,
25
26
  "wrapSpriteClass.js": exports.WRAP_SPRITE_CLASS_JS,
26
27
  "wrapStageClass.js": exports.WRAP_STAGE_CLASS_JS,
28
+ "registrationRuntime.js": exports.REGISTRATION_RUNTIME_JS,
27
29
  });
28
30
  };
29
31
  exports.getInfrastructureFiles = getInfrastructureFiles;
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mcmFzdHJ1Y3R1cmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW8vbGVvcGFyZC9pbmZyYXN0cnVjdHVyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7OztHQUdHOzs7QUFNSCxJQUFNLHNCQUFzQixHQUFHLGtGQUFrRixDQUFDO0FBRXJHLFFBQUEsVUFBVSxHQUFHLHFzQkF3QnpCLENBQUM7QUFFVyxRQUFBLGNBQWMsR0FBRyxxa0lBcUg3QixDQUFDO0FBRVcsUUFBQSxhQUFhLEdBQUcsNHpHQW9INUIsQ0FBQztBQUVXLFFBQUEsb0JBQW9CLEdBQUcsNDhCQWlDbkMsQ0FBQztBQUVXLFFBQUEsbUJBQW1CLEdBQUcsK2tCQXNCbEMsQ0FBQztBQUVLLElBQU0sWUFBWSxHQUFHLFVBQUMsYUFBc0IsSUFBSyxPQUFBLHFPQUl2RCxFQUp1RCxDQUl2RCxDQUFDO0FBSlcsUUFBQSxZQUFZLGdCQUl2QjtBQUVXLFFBQUEsZUFBZSxHQUFHLG1vVUEraEI5QixDQUFDO0FBRUssSUFBTSxzQkFBc0IsR0FBRyxVQUFDLE9BQW1DO0lBQW5DLHdCQUFBLEVBQUEsWUFBbUM7SUFBSyxPQUFBLENBQUM7UUFDOUUsWUFBWSxFQUFFLElBQUEsb0JBQVksRUFBQyxPQUFPLENBQUMsWUFBWSxDQUFDO1FBQ2hELFlBQVksRUFBRSxrQkFBVTtRQUN4QixnQkFBZ0IsRUFBRSx1QkFBZTtRQUNqQyxlQUFlLEVBQUUsc0JBQWM7UUFDL0IsY0FBYyxFQUFFLHFCQUFhO1FBQzdCLG9CQUFvQixFQUFFLDRCQUFvQjtRQUMxQyxtQkFBbUIsRUFBRSwyQkFBbUI7S0FDekMsQ0FBQztBQVI2RSxDQVE3RSxDQUFDO0FBUlUsUUFBQSxzQkFBc0IsMEJBUWhDIn0=
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mcmFzdHJ1Y3R1cmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW8vbGVvcGFyZC9pbmZyYXN0cnVjdHVyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7OztHQUdHOzs7QUFNSCxJQUFNLHNCQUFzQixHQUFHLGtGQUFrRixDQUFDO0FBRXJHLFFBQUEsVUFBVSxHQUFHLHFzQkF3QnpCLENBQUM7QUFFVyxRQUFBLGNBQWMsR0FBRyxxa0lBcUg3QixDQUFDO0FBRVcsUUFBQSxhQUFhLEdBQUcsNHpHQW9INUIsQ0FBQztBQUVXLFFBQUEsb0JBQW9CLEdBQUcsNDhCQWlDbkMsQ0FBQztBQUVXLFFBQUEsbUJBQW1CLEdBQUcsK2tCQXNCbEMsQ0FBQztBQUVLLElBQU0sWUFBWSxHQUFHLFVBQUMsYUFBc0IsSUFBSyxPQUFBLHFPQUl2RCxFQUp1RCxDQUl2RCxDQUFDO0FBSlcsUUFBQSxZQUFZLGdCQUl2QjtBQUVXLFFBQUEsZUFBZSxHQUFHLGlnVUF1aEI5QixDQUFDO0FBRVcsUUFBQSx1QkFBdUIsR0FBRywrcUJBc0J0QyxDQUFDO0FBRUssSUFBTSxzQkFBc0IsR0FBRyxVQUFDLE9BQW1DO0lBQW5DLHdCQUFBLEVBQUEsWUFBbUM7SUFBSyxPQUFBLENBQUM7UUFDOUUsWUFBWSxFQUFFLElBQUEsb0JBQVksRUFBQyxPQUFPLENBQUMsWUFBWSxDQUFDO1FBQ2hELFlBQVksRUFBRSxrQkFBVTtRQUN4QixnQkFBZ0IsRUFBRSx1QkFBZTtRQUNqQyxlQUFlLEVBQUUsc0JBQWM7UUFDL0IsY0FBYyxFQUFFLHFCQUFhO1FBQzdCLG9CQUFvQixFQUFFLDRCQUFvQjtRQUMxQyxtQkFBbUIsRUFBRSwyQkFBbUI7UUFDeEMsd0JBQXdCLEVBQUUsK0JBQXVCO0tBQ2xELENBQUM7QUFUNkUsQ0FTN0UsQ0FBQztBQVRVLFFBQUEsc0JBQXNCLDBCQVNoQyJ9
@@ -980,12 +980,12 @@ function toLeopard(project, inOptions, prettierConfig) {
980
980
  var num = inputToJS(block.inputs.NUM, InputShape.Number);
981
981
  switch (block.inputs.FORWARD_BACKWARD.value) {
982
982
  case "forward": {
983
- blockSource = num === "1" ? "moveForward()" : "moveForwardLayers(".concat(num, ")");
983
+ blockSource = num === "1" ? "moveForward()" : "moveForward(".concat(num, ")");
984
984
  break;
985
985
  }
986
986
  case "backward":
987
987
  default: {
988
- blockSource = num === "1" ? "moveBackward()" : "moveBackwardLayers(".concat(num, ")");
988
+ blockSource = num === "1" ? "moveBackward()" : "moveBackward(".concat(num, ")");
989
989
  break;
990
990
  }
991
991
  }
@@ -2242,4 +2242,4 @@ function toLeopard(project, inOptions, prettierConfig) {
2242
2242
  });
2243
2243
  }
2244
2244
  exports.default = toLeopard;
2245
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9MZW9wYXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2lvL2xlb3BhcmQvdG9MZW9wYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJQSx1Q0FBc0M7QUFFdEMsaURBQXFDO0FBRXJDLG1DQUE0QztBQUM1QywwQ0FBK0c7QUFHL0csOENBQWlGO0FBQ2pGLG1EQUF5STtBQUV6STs7Ozs7Ozs7O0dBU0c7QUFDSCxJQUFNLGlCQUFpQixHQUFHO0lBQ3hCLFdBQVc7SUFDWCxPQUFPO0lBQ1AsT0FBTztJQUNQLE1BQU07SUFDTixPQUFPO0lBQ1AsT0FBTztJQUNQLE9BQU87SUFDUCxVQUFVO0lBQ1YsVUFBVTtJQUNWLFNBQVM7SUFDVCxRQUFRO0lBQ1IsSUFBSTtJQUNKLE1BQU07SUFDTixNQUFNO0lBQ04sTUFBTTtJQUNOLFFBQVE7SUFDUixTQUFTO0lBQ1QsT0FBTztJQUNQLFNBQVM7SUFDVCxLQUFLO0lBQ0wsVUFBVTtJQUNWLElBQUk7SUFDSixZQUFZO0lBQ1osUUFBUTtJQUNSLElBQUk7SUFDSixZQUFZO0lBQ1osV0FBVztJQUNYLEtBQUs7SUFDTCxLQUFLO0lBQ0wsTUFBTTtJQUNOLFNBQVM7SUFDVCxTQUFTO0lBQ1QsV0FBVztJQUNYLFFBQVE7SUFDUixRQUFRO0lBQ1IsUUFBUTtJQUNSLE9BQU87SUFDUCxRQUFRO0lBQ1IsTUFBTTtJQUNOLE9BQU87SUFDUCxNQUFNO0lBQ04sS0FBSztJQUNMLFFBQVE7SUFDUixPQUFPO0lBQ1AsS0FBSztJQUNMLE1BQU07SUFDTixPQUFPO0lBQ1AsTUFBTTtDQUNQLENBQUM7QUFFRjs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsSUFBTSw2QkFBNkIsR0FBRztJQUNwQyx5QkFBeUI7SUFDekIsVUFBVTtJQUNWLEtBQUs7SUFFTCwr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
2245
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9MZW9wYXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2lvL2xlb3BhcmQvdG9MZW9wYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJQSx1Q0FBc0M7QUFFdEMsaURBQXFDO0FBRXJDLG1DQUE0QztBQUM1QywwQ0FBK0c7QUFHL0csOENBQWlGO0FBQ2pGLG1EQUF5STtBQUV6STs7Ozs7Ozs7O0dBU0c7QUFDSCxJQUFNLGlCQUFpQixHQUFHO0lBQ3hCLFdBQVc7SUFDWCxPQUFPO0lBQ1AsT0FBTztJQUNQLE1BQU07SUFDTixPQUFPO0lBQ1AsT0FBTztJQUNQLE9BQU87SUFDUCxVQUFVO0lBQ1YsVUFBVTtJQUNWLFNBQVM7SUFDVCxRQUFRO0lBQ1IsSUFBSTtJQUNKLE1BQU07SUFDTixNQUFNO0lBQ04sTUFBTTtJQUNOLFFBQVE7SUFDUixTQUFTO0lBQ1QsT0FBTztJQUNQLFNBQVM7SUFDVCxLQUFLO0lBQ0wsVUFBVTtJQUNWLElBQUk7SUFDSixZQUFZO0lBQ1osUUFBUTtJQUNSLElBQUk7SUFDSixZQUFZO0lBQ1osV0FBVztJQUNYLEtBQUs7SUFDTCxLQUFLO0lBQ0wsTUFBTTtJQUNOLFNBQVM7SUFDVCxTQUFTO0lBQ1QsV0FBVztJQUNYLFFBQVE7SUFDUixRQUFRO0lBQ1IsUUFBUTtJQUNSLE9BQU87SUFDUCxRQUFRO0lBQ1IsTUFBTTtJQUNOLE9BQU87SUFDUCxNQUFNO0lBQ04sS0FBSztJQUNMLFFBQVE7SUFDUixPQUFPO0lBQ1AsS0FBSztJQUNMLE1BQU07SUFDTixPQUFPO0lBQ1AsTUFBTTtDQUNQLENBQUM7QUFFRjs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsSUFBTSw2QkFBNkIsR0FBRztJQUNwQyx5QkFBeUI7SUFDekIsVUFBVTtJQUNWLEtBQUs7SUFFTCwr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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sb-edit-custom",
3
- "version": "0.20.126",
3
+ "version": "0.20.128",
4
4
  "description": "Import, edit, and export Scratch project files",
5
5
  "keywords": [
6
6
  "Scratch",