<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>VirtualMachine - Documentation</title> <script src="scripts/prettify/prettify.js"></script> <script src="scripts/prettify/lang-css.js"></script> <!--[if lt IE 9]> <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <link type="text/css" rel="stylesheet" href="styles/prettify.css"> <link type="text/css" rel="stylesheet" href="styles/jsdoc.css"> <script src="scripts/nav.js" defer></script> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body> <input type="checkbox" id="nav-trigger" class="nav-trigger" /> <label for="nav-trigger" class="navicon-button x"> <div class="navicon"></div> </label> <label for="nav-trigger" class="overlay"></label> <nav > <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="-_StackFrame.html">_StackFrame</a><ul class='methods'><li data-type='method'><a href="-_StackFrame.html#.create">create</a></li><li data-type='method'><a href="-_StackFrame.html#.release">release</a></li><li data-type='method'><a href="-_StackFrame.html#reset">reset</a></li><li data-type='method'><a href="-_StackFrame.html#reuse">reuse</a></li></ul></li><li><a href="BLE.html">BLE</a><ul class='methods'><li data-type='method'><a href="BLE.html#connectPeripheral">connectPeripheral</a></li><li data-type='method'><a href="BLE.html#didReceiveCall">didReceiveCall</a></li><li data-type='method'><a href="BLE.html#disconnect">disconnect</a></li><li data-type='method'><a href="BLE.html#handleDisconnectError">handleDisconnectError</a></li><li data-type='method'><a href="BLE.html#isConnected">isConnected</a></li><li data-type='method'><a href="BLE.html#read">read</a></li><li data-type='method'><a href="BLE.html#requestPeripheral">requestPeripheral</a></li><li data-type='method'><a href="BLE.html#startNotifications">startNotifications</a></li><li data-type='method'><a href="BLE.html#write">write</a></li></ul></li><li><a href="BlockCached.html">BlockCached</a></li><li><a href="Blocks.html">Blocks</a><ul class='methods'><li data-type='method'><a href="Blocks.html#_addScript">_addScript</a></li><li data-type='method'><a href="Blocks.html#_deleteScript">_deleteScript</a></li><li data-type='method'><a href="Blocks.html#_getBackdropField">_getBackdropField</a></li><li data-type='method'><a href="Blocks.html#_getBlockParams">_getBlockParams</a></li><li data-type='method'><a href="Blocks.html#_getCostumeField">_getCostumeField</a></li><li data-type='method'><a href="Blocks.html#_getCustomBlockInternal">_getCustomBlockInternal</a></li><li data-type='method'><a href="Blocks.html#_getSoundField">_getSoundField</a></li><li data-type='method'><a href="Blocks.html#_getSpriteField">_getSpriteField</a></li><li data-type='method'><a href="Blocks.html#blocklyListen">blocklyListen</a></li><li data-type='method'><a href="Blocks.html#blockToXML">blockToXML</a></li><li data-type='method'><a href="Blocks.html#changeBlock">changeBlock</a></li><li data-type='method'><a href="Blocks.html#createBlock">createBlock</a></li><li data-type='method'><a href="Blocks.html#deleteBlock">deleteBlock</a></li><li data-type='method'><a href="Blocks.html#emitProjectChanged">emitProjectChanged</a></li><li data-type='method'><a href="Blocks.html#getAllVariableAndListReferences">getAllVariableAndListReferences</a></li><li data-type='method'><a href="Blocks.html#getBlock">getBlock</a></li><li data-type='method'><a href="Blocks.html#getBranch">getBranch</a></li><li data-type='method'><a href="Blocks.html#getFields">getFields</a></li><li data-type='method'><a href="Blocks.html#getInputs">getInputs</a></li><li data-type='method'><a href="Blocks.html#getMutation">getMutation</a></li><li data-type='method'><a href="Blocks.html#getNextBlock">getNextBlock</a></li><li data-type='method'><a href="Blocks.html#getOpcode">getOpcode</a></li><li data-type='method'><a href="Blocks.html#getProcedureDefinition">getProcedureDefinition</a></li><li data-type='method'><a href="Blocks.html#getProcedureParamNamesAndIds">getProcedureParamNamesAndIds</a></li><li data-type='method'><a href="Blocks.html#getProcedureParamNamesIdsAndDefaults">getProcedureParamNamesIdsAndDefaults</a></li><li data-type='method'><a href="Blocks.html#getScripts">getScripts</a></li><li data-type='method'><a href="Blocks.html#getTopLevelScript">getTopLevelScript</a></li><li data-type='method'><a href="Blocks.html#moveBlock">moveBlock</a></li><li data-type='method'><a href="Blocks.html#mutationToXML">mutationToXML</a></li><li data-type='method'><a href="Blocks.html#resetCache">resetCache</a></li><li data-type='method'><a href="Blocks.html#runAllMonitored">runAllMonitored</a></li><li data-type='method'><a href="Blocks.html#toXML">toXML</a></li><li data-type='method'><a href="Blocks.html#updateAssetName">updateAssetName</a></li><li data-type='method'><a href="Blocks.html#updateBlocksAfterVarRename">updateBlocksAfterVarRename</a></li><li data-type='method'><a href="Blocks.html#updateTargetSpecificBlocks">updateTargetSpecificBlocks</a></li></ul></li><li><a href="Boost.html">Boost</a><ul class='methods'><li data-type='method'><a href="Boost.html#_clearPort">_clearPort</a></li><li data-type='method'><a href="Boost.html#_onConnect">_onConnect</a></li><li data-type='method'><a href="Boost.html#_onMessage">_onMessage</a></li><li data-type='method'><a href="Boost.html#_pingDevice">_pingDevice</a></li><li data-type='method'><a href="Boost.html#_registerSensorOrMotor">_registerSensorOrMotor</a></li><li data-type='method'><a href="Boost.html#boostColorForIndex">boostColorForIndex</a></li><li data-type='method'><a href="Boost.html#connect">connect</a></li><li data-type='method'><a href="Boost.html#disconnect">disconnect</a></li><li data-type='method'><a href="Boost.html#generateInputCommand">generateInputCommand</a></li><li data-type='method'><a href="Boost.html#generateOutputCommand">generateOutputCommand</a></li><li data-type='method'><a href="Boost.html#isConnected">isConnected</a></li><li data-type='method'><a href="Boost.html#motor">motor</a></li><li data-type='method'><a href="Boost.html#reset">reset</a></li><li data-type='method'><a href="Boost.html#scan">scan</a></li><li data-type='method'><a href="Boost.html#send">send</a></li><li data-type='method'><a href="Boost.html#setLED">setLED</a></li><li data-type='method'><a href="Boost.html#setLEDMode">setLEDMode</a></li><li data-type='method'><a href="Boost.html#stopAll">stopAll</a></li><li data-type='method'><a href="Boost.html#stopAllMotors">stopAllMotors</a></li></ul></li><li><a href="BoostMotor.html">BoostMotor</a><ul class='methods'><li data-type='method'><a href="BoostMotor.html#_clearDurationTimeout">_clearDurationTimeout</a></li><li data-type='method'><a href="BoostMotor.html#_clearRotationState">_clearRotationState</a></li><li data-type='method'><a href="BoostMotor.html#_setNewDurationTimeout">_setNewDurationTimeout</a></li><li data-type='method'><a href="BoostMotor.html#_turnOn">_turnOn</a></li><li data-type='method'><a href="BoostMotor.html#turnOff">turnOff</a></li><li data-type='method'><a href="BoostMotor.html#turnOnFor">turnOnFor</a></li><li data-type='method'><a href="BoostMotor.html#turnOnForDegrees">turnOnForDegrees</a></li><li data-type='method'><a href="BoostMotor.html#turnOnForever">turnOnForever</a></li></ul></li><li><a href="BT.html">BT</a><ul class='methods'><li data-type='method'><a href="BT.html#connectPeripheral">connectPeripheral</a></li><li data-type='method'><a href="BT.html#didReceiveCall">didReceiveCall</a></li><li data-type='method'><a href="BT.html#disconnect">disconnect</a></li><li data-type='method'><a href="BT.html#handleDisconnectError">handleDisconnectError</a></li><li data-type='method'><a href="BT.html#isConnected">isConnected</a></li><li data-type='method'><a href="BT.html#requestPeripheral">requestPeripheral</a></li></ul></li><li><a href="CanvasPool.html">CanvasPool</a><ul class='methods'><li data-type='method'><a href="CanvasPool.html#clear">clear</a></li><li data-type='method'><a href="CanvasPool.html#create">create</a></li><li data-type='method'><a href="CanvasPool.html#release">release</a></li></ul></li><li><a href="CentralDispatch.html">CentralDispatch</a><ul class='methods'><li data-type='method'><a href="CentralDispatch.html#_getServiceProvider">_getServiceProvider</a></li><li data-type='method'><a href="CentralDispatch.html#_onDispatchMessage">_onDispatchMessage</a></li><li data-type='method'><a href="CentralDispatch.html#addWorker">addWorker</a></li><li data-type='method'><a href="CentralDispatch.html#callSync">callSync</a></li><li data-type='method'><a href="CentralDispatch.html#setService">setService</a></li><li data-type='method'><a href="CentralDispatch.html#setServiceSync">setServiceSync</a></li></ul></li><li><a href="Clone.html">Clone</a><ul class='methods'><li data-type='method'><a href="Clone.html#.simple">simple</a></li></ul></li><li><a href="Cloud.html">Cloud</a><ul class='methods'><li data-type='method'><a href="Cloud.html#clear">clear</a></li><li data-type='method'><a href="Cloud.html#postData">postData</a></li><li data-type='method'><a href="Cloud.html#requestDeleteVariable">requestDeleteVariable</a></li><li data-type='method'><a href="Cloud.html#requestRenameVariable">requestRenameVariable</a></li><li data-type='method'><a href="Cloud.html#requestUpdateVariable">requestUpdateVariable</a></li><li data-type='method'><a href="Cloud.html#setProvider">setProvider</a></li><li data-type='method'><a href="Cloud.html#setStage">setStage</a></li><li data-type='method'><a href="Cloud.html#updateCloudVariable">updateCloudVariable</a></li></ul></li><li><a href="Comment.html">Comment</a></li><li><a href="EV3Motor.html">EV3Motor</a><ul class='methods'><li data-type='method'><a href="EV3Motor.html#_portMask">_portMask</a></li><li data-type='method'><a href="EV3Motor.html#_runValues">_runValues</a></li><li data-type='method'><a href="EV3Motor.html#coast">coast</a></li><li data-type='method'><a href="EV3Motor.html#coastAfter">coastAfter</a></li><li data-type='method'><a href="EV3Motor.html#turnOnFor">turnOnFor</a></li></ul></li><li><a href="GdxFor.html">GdxFor</a><ul class='methods'><li data-type='method'><a href="GdxFor.html#_onConnect">_onConnect</a></li><li data-type='method'><a href="GdxFor.html#_onSensorValueChanged">_onSensorValueChanged</a></li><li data-type='method'><a href="GdxFor.html#connect">connect</a></li><li data-type='method'><a href="GdxFor.html#disconnect">disconnect</a></li><li data-type='method'><a href="GdxFor.html#isConnected">isConnected</a></li><li data-type='method'><a href="GdxFor.html#reset">reset</a></li><li data-type='method'><a href="GdxFor.html#scan">scan</a></li></ul></li><li><a href="MicroBit.html">MicroBit</a><ul class='methods'><li data-type='method'><a href="MicroBit.html#_checkPinState">_checkPinState</a></li><li data-type='method'><a href="MicroBit.html#_onConnect">_onConnect</a></li><li data-type='method'><a href="MicroBit.html#_onMessage">_onMessage</a></li><li data-type='method'><a href="MicroBit.html#connect">connect</a></li><li data-type='method'><a href="MicroBit.html#disconnect">disconnect</a></li><li data-type='method'><a href="MicroBit.html#displayMatrix">displayMatrix</a></li><li data-type='method'><a href="MicroBit.html#displayText">displayText</a></li><li data-type='method'><a href="MicroBit.html#isConnected">isConnected</a></li><li data-type='method'><a href="MicroBit.html#reset">reset</a></li><li data-type='method'><a href="MicroBit.html#scan">scan</a></li><li data-type='method'><a href="MicroBit.html#send">send</a></li></ul></li><li><a href="Profiler.html">Profiler</a><ul class='methods'><li data-type='method'><a href="Profiler.html#.available">available</a></li><li data-type='method'><a href="Profiler.html#.idByName">idByName</a></li><li data-type='method'><a href="Profiler.html#.nameById">nameById</a></li><li data-type='method'><a href="Profiler.html#frame">frame</a></li><li data-type='method'><a href="Profiler.html#idByName">idByName</a></li><li data-type='method'><a href="Profiler.html#increment">increment</a></li><li data-type='method'><a href="Profiler.html#nameById">nameById</a></li><li data-type='method'><a href="Profiler.html#reportFrames">reportFrames</a></li><li data-type='method'><a href="Profiler.html#start">start</a></li><li data-type='method'><a href="Profiler.html#stop">stop</a></li></ul></li><li><a href="ProfilerFrame.html">ProfilerFrame</a></li><li><a href="RateLimiter.html">RateLimiter</a><ul class='methods'><li data-type='method'><a href="RateLimiter.html#okayToSend">okayToSend</a></li></ul></li><li><a href="RenderedTarget.html">RenderedTarget</a><ul class='methods'><li data-type='method'><a href="RenderedTarget.html#_getRenderedDirectionAndScale">_getRenderedDirectionAndScale</a></li><li data-type='method'><a href="RenderedTarget.html#addCostume">addCostume</a></li><li data-type='method'><a href="RenderedTarget.html#addSound">addSound</a></li><li data-type='method'><a href="RenderedTarget.html#clearEffects">clearEffects</a></li><li data-type='method'><a href="RenderedTarget.html#colorIsTouchingColor">colorIsTouchingColor</a></li><li data-type='method'><a href="RenderedTarget.html#deleteCostume">deleteCostume</a></li><li data-type='method'><a href="RenderedTarget.html#deleteSound">deleteSound</a></li><li data-type='method'><a href="RenderedTarget.html#dispose">dispose</a></li><li data-type='method'><a href="RenderedTarget.html#duplicate">duplicate</a></li><li data-type='method'><a href="RenderedTarget.html#getBounds">getBounds</a></li><li data-type='method'><a href="RenderedTarget.html#getBoundsForBubble">getBoundsForBubble</a></li><li data-type='method'><a href="RenderedTarget.html#getCostumeIndexByName">getCostumeIndexByName</a></li><li data-type='method'><a href="RenderedTarget.html#getCostumes">getCostumes</a></li><li data-type='method'><a href="RenderedTarget.html#getCurrentCostume">getCurrentCostume</a></li><li data-type='method'><a href="RenderedTarget.html#getName">getName</a></li><li data-type='method'><a href="RenderedTarget.html#getSounds">getSounds</a></li><li data-type='method'><a href="RenderedTarget.html#goBackwardLayers">goBackwardLayers</a></li><li data-type='method'><a href="RenderedTarget.html#goBehindOther">goBehindOther</a></li><li data-type='method'><a href="RenderedTarget.html#goForwardLayers">goForwardLayers</a></li><li data-type='method'><a href="RenderedTarget.html#goToBack">goToBack</a></li><li data-type='method'><a href="RenderedTarget.html#goToFront">goToFront</a></li><li data-type='method'><a href="RenderedTarget.html#initAudio">initAudio</a></li><li data-type='method'><a href="RenderedTarget.html#initDrawable">initDrawable</a></li><li data-type='method'><a href="RenderedTarget.html#isSprite">isSprite</a></li><li data-type='method'><a href="RenderedTarget.html#isTouchingColor">isTouchingColor</a></li><li data-type='method'><a href="RenderedTarget.html#isTouchingEdge">isTouchingEdge</a></li><li data-type='method'><a href="RenderedTarget.html#isTouchingObject">isTouchingObject</a></li><li data-type='method'><a href="RenderedTarget.html#isTouchingPoint">isTouchingPoint</a></li><li data-type='method'><a href="RenderedTarget.html#isTouchingSprite">isTouchingSprite</a></li><li data-type='method'><a href="RenderedTarget.html#keepInFence">keepInFence</a></li><li data-type='method'><a href="RenderedTarget.html#makeClone">makeClone</a></li><li data-type='method'><a href="RenderedTarget.html#onGreenFlag">onGreenFlag</a></li><li data-type='method'><a href="RenderedTarget.html#onStopAll">onStopAll</a></li><li data-type='method'><a href="RenderedTarget.html#postSpriteInfo">postSpriteInfo</a></li><li data-type='method'><a href="RenderedTarget.html#renameCostume">renameCostume</a></li><li data-type='method'><a href="RenderedTarget.html#renameSound">renameSound</a></li><li data-type='method'><a href="RenderedTarget.html#reorderCostume">reorderCostume</a></li><li data-type='method'><a href="RenderedTarget.html#reorderSound">reorderSound</a></li><li data-type='method'><a href="RenderedTarget.html#setCostume">setCostume</a></li><li data-type='method'><a href="RenderedTarget.html#setDirection">setDirection</a></li><li data-type='method'><a href="RenderedTarget.html#setDraggable">setDraggable</a></li><li data-type='method'><a href="RenderedTarget.html#setEffect">setEffect</a></li><li data-type='method'><a href="RenderedTarget.html#setRotationStyle">setRotationStyle</a></li><li data-type='method'><a href="RenderedTarget.html#setSay">setSay</a></li><li data-type='method'><a href="RenderedTarget.html#setSize">setSize</a></li><li data-type='method'><a href="RenderedTarget.html#setVisible">setVisible</a></li><li data-type='method'><a href="RenderedTarget.html#setXY">setXY</a></li><li data-type='method'><a href="RenderedTarget.html#startDrag">startDrag</a></li><li data-type='method'><a href="RenderedTarget.html#stopDrag">stopDrag</a></li><li data-type='method'><a href="RenderedTarget.html#toJSON">toJSON</a></li><li data-type='method'><a href="RenderedTarget.html#updateAllDrawableProperties">updateAllDrawableProperties</a></li></ul></li><li><a href="Runtime.html">Runtime</a><ul class='methods'><li data-type='method'><a href="Runtime.html#_buildCustomFieldTypeForScratchBlocks">_buildCustomFieldTypeForScratchBlocks</a></li><li data-type='method'><a href="Runtime.html#_buildMenuForScratchBlocks">_buildMenuForScratchBlocks</a></li><li data-type='method'><a href="Runtime.html#_constructInlineImageJson">_constructInlineImageJson</a></li><li data-type='method'><a href="Runtime.html#_convertBlockForScratchBlocks">_convertBlockForScratchBlocks</a></li><li data-type='method'><a href="Runtime.html#_convertButtonForScratchBlocks">_convertButtonForScratchBlocks</a></li><li data-type='method'><a href="Runtime.html#_convertForScratchBlocks">_convertForScratchBlocks</a></li><li data-type='method'><a href="Runtime.html#_convertMenuItems">_convertMenuItems</a></li><li data-type='method'><a href="Runtime.html#_convertPlaceholders">_convertPlaceholders</a></li><li data-type='method'><a href="Runtime.html#_convertSeparatorForScratchBlocks">_convertSeparatorForScratchBlocks</a></li><li data-type='method'><a href="Runtime.html#_defaultScratchLinkSocketFactory">_defaultScratchLinkSocketFactory</a></li><li data-type='method'><a href="Runtime.html#_emitProjectRunStatus">_emitProjectRunStatus</a></li><li data-type='method'><a href="Runtime.html#_fillExtensionCategory">_fillExtensionCategory</a></li><li data-type='method'><a href="Runtime.html#_getMonitorThreadCount">_getMonitorThreadCount</a></li><li data-type='method'><a href="Runtime.html#_makeExtensionMenuId">_makeExtensionMenuId</a></li><li data-type='method'><a href="Runtime.html#_pushMonitors">_pushMonitors</a></li><li data-type='method'><a href="Runtime.html#_pushThread">_pushThread</a></li><li data-type='method'><a href="Runtime.html#_refreshExtensionPrimitives">_refreshExtensionPrimitives</a></li><li data-type='method'><a href="Runtime.html#_registerBlockPackages">_registerBlockPackages</a></li><li data-type='method'><a href="Runtime.html#_registerExtensionPrimitives">_registerExtensionPrimitives</a></li><li data-type='method'><a href="Runtime.html#_restartThread">_restartThread</a></li><li data-type='method'><a href="Runtime.html#_step">_step</a></li><li data-type='method'><a href="Runtime.html#_stopThread">_stopThread</a></li><li data-type='method'><a href="Runtime.html#_updateGlows">_updateGlows</a></li><li data-type='method'><a href="Runtime.html#addMonitorScript">addMonitorScript</a></li><li data-type='method'><a href="Runtime.html#addTarget">addTarget</a></li><li data-type='method'><a href="Runtime.html#allScriptsDo">allScriptsDo</a></li><li data-type='method'><a href="Runtime.html#attachAudioEngine">attachAudioEngine</a></li><li data-type='method'><a href="Runtime.html#attachRenderer">attachRenderer</a></li><li data-type='method'><a href="Runtime.html#attachStorage">attachStorage</a></li><li data-type='method'><a href="Runtime.html#attachV2BitmapAdapter">attachV2BitmapAdapter</a></li><li data-type='method'><a href="Runtime.html#attachV2SVGAdapter">attachV2SVGAdapter</a></li><li data-type='method'><a href="Runtime.html#changeCloneCounter">changeCloneCounter</a></li><li data-type='method'><a href="Runtime.html#clonesAvailable">clonesAvailable</a></li><li data-type='method'><a href="Runtime.html#configureScratchLinkSocketFactory">configureScratchLinkSocketFactory</a></li><li data-type='method'><a href="Runtime.html#connectPeripheral">connectPeripheral</a></li><li data-type='method'><a href="Runtime.html#createNewGlobalVariable">createNewGlobalVariable</a></li><li data-type='method'><a href="Runtime.html#disableProfiling">disableProfiling</a></li><li data-type='method'><a href="Runtime.html#disconnectPeripheral">disconnectPeripheral</a></li><li data-type='method'><a href="Runtime.html#dispose">dispose</a></li><li data-type='method'><a href="Runtime.html#disposeTarget">disposeTarget</a></li><li data-type='method'><a href="Runtime.html#emitBlockDragUpdate">emitBlockDragUpdate</a></li><li data-type='method'><a href="Runtime.html#emitBlockEndDrag">emitBlockEndDrag</a></li><li data-type='method'><a href="Runtime.html#emitMicListening">emitMicListening</a></li><li data-type='method'><a href="Runtime.html#emitProjectChanged">emitProjectChanged</a></li><li data-type='method'><a href="Runtime.html#emitProjectLoaded">emitProjectLoaded</a></li><li data-type='method'><a href="Runtime.html#enableProfiling">enableProfiling</a></li><li data-type='method'><a href="Runtime.html#fireTargetWasCreated">fireTargetWasCreated</a></li><li data-type='method'><a href="Runtime.html#fireTargetWasRemoved">fireTargetWasRemoved</a></li><li data-type='method'><a href="Runtime.html#getBlocksJSON">getBlocksJSON</a></li><li data-type='method'><a href="Runtime.html#getBlocksXML">getBlocksXML</a></li><li data-type='method'><a href="Runtime.html#getEditingTarget">getEditingTarget</a></li><li data-type='method'><a href="Runtime.html#getIsEdgeActivatedHat">getIsEdgeActivatedHat</a></li><li data-type='method'><a href="Runtime.html#getIsHat">getIsHat</a></li><li data-type='method'><a href="Runtime.html#getLabelForOpcode">getLabelForOpcode</a></li><li data-type='method'><a href="Runtime.html#getOpcodeFunction">getOpcodeFunction</a></li><li data-type='method'><a href="Runtime.html#getPeripheralIsConnected">getPeripheralIsConnected</a></li><li data-type='method'><a href="Runtime.html#getScratchLinkSocket">getScratchLinkSocket</a></li><li data-type='method'><a href="Runtime.html#getSpriteTargetByName">getSpriteTargetByName</a></li><li data-type='method'><a href="Runtime.html#getTargetByDrawableId">getTargetByDrawableId</a></li><li data-type='method'><a href="Runtime.html#getTargetById">getTargetById</a></li><li data-type='method'><a href="Runtime.html#getTargetForStage">getTargetForStage</a></li><li data-type='method'><a href="Runtime.html#glowBlock">glowBlock</a></li><li data-type='method'><a href="Runtime.html#glowScript">glowScript</a></li><li data-type='method'><a href="Runtime.html#greenFlag">greenFlag</a></li><li data-type='method'><a href="Runtime.html#isActiveThread">isActiveThread</a></li><li data-type='method'><a href="Runtime.html#isWaitingThread">isWaitingThread</a></li><li data-type='method'><a href="Runtime.html#makeMessageContextForTarget">makeMessageContextForTarget</a></li><li data-type='method'><a href="Runtime.html#moveExecutable">moveExecutable</a></li><li data-type='method'><a href="Runtime.html#quietGlow">quietGlow</a></li><li data-type='method'><a href="Runtime.html#registerPeripheralExtension">registerPeripheralExtension</a></li><li data-type='method'><a href="Runtime.html#removeExecutable">removeExecutable</a></li><li data-type='method'><a href="Runtime.html#requestAddMonitor">requestAddMonitor</a></li><li data-type='method'><a href="Runtime.html#requestBlocksUpdate">requestBlocksUpdate</a></li><li data-type='method'><a href="Runtime.html#requestHideMonitor">requestHideMonitor</a></li><li data-type='method'><a href="Runtime.html#requestRedraw">requestRedraw</a></li><li data-type='method'><a href="Runtime.html#requestRemoveMonitor">requestRemoveMonitor</a></li><li data-type='method'><a href="Runtime.html#requestRemoveMonitorByTargetId">requestRemoveMonitorByTargetId</a></li><li data-type='method'><a href="Runtime.html#requestShowMonitor">requestShowMonitor</a></li><li data-type='method'><a href="Runtime.html#requestTargetsUpdate">requestTargetsUpdate</a></li><li data-type='method'><a href="Runtime.html#requestToolboxExtensionsUpdate">requestToolboxExtensionsUpdate</a></li><li data-type='method'><a href="Runtime.html#requestUpdateMonitor">requestUpdateMonitor</a></li><li data-type='method'><a href="Runtime.html#scanForPeripheral">scanForPeripheral</a></li><li data-type='method'><a href="Runtime.html#setCompatibilityMode">setCompatibilityMode</a></li><li data-type='method'><a href="Runtime.html#setEditingTarget">setEditingTarget</a></li><li data-type='method'><a href="Runtime.html#setExecutablePosition">setExecutablePosition</a></li><li data-type='method'><a href="Runtime.html#start">start</a></li><li data-type='method'><a href="Runtime.html#startHats">startHats</a></li><li data-type='method'><a href="Runtime.html#stopAll">stopAll</a></li><li data-type='method'><a href="Runtime.html#stopForTarget">stopForTarget</a></li><li data-type='method'><a href="Runtime.html#toggleScript">toggleScript</a></li><li data-type='method'><a href="Runtime.html#updateCurrentMSecs">updateCurrentMSecs</a></li><li data-type='method'><a href="Runtime.html#visualReport">visualReport</a></li></ul></li><li><a href="global.html#RuntimeScriptCache">RuntimeScriptCache</a></li><li><a href="Scratch3BoostBlocks.html">Scratch3BoostBlocks</a><ul class='methods'><li data-type='method'><a href="Scratch3BoostBlocks.html#_forEachMotor">_forEachMotor</a></li><li data-type='method'><a href="Scratch3BoostBlocks.html#_getTiltAngle">_getTiltAngle</a></li><li data-type='method'><a href="Scratch3BoostBlocks.html#_isTilted">_isTilted</a></li><li data-type='method'><a href="Scratch3BoostBlocks.html#getInfo">getInfo</a></li><li data-type='method'><a href="Scratch3BoostBlocks.html#getMotorPosition">getMotorPosition</a></li><li data-type='method'><a href="Scratch3BoostBlocks.html#getTiltAngle">getTiltAngle</a></li><li data-type='method'><a href="Scratch3BoostBlocks.html#isTilted">isTilted</a></li><li data-type='method'><a href="Scratch3BoostBlocks.html#motorOff">motorOff</a></li><li data-type='method'><a href="Scratch3BoostBlocks.html#motorOn">motorOn</a></li><li data-type='method'><a href="Scratch3BoostBlocks.html#motorOnFor">motorOnFor</a></li><li data-type='method'><a href="Scratch3BoostBlocks.html#motorOnForRotation">motorOnForRotation</a></li><li data-type='method'><a href="Scratch3BoostBlocks.html#seeingColor">seeingColor</a></li><li data-type='method'><a href="Scratch3BoostBlocks.html#setLightHue">setLightHue</a></li><li data-type='method'><a href="Scratch3BoostBlocks.html#setMotorDirection">setMotorDirection</a></li><li data-type='method'><a href="Scratch3BoostBlocks.html#setMotorPower">setMotorPower</a></li><li data-type='method'><a href="Scratch3BoostBlocks.html#whenColor">whenColor</a></li><li data-type='method'><a href="Scratch3BoostBlocks.html#whenTilted">whenTilted</a></li></ul></li><li><a href="Scratch3CoreExample.html">Scratch3CoreExample</a><ul class='methods'><li data-type='method'><a href="Scratch3CoreExample.html#exampleOpcode">exampleOpcode</a></li><li data-type='method'><a href="Scratch3CoreExample.html#getInfo">getInfo</a></li></ul></li><li><a href="Scratch3Ev3Blocks.html">Scratch3Ev3Blocks</a><ul class='methods'><li data-type='method'><a href="Scratch3Ev3Blocks.html#_forEachMotor">_forEachMotor</a></li><li data-type='method'><a href="Scratch3Ev3Blocks.html#_formatMenu">_formatMenu</a></li><li data-type='method'><a href="Scratch3Ev3Blocks.html#getInfo">getInfo</a></li></ul></li><li><a href="Scratch3GdxForBlocks.html">Scratch3GdxForBlocks</a><ul class='methods'><li data-type='method'><a href="Scratch3GdxForBlocks.html#getInfo">getInfo</a></li><li data-type='method'><a href="Scratch3GdxForBlocks.html#magnitude">magnitude</a></li></ul></li><li><a href="Scratch3MakeyMakeyBlocks.html">Scratch3MakeyMakeyBlocks</a><ul class='methods'><li data-type='method'><a href="Scratch3MakeyMakeyBlocks.html#_clearkeyPressBuffer">_clearkeyPressBuffer</a></li><li data-type='method'><a href="Scratch3MakeyMakeyBlocks.html#getInfo">getInfo</a></li></ul></li><li><a href="Scratch3MicroBitBlocks.html">Scratch3MicroBitBlocks</a><ul class='methods'><li data-type='method'><a href="Scratch3MicroBitBlocks.html#_getTiltAngle">_getTiltAngle</a></li><li data-type='method'><a href="Scratch3MicroBitBlocks.html#_isTilted">_isTilted</a></li><li data-type='method'><a href="Scratch3MicroBitBlocks.html#displayClear">displayClear</a></li><li data-type='method'><a href="Scratch3MicroBitBlocks.html#displaySymbol">displaySymbol</a></li><li data-type='method'><a href="Scratch3MicroBitBlocks.html#displayText">displayText</a></li><li data-type='method'><a href="Scratch3MicroBitBlocks.html#getInfo">getInfo</a></li><li data-type='method'><a href="Scratch3MicroBitBlocks.html#getTiltAngle">getTiltAngle</a></li><li data-type='method'><a href="Scratch3MicroBitBlocks.html#isButtonPressed">isButtonPressed</a></li><li data-type='method'><a href="Scratch3MicroBitBlocks.html#isTilted">isTilted</a></li><li data-type='method'><a href="Scratch3MicroBitBlocks.html#whenButtonPressed">whenButtonPressed</a></li><li data-type='method'><a href="Scratch3MicroBitBlocks.html#whenGesture">whenGesture</a></li><li data-type='method'><a href="Scratch3MicroBitBlocks.html#whenPinConnected">whenPinConnected</a></li><li data-type='method'><a href="Scratch3MicroBitBlocks.html#whenTilted">whenTilted</a></li></ul></li><li><a href="Scratch3MusicBlocks.html">Scratch3MusicBlocks</a><ul class='methods'><li data-type='method'><a href="Scratch3MusicBlocks.html#_beatsToSec">_beatsToSec</a></li><li data-type='method'><a href="Scratch3MusicBlocks.html#_buildMenu">_buildMenu</a></li><li data-type='method'><a href="Scratch3MusicBlocks.html#_checkStackTimer">_checkStackTimer</a></li><li data-type='method'><a href="Scratch3MusicBlocks.html#_clampBeats">_clampBeats</a></li><li data-type='method'><a href="Scratch3MusicBlocks.html#_decodeSound">_decodeSound</a></li><li data-type='method'><a href="Scratch3MusicBlocks.html#_getMusicState">_getMusicState</a></li><li data-type='method'><a href="Scratch3MusicBlocks.html#_loadAllSounds">_loadAllSounds</a></li><li data-type='method'><a href="Scratch3MusicBlocks.html#_onTargetCreated">_onTargetCreated</a></li><li data-type='method'><a href="Scratch3MusicBlocks.html#_playDrumForBeats">_playDrumForBeats</a></li><li data-type='method'><a href="Scratch3MusicBlocks.html#_playDrumNum">_playDrumNum</a></li><li data-type='method'><a href="Scratch3MusicBlocks.html#_playNote">_playNote</a></li><li data-type='method'><a href="Scratch3MusicBlocks.html#_ratioForPitchInterval">_ratioForPitchInterval</a></li><li data-type='method'><a href="Scratch3MusicBlocks.html#_selectSampleIndexForNote">_selectSampleIndexForNote</a></li><li data-type='method'><a href="Scratch3MusicBlocks.html#_setInstrument">_setInstrument</a></li><li data-type='method'><a href="Scratch3MusicBlocks.html#_stackTimerNeedsInit">_stackTimerNeedsInit</a></li><li data-type='method'><a href="Scratch3MusicBlocks.html#_startStackTimer">_startStackTimer</a></li><li data-type='method'><a href="Scratch3MusicBlocks.html#_storeSound">_storeSound</a></li><li data-type='method'><a href="Scratch3MusicBlocks.html#_updateTempo">_updateTempo</a></li><li data-type='method'><a href="Scratch3MusicBlocks.html#changeTempo">changeTempo</a></li><li data-type='method'><a href="Scratch3MusicBlocks.html#getInfo">getInfo</a></li><li data-type='method'><a href="Scratch3MusicBlocks.html#getTempo">getTempo</a></li><li data-type='method'><a href="Scratch3MusicBlocks.html#midiPlayDrumForBeats">midiPlayDrumForBeats</a></li><li data-type='method'><a href="Scratch3MusicBlocks.html#midiSetInstrument">midiSetInstrument</a></li><li data-type='method'><a href="Scratch3MusicBlocks.html#playDrumForBeats">playDrumForBeats</a></li><li data-type='method'><a href="Scratch3MusicBlocks.html#playNoteForBeats">playNoteForBeats</a></li><li data-type='method'><a href="Scratch3MusicBlocks.html#restForBeats">restForBeats</a></li><li data-type='method'><a href="Scratch3MusicBlocks.html#setInstrument">setInstrument</a></li><li data-type='method'><a href="Scratch3MusicBlocks.html#setTempo">setTempo</a></li></ul></li><li><a href="Scratch3PenBlocks.html">Scratch3PenBlocks</a><ul class='methods'><li data-type='method'><a href="Scratch3PenBlocks.html#_alphaToTransparency">_alphaToTransparency</a></li><li data-type='method'><a href="Scratch3PenBlocks.html#_clampColorParam">_clampColorParam</a></li><li data-type='method'><a href="Scratch3PenBlocks.html#_clampPenSize">_clampPenSize</a></li><li data-type='method'><a href="Scratch3PenBlocks.html#_getPenLayerID">_getPenLayerID</a></li><li data-type='method'><a href="Scratch3PenBlocks.html#_getPenState">_getPenState</a></li><li data-type='method'><a href="Scratch3PenBlocks.html#_initColorParam">_initColorParam</a></li><li data-type='method'><a href="Scratch3PenBlocks.html#_legacyUpdatePenColor">_legacyUpdatePenColor</a></li><li data-type='method'><a href="Scratch3PenBlocks.html#_onTargetCreated">_onTargetCreated</a></li><li data-type='method'><a href="Scratch3PenBlocks.html#_onTargetMoved">_onTargetMoved</a></li><li data-type='method'><a href="Scratch3PenBlocks.html#_setOrChangeColorParam">_setOrChangeColorParam</a></li><li data-type='method'><a href="Scratch3PenBlocks.html#_transparencyToAlpha">_transparencyToAlpha</a></li><li data-type='method'><a href="Scratch3PenBlocks.html#_updatePenColor">_updatePenColor</a></li><li data-type='method'><a href="Scratch3PenBlocks.html#_wrapColor">_wrapColor</a></li><li data-type='method'><a href="Scratch3PenBlocks.html#changePenColorParamBy">changePenColorParamBy</a></li><li data-type='method'><a href="Scratch3PenBlocks.html#changePenHueBy">changePenHueBy</a></li><li data-type='method'><a href="Scratch3PenBlocks.html#changePenShadeBy">changePenShadeBy</a></li><li data-type='method'><a href="Scratch3PenBlocks.html#changePenSizeBy">changePenSizeBy</a></li><li data-type='method'><a href="Scratch3PenBlocks.html#clear">clear</a></li><li data-type='method'><a href="Scratch3PenBlocks.html#getInfo">getInfo</a></li><li data-type='method'><a href="Scratch3PenBlocks.html#penDown">penDown</a></li><li data-type='method'><a href="Scratch3PenBlocks.html#penUp">penUp</a></li><li data-type='method'><a href="Scratch3PenBlocks.html#setPenColorParamTo">setPenColorParamTo</a></li><li data-type='method'><a href="Scratch3PenBlocks.html#setPenColorToColor">setPenColorToColor</a></li><li data-type='method'><a href="Scratch3PenBlocks.html#setPenHueToNumber">setPenHueToNumber</a></li><li data-type='method'><a href="Scratch3PenBlocks.html#setPenShadeToNumber">setPenShadeToNumber</a></li><li data-type='method'><a href="Scratch3PenBlocks.html#setPenSizeTo">setPenSizeTo</a></li><li data-type='method'><a href="Scratch3PenBlocks.html#stamp">stamp</a></li></ul></li><li><a href="Scratch3Text2SpeechBlocks.html">Scratch3Text2SpeechBlocks</a><ul class='methods'><li data-type='method'><a href="Scratch3Text2SpeechBlocks.html#_getExtensionLocaleForSupportedLocale">_getExtensionLocaleForSupportedLocale</a></li><li data-type='method'><a href="Scratch3Text2SpeechBlocks.html#_getSpeechSynthLocale">_getSpeechSynthLocale</a></li><li data-type='method'><a href="Scratch3Text2SpeechBlocks.html#_getState">_getState</a></li><li data-type='method'><a href="Scratch3Text2SpeechBlocks.html#_getSupportedLocales">_getSupportedLocales</a></li><li data-type='method'><a href="Scratch3Text2SpeechBlocks.html#_onTargetCreated">_onTargetCreated</a></li><li data-type='method'><a href="Scratch3Text2SpeechBlocks.html#_stopAllSpeech">_stopAllSpeech</a></li><li data-type='method'><a href="Scratch3Text2SpeechBlocks.html#getCurrentLanguage">getCurrentLanguage</a></li><li data-type='method'><a href="Scratch3Text2SpeechBlocks.html#getEditorLanguage">getEditorLanguage</a></li><li data-type='method'><a href="Scratch3Text2SpeechBlocks.html#getInfo">getInfo</a></li><li data-type='method'><a href="Scratch3Text2SpeechBlocks.html#getLanguageMenu">getLanguageMenu</a></li><li data-type='method'><a href="Scratch3Text2SpeechBlocks.html#getVoiceMenu">getVoiceMenu</a></li><li data-type='method'><a href="Scratch3Text2SpeechBlocks.html#isSupportedLanguage">isSupportedLanguage</a></li><li data-type='method'><a href="Scratch3Text2SpeechBlocks.html#setCurrentLanguage">setCurrentLanguage</a></li><li data-type='method'><a href="Scratch3Text2SpeechBlocks.html#setLanguage">setLanguage</a></li><li data-type='method'><a href="Scratch3Text2SpeechBlocks.html#setVoice">setVoice</a></li><li data-type='method'><a href="Scratch3Text2SpeechBlocks.html#speakAndWait">speakAndWait</a></li></ul></li><li><a href="Scratch3TranslateBlocks.html">Scratch3TranslateBlocks</a><ul class='methods'><li data-type='method'><a href="Scratch3TranslateBlocks.html#_getSupportedLanguages">_getSupportedLanguages</a></li><li data-type='method'><a href="Scratch3TranslateBlocks.html#getInfo">getInfo</a></li><li data-type='method'><a href="Scratch3TranslateBlocks.html#getLanguageCodeFromArg">getLanguageCodeFromArg</a></li><li data-type='method'><a href="Scratch3TranslateBlocks.html#getTranslate">getTranslate</a></li><li data-type='method'><a href="Scratch3TranslateBlocks.html#getViewerLanguage">getViewerLanguage</a></li><li data-type='method'><a href="Scratch3TranslateBlocks.html#getViewerLanguageCode">getViewerLanguageCode</a></li></ul></li><li><a href="Scratch3VideoSensingBlocks.html">Scratch3VideoSensingBlocks</a><ul class='methods'><li data-type='method'><a href="Scratch3VideoSensingBlocks.html#_analyzeLocalMotion">_analyzeLocalMotion</a></li><li data-type='method'><a href="Scratch3VideoSensingBlocks.html#_buildMenu">_buildMenu</a></li><li data-type='method'><a href="Scratch3VideoSensingBlocks.html#_getMotionState">_getMotionState</a></li><li data-type='method'><a href="Scratch3VideoSensingBlocks.html#_loop">_loop</a></li><li data-type='method'><a href="Scratch3VideoSensingBlocks.html#getInfo">getInfo</a></li><li data-type='method'><a href="Scratch3VideoSensingBlocks.html#reset">reset</a></li><li data-type='method'><a href="Scratch3VideoSensingBlocks.html#setVideoTransparency">setVideoTransparency</a></li><li data-type='method'><a href="Scratch3VideoSensingBlocks.html#updateVideoDisplay">updateVideoDisplay</a></li><li data-type='method'><a href="Scratch3VideoSensingBlocks.html#videoOn">videoOn</a></li><li data-type='method'><a href="Scratch3VideoSensingBlocks.html#videoToggle">videoToggle</a></li><li data-type='method'><a href="Scratch3VideoSensingBlocks.html#whenMotionGreaterThan">whenMotionGreaterThan</a></li></ul></li><li><a href="Scratch3WeDo2Blocks.html">Scratch3WeDo2Blocks</a><ul class='methods'><li data-type='method'><a href="Scratch3WeDo2Blocks.html#_forEachMotor">_forEachMotor</a></li><li data-type='method'><a href="Scratch3WeDo2Blocks.html#_getTiltAngle">_getTiltAngle</a></li><li data-type='method'><a href="Scratch3WeDo2Blocks.html#_isTilted">_isTilted</a></li><li data-type='method'><a href="Scratch3WeDo2Blocks.html#_noteToTone">_noteToTone</a></li><li data-type='method'><a href="Scratch3WeDo2Blocks.html#getDistance">getDistance</a></li><li data-type='method'><a href="Scratch3WeDo2Blocks.html#getInfo">getInfo</a></li><li data-type='method'><a href="Scratch3WeDo2Blocks.html#getTiltAngle">getTiltAngle</a></li><li data-type='method'><a href="Scratch3WeDo2Blocks.html#isTilted">isTilted</a></li><li data-type='method'><a href="Scratch3WeDo2Blocks.html#motorOff">motorOff</a></li><li data-type='method'><a href="Scratch3WeDo2Blocks.html#motorOn">motorOn</a></li><li data-type='method'><a href="Scratch3WeDo2Blocks.html#motorOnFor">motorOnFor</a></li><li data-type='method'><a href="Scratch3WeDo2Blocks.html#playNoteFor">playNoteFor</a></li><li data-type='method'><a href="Scratch3WeDo2Blocks.html#setLightHue">setLightHue</a></li><li data-type='method'><a href="Scratch3WeDo2Blocks.html#setMotorDirection">setMotorDirection</a></li><li data-type='method'><a href="Scratch3WeDo2Blocks.html#startMotorPower">startMotorPower</a></li><li data-type='method'><a href="Scratch3WeDo2Blocks.html#whenDistance">whenDistance</a></li><li data-type='method'><a href="Scratch3WeDo2Blocks.html#whenTilted">whenTilted</a></li></ul></li><li><a href="ScratchLinkDeviceAdapter.html">ScratchLinkDeviceAdapter</a></li><li><a href="ScratchLinkWebSocket.html">ScratchLinkWebSocket</a></li><li><a href="SharedDispatch.html">SharedDispatch</a><ul class='methods'><li data-type='method'><a href="SharedDispatch.html#_deliverResponse">_deliverResponse</a></li><li data-type='method'><a href="SharedDispatch.html#_getServiceProvider">_getServiceProvider</a></li><li data-type='method'><a href="SharedDispatch.html#_isRemoteService">_isRemoteService</a></li><li data-type='method'><a href="SharedDispatch.html#_onDispatchMessage">_onDispatchMessage</a></li><li data-type='method'><a href="SharedDispatch.html#_onMessage">_onMessage</a></li><li data-type='method'><a href="SharedDispatch.html#_remoteCall">_remoteCall</a></li><li data-type='method'><a href="SharedDispatch.html#_remoteTransferCall">_remoteTransferCall</a></li><li data-type='method'><a href="SharedDispatch.html#_storeCallbacks">_storeCallbacks</a></li><li data-type='method'><a href="SharedDispatch.html#call">call</a></li><li data-type='method'><a href="SharedDispatch.html#transferCall">transferCall</a></li></ul></li><li><a href="Sprite.html">Sprite</a><ul class='methods'><li data-type='method'><a href="Sprite.html#addCostumeAt">addCostumeAt</a></li><li data-type='method'><a href="Sprite.html#createClone">createClone</a></li><li data-type='method'><a href="Sprite.html#deleteCostumeAt">deleteCostumeAt</a></li><li data-type='method'><a href="Sprite.html#removeClone">removeClone</a></li></ul></li><li><a href="Target.html">Target</a><ul class='methods'><li data-type='method'><a href="Target.html#clearEdgeActivatedValues">clearEdgeActivatedValues</a></li><li data-type='method'><a href="Target.html#createComment">createComment</a></li><li data-type='method'><a href="Target.html#createVariable">createVariable</a></li><li data-type='method'><a href="Target.html#deleteMonitors">deleteMonitors</a></li><li data-type='method'><a href="Target.html#deleteVariable">deleteVariable</a></li><li data-type='method'><a href="Target.html#dispose">dispose</a></li><li data-type='method'><a href="Target.html#duplicateVariable">duplicateVariable</a></li><li data-type='method'><a href="Target.html#duplicateVariables">duplicateVariables</a></li><li data-type='method'><a href="Target.html#fixUpVariableReferences">fixUpVariableReferences</a></li><li data-type='method'><a href="Target.html#getAllVariableNamesInScopeByType">getAllVariableNamesInScopeByType</a></li><li data-type='method'><a href="Target.html#getCustomState">getCustomState</a></li><li data-type='method'><a href="Target.html#getName">getName</a></li><li data-type='method'><a href="Target.html#lookupBroadcastByInputValue">lookupBroadcastByInputValue</a></li><li data-type='method'><a href="Target.html#lookupBroadcastMsg">lookupBroadcastMsg</a></li><li data-type='method'><a href="Target.html#lookupOrCreateList">lookupOrCreateList</a></li><li data-type='method'><a href="Target.html#lookupOrCreateVariable">lookupOrCreateVariable</a></li><li data-type='method'><a href="Target.html#lookupVariableById">lookupVariableById</a></li><li data-type='method'><a href="Target.html#lookupVariableByNameAndType">lookupVariableByNameAndType</a></li><li data-type='method'><a href="Target.html#mergeVariables">mergeVariables</a></li><li data-type='method'><a href="Target.html#onGreenFlag">onGreenFlag</a></li><li data-type='method'><a href="Target.html#postSpriteInfo">postSpriteInfo</a></li><li data-type='method'><a href="Target.html#renameVariable">renameVariable</a></li><li data-type='method'><a href="Target.html#resolveVariableSharingConflictsWithTarget">resolveVariableSharingConflictsWithTarget</a></li><li data-type='method'><a href="Target.html#setCustomState">setCustomState</a></li><li data-type='method'><a href="Target.html#shareLocalVariableToSprite">shareLocalVariableToSprite</a></li><li data-type='method'><a href="Target.html#shareLocalVariableToStage">shareLocalVariableToStage</a></li><li data-type='method'><a href="Target.html#updateEdgeActivatedValue">updateEdgeActivatedValue</a></li></ul></li><li><a href="TaskQueue.html">TaskQueue</a><ul class='methods'><li data-type='method'><a href="TaskQueue.html#_refill">_refill</a></li><li data-type='method'><a href="TaskQueue.html#_refillAndSpend">_refillAndSpend</a></li><li data-type='method'><a href="TaskQueue.html#_runTasks">_runTasks</a></li><li data-type='method'><a href="TaskQueue.html#_spend">_spend</a></li><li data-type='method'><a href="TaskQueue.html#cancel">cancel</a></li><li data-type='method'><a href="TaskQueue.html#cancelAll">cancelAll</a></li><li data-type='method'><a href="TaskQueue.html#do">do</a></li></ul></li><li><a href="Thread.html">Thread</a><ul class='methods'><li data-type='method'><a href="Thread.html#atStackTop">atStackTop</a></li><li data-type='method'><a href="Thread.html#getParam">getParam</a></li><li data-type='method'><a href="Thread.html#goToNextBlock">goToNextBlock</a></li><li data-type='method'><a href="Thread.html#initParams">initParams</a></li><li data-type='method'><a href="Thread.html#isRecursiveCall">isRecursiveCall</a></li><li data-type='method'><a href="Thread.html#peekParentStackFrame">peekParentStackFrame</a></li><li data-type='method'><a href="Thread.html#peekStack">peekStack</a></li><li data-type='method'><a href="Thread.html#peekStackFrame">peekStackFrame</a></li><li data-type='method'><a href="Thread.html#popStack">popStack</a></li><li data-type='method'><a href="Thread.html#pushParam">pushParam</a></li><li data-type='method'><a href="Thread.html#pushReportedValue">pushReportedValue</a></li><li data-type='method'><a href="Thread.html#pushStack">pushStack</a></li><li data-type='method'><a href="Thread.html#reuseStackForNextBlock">reuseStackForNextBlock</a></li><li data-type='method'><a href="Thread.html#stopThisScript">stopThisScript</a></li></ul></li><li><a href="Variable.html">Variable</a></li><li><a href="VideoMotion.html">VideoMotion</a><ul class='methods'><li data-type='method'><a href="VideoMotion.html#addFrame">addFrame</a></li><li data-type='method'><a href="VideoMotion.html#analyzeFrame">analyzeFrame</a></li><li data-type='method'><a href="VideoMotion.html#getLocalMotion">getLocalMotion</a></li><li data-type='method'><a href="VideoMotion.html#reset">reset</a></li></ul></li><li><a href="VideoMotionView.html">VideoMotionView</a><ul class='methods'><li data-type='method'><a href="VideoMotionView.html#_components">_components</a></li><li data-type='method'><a href="VideoMotionView.html#_eachAddress">_eachAddress</a></li><li data-type='method'><a href="VideoMotionView.html#_eachCell">_eachCell</a></li><li data-type='method'><a href="VideoMotionView.html#_grads">_grads</a></li><li data-type='method'><a href="VideoMotionView.html#draw">draw</a></li></ul></li><li><a href="VirtualMachine.html">VirtualMachine</a><ul class='methods'><li data-type='method'><a href="VirtualMachine.html#_addSprite2">_addSprite2</a></li><li data-type='method'><a href="VirtualMachine.html#_addSprite3">_addSprite3</a></li><li data-type='method'><a href="VirtualMachine.html#addBackdrop">addBackdrop</a></li><li data-type='method'><a href="VirtualMachine.html#addCostume">addCostume</a></li><li data-type='method'><a href="VirtualMachine.html#addCostumeFromLibrary">addCostumeFromLibrary</a></li><li data-type='method'><a href="VirtualMachine.html#addSound">addSound</a></li><li data-type='method'><a href="VirtualMachine.html#addSprite">addSprite</a></li><li data-type='method'><a href="VirtualMachine.html#attachAudioEngine">attachAudioEngine</a></li><li data-type='method'><a href="VirtualMachine.html#attachRenderer">attachRenderer</a></li><li data-type='method'><a href="VirtualMachine.html#attachStorage">attachStorage</a></li><li data-type='method'><a href="VirtualMachine.html#attachV2BitmapAdapter">attachV2BitmapAdapter</a></li><li data-type='method'><a href="VirtualMachine.html#attachV2SVGAdapter">attachV2SVGAdapter</a></li><li data-type='method'><a href="VirtualMachine.html#blockListener">blockListener</a></li><li data-type='method'><a href="VirtualMachine.html#clear">clear</a></li><li data-type='method'><a href="VirtualMachine.html#configureScratchLinkSocketFactory">configureScratchLinkSocketFactory</a></li><li data-type='method'><a href="VirtualMachine.html#connectPeripheral">connectPeripheral</a></li><li data-type='method'><a href="VirtualMachine.html#deleteCostume">deleteCostume</a></li><li data-type='method'><a href="VirtualMachine.html#deleteSound">deleteSound</a></li><li data-type='method'><a href="VirtualMachine.html#deleteSprite">deleteSprite</a></li><li data-type='method'><a href="VirtualMachine.html#deserializeProject">deserializeProject</a></li><li data-type='method'><a href="VirtualMachine.html#disconnectPeripheral">disconnectPeripheral</a></li><li data-type='method'><a href="VirtualMachine.html#downloadProjectId">downloadProjectId</a></li><li data-type='method'><a href="VirtualMachine.html#duplicateCostume">duplicateCostume</a></li><li data-type='method'><a href="VirtualMachine.html#duplicateSound">duplicateSound</a></li><li data-type='method'><a href="VirtualMachine.html#duplicateSprite">duplicateSprite</a></li><li data-type='method'><a href="VirtualMachine.html#emitTargetsUpdate">emitTargetsUpdate</a></li><li data-type='method'><a href="VirtualMachine.html#emitWorkspaceUpdate">emitWorkspaceUpdate</a></li><li data-type='method'><a href="VirtualMachine.html#exportSprite">exportSprite</a></li><li data-type='method'><a href="VirtualMachine.html#flyoutBlockListener">flyoutBlockListener</a></li><li data-type='method'><a href="VirtualMachine.html#fromJSON">fromJSON</a></li><li data-type='method'><a href="VirtualMachine.html#getCostume">getCostume</a></li><li data-type='method'><a href="VirtualMachine.html#getLocale">getLocale</a></li><li data-type='method'><a href="VirtualMachine.html#getPeripheralIsConnected">getPeripheralIsConnected</a></li><li data-type='method'><a href="VirtualMachine.html#getPlaygroundData">getPlaygroundData</a></li><li data-type='method'><a href="VirtualMachine.html#getSoundBuffer">getSoundBuffer</a></li><li data-type='method'><a href="VirtualMachine.html#getTargetIdForDrawableId">getTargetIdForDrawableId</a></li><li data-type='method'><a href="VirtualMachine.html#getVariableValue">getVariableValue</a></li><li data-type='method'><a href="VirtualMachine.html#greenFlag">greenFlag</a></li><li data-type='method'><a href="VirtualMachine.html#installTargets">installTargets</a></li><li data-type='method'><a href="VirtualMachine.html#loadProject">loadProject</a></li><li data-type='method'><a href="VirtualMachine.html#monitorBlockListener">monitorBlockListener</a></li><li data-type='method'><a href="VirtualMachine.html#postIOData">postIOData</a></li><li data-type='method'><a href="VirtualMachine.html#postSpriteInfo">postSpriteInfo</a></li><li data-type='method'><a href="VirtualMachine.html#refreshWorkspace">refreshWorkspace</a></li><li data-type='method'><a href="VirtualMachine.html#renameCostume">renameCostume</a></li><li data-type='method'><a href="VirtualMachine.html#renameSound">renameSound</a></li><li data-type='method'><a href="VirtualMachine.html#renameSprite">renameSprite</a></li><li data-type='method'><a href="VirtualMachine.html#reorderCostume">reorderCostume</a></li><li data-type='method'><a href="VirtualMachine.html#reorderSound">reorderSound</a></li><li data-type='method'><a href="VirtualMachine.html#reorderTarget">reorderTarget</a></li><li data-type='method'><a href="VirtualMachine.html#saveProjectSb3">saveProjectSb3</a></li><li data-type='method'><a href="VirtualMachine.html#scanForPeripheral">scanForPeripheral</a></li><li data-type='method'><a href="VirtualMachine.html#setCompatibilityMode">setCompatibilityMode</a></li><li data-type='method'><a href="VirtualMachine.html#setEditingTarget">setEditingTarget</a></li><li data-type='method'><a href="VirtualMachine.html#setLocale">setLocale</a></li><li data-type='method'><a href="VirtualMachine.html#setTurboMode">setTurboMode</a></li><li data-type='method'><a href="VirtualMachine.html#setVariableValue">setVariableValue</a></li><li data-type='method'><a href="VirtualMachine.html#shareBlocksToTarget">shareBlocksToTarget</a></li><li data-type='method'><a href="VirtualMachine.html#shareCostumeToTarget">shareCostumeToTarget</a></li><li data-type='method'><a href="VirtualMachine.html#shareSoundToTarget">shareSoundToTarget</a></li><li data-type='method'><a href="VirtualMachine.html#start">start</a></li><li data-type='method'><a href="VirtualMachine.html#startDrag">startDrag</a></li><li data-type='method'><a href="VirtualMachine.html#stopAll">stopAll</a></li><li data-type='method'><a href="VirtualMachine.html#stopDrag">stopDrag</a></li><li data-type='method'><a href="VirtualMachine.html#toJSON">toJSON</a></li><li data-type='method'><a href="VirtualMachine.html#updateBitmap">updateBitmap</a></li><li data-type='method'><a href="VirtualMachine.html#updateSoundBuffer">updateSoundBuffer</a></li><li data-type='method'><a href="VirtualMachine.html#updateSvg">updateSvg</a></li><li data-type='method'><a href="VirtualMachine.html#variableListener">variableListener</a></li></ul></li><li><a href="WeDo2.html">WeDo2</a><ul class='methods'><li data-type='method'><a href="WeDo2.html#_checkBatteryLevel">_checkBatteryLevel</a></li><li data-type='method'><a href="WeDo2.html#_clearPort">_clearPort</a></li><li data-type='method'><a href="WeDo2.html#_onConnect">_onConnect</a></li><li data-type='method'><a href="WeDo2.html#_onMessage">_onMessage</a></li><li data-type='method'><a href="WeDo2.html#_registerSensorOrMotor">_registerSensorOrMotor</a></li><li data-type='method'><a href="WeDo2.html#connect">connect</a></li><li data-type='method'><a href="WeDo2.html#disconnect">disconnect</a></li><li data-type='method'><a href="WeDo2.html#generateInputCommand">generateInputCommand</a></li><li data-type='method'><a href="WeDo2.html#generateOutputCommand">generateOutputCommand</a></li><li data-type='method'><a href="WeDo2.html#isConnected">isConnected</a></li><li data-type='method'><a href="WeDo2.html#motor">motor</a></li><li data-type='method'><a href="WeDo2.html#playTone">playTone</a></li><li data-type='method'><a href="WeDo2.html#reset">reset</a></li><li data-type='method'><a href="WeDo2.html#scan">scan</a></li><li data-type='method'><a href="WeDo2.html#send">send</a></li><li data-type='method'><a href="WeDo2.html#setLED">setLED</a></li><li data-type='method'><a href="WeDo2.html#setLEDMode">setLEDMode</a></li><li data-type='method'><a href="WeDo2.html#stopAll">stopAll</a></li><li data-type='method'><a href="WeDo2.html#stopAllMotors">stopAllMotors</a></li><li data-type='method'><a href="WeDo2.html#stopLED">stopLED</a></li><li data-type='method'><a href="WeDo2.html#stopTone">stopTone</a></li></ul></li><li><a href="WeDo2Motor.html">WeDo2Motor</a><ul class='methods'><li data-type='method'><a href="WeDo2Motor.html#_clearTimeout">_clearTimeout</a></li><li data-type='method'><a href="WeDo2Motor.html#_setNewTimeout">_setNewTimeout</a></li><li data-type='method'><a href="WeDo2Motor.html#startBraking">startBraking</a></li><li data-type='method'><a href="WeDo2Motor.html#turnOff">turnOff</a></li><li data-type='method'><a href="WeDo2Motor.html#turnOn">turnOn</a></li><li data-type='method'><a href="WeDo2Motor.html#turnOnFor">turnOnFor</a></li></ul></li><li><a href="WeDo2Motor.BRAKE_TIME_MS.html">BRAKE_TIME_MS</a></li><li><a href="WorkerDispatch.html">WorkerDispatch</a><ul class='methods'><li data-type='method'><a href="WorkerDispatch.html#_getServiceProvider">_getServiceProvider</a></li><li data-type='method'><a href="WorkerDispatch.html#_onDispatchMessage">_onDispatchMessage</a></li><li data-type='method'><a href="WorkerDispatch.html#setService">setService</a></li></ul></li></ul><h3>Events</h3><ul><li><a href="Runtime.html#event:targetWasCreated">targetWasCreated</a></li></ul><h3>Global</h3><ul><li><a href="global.html#_motionVectorOut">_motionVectorOut</a></li><li><a href="global.html#_prepareBlockProfiling">_prepareBlockProfiling</a></li><li><a href="global.html#_RuntimeScriptCache">_RuntimeScriptCache</a></li><li><a href="global.html#_stackFrameFreeList">_stackFrameFreeList</a></li><li><a href="global.html#_videoMotionViewComponentsTmp">_videoMotionViewComponentsTmp</a></li><li><a href="global.html#adapter">adapter</a></li><li><a href="global.html#addExtensionOp">addExtensionOp</a></li><li><a href="global.html#ALTO_ID">ALTO_ID</a></li><li><a href="global.html#AMOUNT_SCALE">AMOUNT_SCALE</a></li><li><a href="global.html#ARABIC_ID">ARABIC_ID</a></li><li><a href="global.html#ArgumentType">ArgumentType</a></li><li><a href="global.html#ArgumentTypeMap">ArgumentTypeMap</a></li><li><a href="global.html#assetData">assetData</a></li><li><a href="global.html#AxisValues">AxisValues</a></li><li><a href="global.html#BLEBatteryCheckInterval">BLEBatteryCheckInterval</a></li><li><a href="global.html#BLECharacteristic">BLECharacteristic</a></li><li><a href="global.html#BLECommand">BLECommand</a></li><li><a href="global.html#BLEDataStoppedError">BLEDataStoppedError</a></li><li><a href="global.html#BLESendInterval">BLESendInterval</a></li><li><a href="global.html#BLESendRateMax">BLESendRateMax</a></li><li><a href="global.html#BLEService">BLEService</a></li><li><a href="global.html#BLETimeout">BLETimeout</a></li><li><a href="global.html#BLEUUID">BLEUUID</a></li><li><a href="global.html#blockFunctionProfilerFrame">blockFunctionProfilerFrame</a></li><li><a href="global.html#blockFunctionProfilerId">blockFunctionProfilerId</a></li><li><a href="global.html#blockIconURI">blockIconURI</a></li><li><a href="global.html#BlockType">BlockType</a></li><li><a href="global.html#blockUtility">blockUtility</a></li><li><a href="global.html#BoostBLE">BoostBLE</a></li><li><a href="global.html#BoostColor">BoostColor</a></li><li><a href="global.html#BoostColorIndex">BoostColorIndex</a></li><li><a href="global.html#BoostColorSampleSize">BoostColorSampleSize</a></li><li><a href="global.html#BoostHubProperty">BoostHubProperty</a></li><li><a href="global.html#BoostHubPropertyOperation">BoostHubPropertyOperation</a></li><li><a href="global.html#BoostIO">BoostIO</a></li><li><a href="global.html#BoostIOEvent">BoostIOEvent</a></li><li><a href="global.html#BoostMessage">BoostMessage</a></li><li><a href="global.html#BoostMode">BoostMode</a></li><li><a href="global.html#BoostMotorDirection">BoostMotorDirection</a></li><li><a href="global.html#BoostMotorEndState">BoostMotorEndState</a></li><li><a href="global.html#BoostMotorLabel">BoostMotorLabel</a></li><li><a href="global.html#BoostMotorMaxPowerAdd">BoostMotorMaxPowerAdd</a></li><li><a href="global.html#BoostMotorProfile">BoostMotorProfile</a></li><li><a href="global.html#BoostMotorState">BoostMotorState</a></li><li><a href="global.html#BoostOutputExecution">BoostOutputExecution</a></li><li><a href="global.html#BoostOutputSubCommand">BoostOutputSubCommand</a></li><li><a href="global.html#BoostPingInterval">BoostPingInterval</a></li><li><a href="global.html#BoostPort10000223OrOlder">BoostPort10000223OrOlder</a></li><li><a href="global.html#BoostPortFeedback">BoostPortFeedback</a></li><li><a href="global.html#BoostTiltDirection">BoostTiltDirection</a></li><li><a href="global.html#BTSendRateMax">BTSendRateMax</a></li><li><a href="global.html#cloudDataManager">cloudDataManager</a></li><li><a href="global.html#ColorParam">ColorParam</a></li><li><a href="global.html#compressInputTree">compressInputTree</a></li><li><a href="global.html#defineMessages">defineMessages</a></li><li><a href="global.html#deserialize">deserialize</a></li><li><a href="global.html#deserializeBlocks">deserializeBlocks</a></li><li><a href="global.html#deserializeCostume">deserializeCostume</a></li><li><a href="global.html#deserializeFields">deserializeFields</a></li><li><a href="global.html#deserializeInputDesc">deserializeInputDesc</a></li><li><a href="global.html#deserializeInputs">deserializeInputs</a></li><li><a href="global.html#deserializeSound">deserializeSound</a></li><li><a href="global.html#domToBlock">domToBlock</a></li><li><a href="global.html#domToBlocks">domToBlocks</a></li><li><a href="global.html#Ev3Args">Ev3Args</a></li><li><a href="global.html#Ev3Command">Ev3Command</a></li><li><a href="global.html#Ev3Device">Ev3Device</a></li><li><a href="global.html#Ev3Encoding">Ev3Encoding</a></li><li><a href="global.html#Ev3Label">Ev3Label</a></li><li><a href="global.html#Ev3Mode">Ev3Mode</a></li><li><a href="global.html#Ev3MotorMenu">Ev3MotorMenu</a></li><li><a href="global.html#Ev3Opcode">Ev3Opcode</a></li><li><a href="global.html#Ev3PairingPin">Ev3PairingPin</a></li><li><a href="global.html#Ev3SensorMenu">Ev3SensorMenu</a></li><li><a href="global.html#execute">execute</a></li><li><a href="global.html#executeProfilerFrame">executeProfilerFrame</a></li><li><a href="global.html#executeProfilerId">executeProfilerId</a></li><li><a href="global.html#extensionWorker">extensionWorker</a></li><li><a href="global.html#FACING_THRESHOLD">FACING_THRESHOLD</a></li><li><a href="global.html#FACING_THRESHOLD_OFFSET">FACING_THRESHOLD_OFFSET</a></li><li><a href="global.html#FEMALE_GIANT_RATE">FEMALE_GIANT_RATE</a></li><li><a href="global.html#FEMALE_TENOR_RATE">FEMALE_TENOR_RATE</a></li><li><a href="global.html#fetchBitmapCanvas_">fetchBitmapCanvas_</a></li><li><a href="global.html#finalResponseTimeoutDurationMs">finalResponseTimeoutDurationMs</a></li><li><a href="global.html#flatten">flatten</a></li><li><a href="global.html#FORCE_THRESHOLD">FORCE_THRESHOLD</a></li><li><a href="global.html#FREEFALL_ROTATION_FACTOR">FREEFALL_ROTATION_FACTOR</a></li><li><a href="global.html#FREEFALL_THRESHOLD">FREEFALL_THRESHOLD</a></li><li><a href="global.html#GDXFOR_SENSOR">GDXFOR_SENSOR</a></li><li><a href="global.html#GDXFOR_UPDATE_RATE">GDXFOR_UPDATE_RATE</a></li><li><a href="global.html#generateVariableIdGetter">generateVariableIdGetter</a></li><li><a href="global.html#GestureValues">GestureValues</a></li><li><a href="global.html#getAssetUrl">getAssetUrl</a></li><li><a href="global.html#getCached">getCached</a></li><li><a href="global.html#getExtensionIdForOpcode">getExtensionIdForOpcode</a></li><li><a href="global.html#getProjectUrl">getProjectUrl</a></li><li><a href="global.html#getScripts">getScripts</a></li><li><a href="global.html#GIANT_ID">GIANT_ID</a></li><li><a href="global.html#GRAVITY">GRAVITY</a></li><li><a href="global.html#handleReport">handleReport</a></li><li><a href="global.html#HEIGHT">HEIGHT</a></li><li><a href="global.html#iconURI">iconURI</a></li><li><a href="global.html#int32ArrayToNumber">int32ArrayToNumber</a></li><li><a href="global.html#isPromise">isPromise</a></li><li><a href="global.html#KEY_BUFFER_LENGTH">KEY_BUFFER_LENGTH</a></li><li><a href="global.html#KEY_ID_DOWN">KEY_ID_DOWN</a></li><li><a href="global.html#KEY_ID_LEFT">KEY_ID_LEFT</a></li><li><a href="global.html#KEY_ID_RIGHT">KEY_ID_RIGHT</a></li><li><a href="global.html#KEY_ID_SPACE">KEY_ID_SPACE</a></li><li><a href="global.html#KEY_ID_UP">KEY_ID_UP</a></li><li><a href="global.html#KEY_NAME">KEY_NAME</a></li><li><a href="global.html#KEY_NAME_LIST">KEY_NAME_LIST</a></li><li><a href="global.html#KITTEN_ID">KITTEN_ID</a></li><li><a href="global.html#listenAndWaitBlockTimeoutMs">listenAndWaitBlockTimeoutMs</a></li><li><a href="global.html#loadCostume">loadCostume</a></li><li><a href="global.html#loadCostumeFromAsset">loadCostumeFromAsset</a></li><li><a href="global.html#loadSound">loadSound</a></li><li><a href="global.html#loadSoundFromAsset">loadSoundFromAsset</a></li><li><a href="global.html#LOCAL_AMOUNT_SCALE">LOCAL_AMOUNT_SCALE</a></li><li><a href="global.html#LOCAL_MAX_AMOUNT">LOCAL_MAX_AMOUNT</a></li><li><a href="global.html#LOCAL_THRESHOLD">LOCAL_THRESHOLD</a></li><li><a href="global.html#maybeFormatMessage">maybeFormatMessage</a></li><li><a href="global.html#menuIconURI">menuIconURI</a></li><li><a href="global.html#MicroBitButtons">MicroBitButtons</a></li><li><a href="global.html#MicroBitGestures">MicroBitGestures</a></li><li><a href="global.html#MicroBitPinState">MicroBitPinState</a></li><li><a href="global.html#MicroBitTiltDirection">MicroBitTiltDirection</a></li><li><a href="global.html#motionVector">motionVector</a></li><li><a href="global.html#mutationAdpater">mutationAdpater</a></li><li><a href="global.html#mutatorTagToObject">mutatorTagToObject</a></li><li><a href="global.html#nextId">nextId</a></li><li><a href="global.html#numberToInt32Array">numberToInt32Array</a></li><li><a href="global.html#OUTPUT">OUTPUT</a></li><li><a href="global.html#parseBlock">parseBlock</a></li><li><a href="global.html#parseBlockList">parseBlockList</a></li><li><a href="global.html#parseMonitorObject">parseMonitorObject</a></li><li><a href="global.html#parseProcedureArgIds">parseProcedureArgIds</a></li><li><a href="global.html#parseProcedureArgMap">parseProcedureArgMap</a></li><li><a href="global.html#parseScratchAssets">parseScratchAssets</a></li><li><a href="global.html#parseScratchObject">parseScratchObject</a></li><li><a href="global.html#parseScripts">parseScripts</a></li><li><a href="global.html#performance">performance</a></li><li><a href="global.html#profilerNames">profilerNames</a></li><li><a href="global.html#PushPullValues">PushPullValues</a></li><li><a href="global.html#renderBenchmarkData">renderBenchmarkData</a></li><li><a href="global.html#rendererDrawProfilerId">rendererDrawProfilerId</a></li><li><a href="global.html#ReporterScope">ReporterScope</a></li><li><a href="global.html#runBenchmark">runBenchmark</a></li><li><a href="global.html#sb2import">sb2import</a></li><li><a href="global.html#SCRATCH_KEY_NAME">SCRATCH_KEY_NAME</a></li><li><a href="global.html#scratchAtan2">scratchAtan2</a></li><li><a href="global.html#ScratchBlocksConstants">ScratchBlocksConstants</a></li><li><a href="global.html#scratchDegrees">scratchDegrees</a></li><li><a href="global.html#SensingAttribute">SensingAttribute</a></li><li><a href="global.html#SensingSubject">SensingSubject</a></li><li><a href="global.html#SEQUENCE_HAT_TIMEOUT">SEQUENCE_HAT_TIMEOUT</a></li><li><a href="global.html#serialize">serialize</a></li><li><a href="global.html#serializeAssets">serializeAssets</a></li><li><a href="global.html#serializeBlock">serializeBlock</a></li><li><a href="global.html#serializeBlocks">serializeBlocks</a></li><li><a href="global.html#serializeCostume">serializeCostume</a></li><li><a href="global.html#serializeCostumes">serializeCostumes</a></li><li><a href="global.html#serializeFields">serializeFields</a></li><li><a href="global.html#serializeInputs">serializeInputs</a></li><li><a href="global.html#serializePrimitiveBlock">serializePrimitiveBlock</a></li><li><a href="global.html#serializeSound">serializeSound</a></li><li><a href="global.html#serializeSounds">serializeSounds</a></li><li><a href="global.html#serializeTarget">serializeTarget</a></li><li><a href="global.html#serializeVariables">serializeVariables</a></li><li><a href="global.html#SERVER_HOST">SERVER_HOST</a></li><li><a href="global.html#SERVER_TIMEOUT">SERVER_TIMEOUT</a></li><li><a href="global.html#serverTimeoutMs">serverTimeoutMs</a></li><li><a href="global.html#serverURL">serverURL</a></li><li><a href="global.html#SHAKEN_THRESHOLD">SHAKEN_THRESHOLD</a></li><li><a href="global.html#soup_">soup_</a></li><li><a href="global.html#specMap">specMap</a></li><li><a href="global.html#specMapBlock">specMapBlock</a></li><li><a href="global.html#SPEECH_VOLUME">SPEECH_VOLUME</a></li><li><a href="global.html#spriteName">spriteName</a></li><li><a href="global.html#SQUEAK_ID">SQUEAK_ID</a></li><li><a href="global.html#START">START</a></li><li><a href="global.html#START_SIZE">START_SIZE</a></li><li><a href="global.html#stepProfilerId">stepProfilerId</a></li><li><a href="global.html#stepThreadProfilerFrame">stepThreadProfilerFrame</a></li><li><a href="global.html#stepThreadProfilerId">stepThreadProfilerId</a></li><li><a href="global.html#stepThreadsInnerProfilerFrame">stepThreadsInnerProfilerFrame</a></li><li><a href="global.html#stepThreadsInnerProfilerId">stepThreadsInnerProfilerId</a></li><li><a href="global.html#stepThreadsProfilerId">stepThreadsProfilerId</a></li><li><a href="global.html#STOP">STOP</a></li><li><a href="global.html#STOP_SIZE">STOP_SIZE</a></li><li><a href="global.html#STORE_WAITING">STORE_WAITING</a></li><li><a href="global.html#targetId">targetId</a></li><li><a href="global.html#TargetType">TargetType</a></li><li><a href="global.html#TENOR_ID">TENOR_ID</a></li><li><a href="global.html#THRESHOLD">THRESHOLD</a></li><li><a href="global.html#TILT_THRESHOLD">TILT_THRESHOLD</a></li><li><a href="global.html#TiltAxisValues">TiltAxisValues</a></li><li><a href="global.html#TO_DEGREE">TO_DEGREE</a></li><li><a href="global.html#uid">uid</a></li><li><a href="global.html#VideoState">VideoState</a></li><li><a href="global.html#WeDo2Command">WeDo2Command</a></li><li><a href="global.html#WeDo2ConnectID">WeDo2ConnectID</a></li><li><a href="global.html#WeDo2Device">WeDo2Device</a></li><li><a href="global.html#WeDo2Mode">WeDo2Mode</a></li><li><a href="global.html#WeDo2MotorDirection">WeDo2MotorDirection</a></li><li><a href="global.html#WeDo2MotorLabel">WeDo2MotorLabel</a></li><li><a href="global.html#WeDo2TiltDirection">WeDo2TiltDirection</a></li><li><a href="global.html#WeDo2Unit">WeDo2Unit</a></li><li><a href="global.html#WIDTH">WIDTH</a></li><li><a href="global.html#WINSIZE">WINSIZE</a></li><li><a href="global.html#xmlEscape">xmlEscape</a></li></ul> </nav> <div id="main"> <h1 class="page-title">VirtualMachine</h1> <section> <header> <h2> VirtualMachine </h2> <div class="class-description"><p>Handles connections between blocks, stage, and extensions.</p></div> </header> <article> <div class="container-overview"> <h2>Constructor</h2> <h4 class="name" id="VirtualMachine"><span class="type-signature"></span>new VirtualMachine<span class="signature">()</span><span class="type-signature"></span></h4> <dl class="details"> </dl> </div> <h3 class="subsection-title">Members</h3> <h4 class="name" id="_dragTarget"><span class="type-signature"></span>_dragTarget<span class="type-signature"> :<a href="Target.html">Target</a></span></h4> <dl class="details"> </dl> <div class="description"> <p>The currently dragging target, for redirecting IO data.</p> </div> <h5>Type:</h5> <ul> <li> <span class="param-type"><a href="Target.html">Target</a></span> </li> </ul> <h4 class="name" id="editingTarget"><span class="type-signature"></span>editingTarget<span class="type-signature"> :<a href="Target.html">Target</a></span></h4> <dl class="details"> </dl> <div class="description"> <p>The "currently editing"/selected target ID for the VM. Block events from any Blockly workspace are routed to this target.</p> </div> <h5>Type:</h5> <ul> <li> <span class="param-type"><a href="Target.html">Target</a></span> </li> </ul> <h4 class="name" id="renderer"><span class="type-signature"></span>renderer<span class="type-signature"></span></h4> <dl class="details"> </dl> <h4 class="name" id="runtime"><span class="type-signature">(non-null) </span>runtime<span class="type-signature"> :<a href="Runtime.html">Runtime</a></span></h4> <dl class="details"> </dl> <div class="description"> <p>VM runtime, to store blocks, I/O devices, sprites/targets, etc.</p> </div> <h5>Type:</h5> <ul> <li> <span class="param-type"><a href="Runtime.html">Runtime</a></span> </li> </ul> <h3 class="subsection-title">Methods</h3> <h4 class="name" id="_addSprite2"><span class="type-signature"></span>_addSprite2<span class="signature">(sprite, zip<span class="signature-attributes">nullable</span>)</span><span class="type-signature"> → {Promise}</span></h4> <dl class="details"> </dl> <div class="description"> <p>Add a single sprite from the "Sprite2" (i.e., SB2 sprite) format.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Attributes</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>sprite</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="attributes"> </td> <td class="description last"><p>Object representing 2.0 sprite to be added.</p></td> </tr> <tr> <td class="name"><code>zip</code></td> <td class="type"> <span class="param-type">ArrayBuffer</span> </td> <td class="attributes"> <nullable><br> </td> <td class="description last"><p>Optional zip of assets being referenced by json</p></td> </tr> </tbody> </table> <h5>Returns:</h5> <div class="param-desc"> <p>Promise that resolves after the sprite is added</p> </div> <dl class="param-type"> <dt> Type </dt> <dd> <span class="param-type">Promise</span> </dd> </dl> <h4 class="name" id="_addSprite3"><span class="type-signature"></span>_addSprite3<span class="signature">(sprite, zip<span class="signature-attributes">nullable</span>)</span><span class="type-signature"> → {Promise}</span></h4> <dl class="details"> </dl> <div class="description"> <p>Add a single sb3 sprite.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Attributes</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>sprite</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="attributes"> </td> <td class="description last"><p>Object rperesenting 3.0 sprite to be added.</p></td> </tr> <tr> <td class="name"><code>zip</code></td> <td class="type"> <span class="param-type">ArrayBuffer</span> </td> <td class="attributes"> <nullable><br> </td> <td class="description last"><p>Optional zip of assets being referenced by target json</p></td> </tr> </tbody> </table> <h5>Returns:</h5> <div class="param-desc"> <p>Promise that resolves after the sprite is added</p> </div> <dl class="param-type"> <dt> Type </dt> <dd> <span class="param-type">Promise</span> </dd> </dl> <h4 class="name" id="addBackdrop"><span class="type-signature"></span>addBackdrop<span class="signature">(md5ext, backdropObject<span class="signature-attributes">non-null</span>)</span><span class="type-signature"> → (nullable) {Promise}</span></h4> <dl class="details"> </dl> <h5 class="subsection-title">Properties:</h5> <table class="props"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Attributes</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>skinId</code></td> <td class="type"> <span class="param-type">int</span> </td> <td class="attributes"> </td> <td class="description last"><p>the ID of the backdrop's render skin, once installed.</p></td> </tr> <tr> <td class="name"><code>rotationCenterX</code></td> <td class="type"> <span class="param-type">number</span> </td> <td class="attributes"> </td> <td class="description last"><p>the X component of the backdrop's origin.</p></td> </tr> <tr> <td class="name"><code>rotationCenterY</code></td> <td class="type"> <span class="param-type">number</span> </td> <td class="attributes"> </td> <td class="description last"><p>the Y component of the backdrop's origin.</p></td> </tr> <tr> <td class="name"><code>bitmapResolution</code></td> <td class="type"> <span class="param-type">number</span> </td> <td class="attributes"> <optional><br> </td> <td class="description last"><p>the resolution scale for a bitmap backdrop.</p></td> </tr> </tbody> </table> <div class="description"> <p>Add a backdrop to the stage.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>md5ext</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>the MD5 and extension of the backdrop to be loaded.</p></td> </tr> <tr> <td class="name"><code>backdropObject</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"><p>Object representing the backdrop.</p></td> </tr> </tbody> </table> <h5>Returns:</h5> <div class="param-desc"> <ul> <li>a promise that resolves when the backdrop has been added</li> </ul> </div> <dl class="param-type"> <dt> Type </dt> <dd> <span class="param-type">Promise</span> </dd> </dl> <h4 class="name" id="addCostume"><span class="type-signature"></span>addCostume<span class="signature">(md5ext, costumeObject<span class="signature-attributes">non-null</span>, optTargetId, optVersion)</span><span class="type-signature"> → (nullable) {Promise}</span></h4> <dl class="details"> </dl> <h5 class="subsection-title">Properties:</h5> <table class="props"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Attributes</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>skinId</code></td> <td class="type"> <span class="param-type">int</span> </td> <td class="attributes"> </td> <td class="description last"><p>the ID of the costume's render skin, once installed.</p></td> </tr> <tr> <td class="name"><code>rotationCenterX</code></td> <td class="type"> <span class="param-type">number</span> </td> <td class="attributes"> </td> <td class="description last"><p>the X component of the costume's origin.</p></td> </tr> <tr> <td class="name"><code>rotationCenterY</code></td> <td class="type"> <span class="param-type">number</span> </td> <td class="attributes"> </td> <td class="description last"><p>the Y component of the costume's origin.</p></td> </tr> <tr> <td class="name"><code>bitmapResolution</code></td> <td class="type"> <span class="param-type">number</span> </td> <td class="attributes"> <optional><br> </td> <td class="description last"><p>the resolution scale for a bitmap costume.</p></td> </tr> </tbody> </table> <div class="description"> <p>Add a costume to the current editing target.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>md5ext</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>the MD5 and extension of the costume to be loaded.</p></td> </tr> <tr> <td class="name"><code>costumeObject</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"><p>Object representing the costume.</p></td> </tr> <tr> <td class="name"><code>optTargetId</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>the id of the target to add to, if not the editing target.</p></td> </tr> <tr> <td class="name"><code>optVersion</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>if this is 2, load costume as sb2, otherwise load costume as sb3.</p></td> </tr> </tbody> </table> <h5>Returns:</h5> <div class="param-desc"> <ul> <li>a promise that resolves when the costume has been added</li> </ul> </div> <dl class="param-type"> <dt> Type </dt> <dd> <span class="param-type">Promise</span> </dd> </dl> <h4 class="name" id="addCostumeFromLibrary"><span class="type-signature"></span>addCostumeFromLibrary<span class="signature">(md5ext, costumeObject<span class="signature-attributes">non-null</span>)</span><span class="type-signature"> → (nullable) {Promise}</span></h4> <dl class="details"> </dl> <h5 class="subsection-title">Properties:</h5> <table class="props"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Attributes</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>skinId</code></td> <td class="type"> <span class="param-type">int</span> </td> <td class="attributes"> </td> <td class="description last"><p>the ID of the costume's render skin, once installed.</p></td> </tr> <tr> <td class="name"><code>rotationCenterX</code></td> <td class="type"> <span class="param-type">number</span> </td> <td class="attributes"> </td> <td class="description last"><p>the X component of the costume's origin.</p></td> </tr> <tr> <td class="name"><code>rotationCenterY</code></td> <td class="type"> <span class="param-type">number</span> </td> <td class="attributes"> </td> <td class="description last"><p>the Y component of the costume's origin.</p></td> </tr> <tr> <td class="name"><code>bitmapResolution</code></td> <td class="type"> <span class="param-type">number</span> </td> <td class="attributes"> <optional><br> </td> <td class="description last"><p>the resolution scale for a bitmap costume.</p></td> </tr> </tbody> </table> <div class="description"> <p>Add a costume loaded from the library to the current editing target.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>md5ext</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>the MD5 and extension of the costume to be loaded.</p></td> </tr> <tr> <td class="name"><code>costumeObject</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"><p>Object representing the costume.</p></td> </tr> </tbody> </table> <h5>Returns:</h5> <div class="param-desc"> <ul> <li>a promise that resolves when the costume has been added</li> </ul> </div> <dl class="param-type"> <dt> Type </dt> <dd> <span class="param-type">Promise</span> </dd> </dl> <h4 class="name" id="addSound"><span class="type-signature"></span>addSound<span class="signature">(soundObject<span class="signature-attributes">non-null</span>, optTargetId)</span><span class="type-signature"> → (nullable) {Promise}</span></h4> <dl class="details"> </dl> <div class="description"> <p>Add a sound to the current editing target.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>soundObject</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"><p>Object representing the costume.</p></td> </tr> <tr> <td class="name"><code>optTargetId</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>the id of the target to add to, if not the editing target.</p></td> </tr> </tbody> </table> <h5>Returns:</h5> <div class="param-desc"> <ul> <li>a promise that resolves when the sound has been decoded and added</li> </ul> </div> <dl class="param-type"> <dt> Type </dt> <dd> <span class="param-type">Promise</span> </dd> </dl> <h4 class="name" id="addSprite"><span class="type-signature"></span>addSprite<span class="signature">(input)</span><span class="type-signature"> → (non-null) {Promise}</span></h4> <dl class="details"> </dl> <div class="description"> <p>Add a sprite, this could be .sprite2 or .sprite3. Unpack and validate such a file first.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>input</code></td> <td class="type"> <span class="param-type">string</span> | <span class="param-type">object</span> </td> <td class="description last"><p>A json string, object, or ArrayBuffer representing the project to load.</p></td> </tr> </tbody> </table> <h5>Returns:</h5> <div class="param-desc"> <p>Promise that resolves after targets are installed.</p> </div> <dl class="param-type"> <dt> Type </dt> <dd> <span class="param-type">Promise</span> </dd> </dl> <h4 class="name" id="attachAudioEngine"><span class="type-signature"></span>attachAudioEngine<span class="signature">(audioEngine<span class="signature-attributes">non-null</span>)</span><span class="type-signature"></span></h4> <dl class="details"> </dl> <div class="description"> <p>Set the audio engine for the VM/runtime</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>audioEngine</code></td> <td class="type"> <span class="param-type">AudioEngine</span> </td> <td class="description last"><p>The audio engine to attach</p></td> </tr> </tbody> </table> <h4 class="name" id="attachRenderer"><span class="type-signature"></span>attachRenderer<span class="signature">(renderer<span class="signature-attributes">non-null</span>)</span><span class="type-signature"></span></h4> <dl class="details"> </dl> <div class="description"> <p>Set the renderer for the VM/runtime</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>renderer</code></td> <td class="type"> <span class="param-type">RenderWebGL</span> </td> <td class="description last"><p>The renderer to attach</p></td> </tr> </tbody> </table> <h4 class="name" id="attachStorage"><span class="type-signature"></span>attachStorage<span class="signature">(storage<span class="signature-attributes">non-null</span>)</span><span class="type-signature"></span></h4> <dl class="details"> </dl> <div class="description"> <p>Set the storage module for the VM/runtime</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>storage</code></td> <td class="type"> <span class="param-type">ScratchStorage</span> </td> <td class="description last"><p>The storage module to attach</p></td> </tr> </tbody> </table> <h4 class="name" id="attachV2BitmapAdapter"><span class="type-signature"></span>attachV2BitmapAdapter<span class="signature">(bitmapAdapter<span class="signature-attributes">non-null</span>)</span><span class="type-signature"></span></h4> <dl class="details"> </dl> <div class="description"> <p>Set the bitmap adapter for the VM/runtime, which converts scratch 2 bitmaps to scratch 3 bitmaps. (Scratch 3 bitmaps are all bitmap resolution 2)</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>bitmapAdapter</code></td> <td class="type"> <span class="param-type">function</span> </td> <td class="description last"><p>The adapter to attach</p></td> </tr> </tbody> </table> <h4 class="name" id="attachV2SVGAdapter"><span class="type-signature"></span>attachV2SVGAdapter<span class="signature">(svgAdapter<span class="signature-attributes">non-null</span>)</span><span class="type-signature"></span></h4> <dl class="details"> </dl> <div class="description"> <p>Set the svg adapter for the VM/runtime, which converts scratch 2 svgs to scratch 3 svgs</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>svgAdapter</code></td> <td class="type"> <span class="param-type">SvgRenderer</span> </td> <td class="description last"><p>The adapter to attach</p></td> </tr> </tbody> </table> <h4 class="name" id="blockListener"><span class="type-signature"></span>blockListener<span class="signature">(e<span class="signature-attributes">non-null</span>)</span><span class="type-signature"></span></h4> <dl class="details"> </dl> <div class="description"> <p>Handle a Blockly event for the current editing target.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>e</code></td> <td class="type"> <span class="param-type">Blockly.Event</span> </td> <td class="description last"><p>Any Blockly event.</p></td> </tr> </tbody> </table> <h4 class="name" id="clear"><span class="type-signature"></span>clear<span class="signature">()</span><span class="type-signature"></span></h4> <dl class="details"> </dl> <div class="description"> <p>Clear out current running project data.</p> </div> <h4 class="name" id="configureScratchLinkSocketFactory"><span class="type-signature"></span>configureScratchLinkSocketFactory<span class="signature">(factory)</span><span class="type-signature"></span></h4> <dl class="details"> </dl> <div class="description"> <p>Allow VM consumer to configure the ScratchLink socket creator.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>factory</code></td> <td class="type"> <span class="param-type">function</span> </td> <td class="description last"><p>The custom ScratchLink socket factory.</p></td> </tr> </tbody> </table> <h4 class="name" id="connectPeripheral"><span class="type-signature"></span>connectPeripheral<span class="signature">(extensionId, peripheralId)</span><span class="type-signature"></span></h4> <dl class="details"> </dl> <div class="description"> <p>Connect to the extension's specified peripheral.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>extensionId</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>the id of the extension.</p></td> </tr> <tr> <td class="name"><code>peripheralId</code></td> <td class="type"> <span class="param-type">number</span> </td> <td class="description last"><p>the id of the peripheral.</p></td> </tr> </tbody> </table> <h4 class="name" id="deleteCostume"><span class="type-signature"></span>deleteCostume<span class="signature">(costumeIndex)</span><span class="type-signature"> → (nullable) {function}</span></h4> <dl class="details"> </dl> <div class="description"> <p>Delete a costume from the current editing target.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>costumeIndex</code></td> <td class="type"> <span class="param-type">int</span> </td> <td class="description last"><p>the index of the costume to be removed.</p></td> </tr> </tbody> </table> <h5>Returns:</h5> <div class="param-desc"> <p>A function to restore the deleted costume, or null, if no costume was deleted.</p> </div> <dl class="param-type"> <dt> Type </dt> <dd> <span class="param-type">function</span> </dd> </dl> <h4 class="name" id="deleteSound"><span class="type-signature"></span>deleteSound<span class="signature">(soundIndex)</span><span class="type-signature"> → (nullable) {function}</span></h4> <dl class="details"> </dl> <div class="description"> <p>Delete a sound from the current editing target.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>soundIndex</code></td> <td class="type"> <span class="param-type">int</span> </td> <td class="description last"><p>the index of the sound to be removed.</p></td> </tr> </tbody> </table> <h5>Returns:</h5> <div class="param-desc"> <p>A function to restore the sound that was deleted, or null, if no sound was deleted.</p> </div> <dl class="param-type"> <dt> Type </dt> <dd> <span class="param-type">function</span> </dd> </dl> <h4 class="name" id="deleteSprite"><span class="type-signature"></span>deleteSprite<span class="signature">(targetId)</span><span class="type-signature"> → {function}</span></h4> <dl class="details"> </dl> <div class="description"> <p>Delete a sprite and all its clones.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>targetId</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>ID of a target whose sprite to delete.</p></td> </tr> </tbody> </table> <h5>Returns:</h5> <div class="param-desc"> <p>Returns a function to restore the sprite that was deleted</p> </div> <dl class="param-type"> <dt> Type </dt> <dd> <span class="param-type">function</span> </dd> </dl> <h4 class="name" id="deserializeProject"><span class="type-signature"></span>deserializeProject<span class="signature">(projectJSON, zip<span class="signature-attributes">nullable</span>)</span><span class="type-signature"> → {Promise}</span></h4> <dl class="details"> </dl> <div class="description"> <p>Load a project from a Scratch JSON representation.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Attributes</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>projectJSON</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="attributes"> </td> <td class="description last"><p>JSON string representing a project.</p></td> </tr> <tr> <td class="name"><code>zip</code></td> <td class="type"> <span class="param-type">JSZip</span> </td> <td class="attributes"> <nullable><br> </td> <td class="description last"><p>Optional zipped project containing assets to be loaded.</p></td> </tr> </tbody> </table> <h5>Returns:</h5> <div class="param-desc"> <p>Promise that resolves after the project has loaded</p> </div> <dl class="param-type"> <dt> Type </dt> <dd> <span class="param-type">Promise</span> </dd> </dl> <h4 class="name" id="disconnectPeripheral"><span class="type-signature"></span>disconnectPeripheral<span class="signature">(extensionId)</span><span class="type-signature"></span></h4> <dl class="details"> </dl> <div class="description"> <p>Disconnect from the extension's connected peripheral.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>extensionId</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>the id of the extension.</p></td> </tr> </tbody> </table> <h4 class="name" id="downloadProjectId"><span class="type-signature"></span>downloadProjectId<span class="signature">(id)</span><span class="type-signature"></span></h4> <dl class="details"> </dl> <div class="description"> <p>Load a project from the Scratch web site, by ID.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>id</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>the ID of the project to download, as a string.</p></td> </tr> </tbody> </table> <h4 class="name" id="duplicateCostume"><span class="type-signature"></span>duplicateCostume<span class="signature">(costumeIndex<span class="signature-attributes">non-null</span>)</span><span class="type-signature"> → (nullable) {Promise}</span></h4> <dl class="details"> </dl> <div class="description"> <p>Duplicate the costume at the given index. Add it at that index + 1.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>costumeIndex</code></td> <td class="type"> <span class="param-type">int</span> </td> <td class="description last"><p>Index of costume to duplicate</p></td> </tr> </tbody> </table> <h5>Returns:</h5> <div class="param-desc"> <ul> <li>a promise that resolves when the costume has been decoded and added</li> </ul> </div> <dl class="param-type"> <dt> Type </dt> <dd> <span class="param-type">Promise</span> </dd> </dl> <h4 class="name" id="duplicateSound"><span class="type-signature"></span>duplicateSound<span class="signature">(soundIndex<span class="signature-attributes">non-null</span>)</span><span class="type-signature"> → (nullable) {Promise}</span></h4> <dl class="details"> </dl> <div class="description"> <p>Duplicate the sound at the given index. Add it at that index + 1.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>soundIndex</code></td> <td class="type"> <span class="param-type">int</span> </td> <td class="description last"><p>Index of sound to duplicate</p></td> </tr> </tbody> </table> <h5>Returns:</h5> <div class="param-desc"> <ul> <li>a promise that resolves when the sound has been decoded and added</li> </ul> </div> <dl class="param-type"> <dt> Type </dt> <dd> <span class="param-type">Promise</span> </dd> </dl> <h4 class="name" id="duplicateSprite"><span class="type-signature"></span>duplicateSprite<span class="signature">(targetId)</span><span class="type-signature"> → {Promise}</span></h4> <dl class="details"> </dl> <div class="description"> <p>Duplicate a sprite.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>targetId</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>ID of a target whose sprite to duplicate.</p></td> </tr> </tbody> </table> <h5>Returns:</h5> <div class="param-desc"> <p>Promise that resolves when duplicated target has been added to the runtime.</p> </div> <dl class="param-type"> <dt> Type </dt> <dd> <span class="param-type">Promise</span> </dd> </dl> <h4 class="name" id="emitTargetsUpdate"><span class="type-signature"></span>emitTargetsUpdate<span class="signature">(triggerProjectChange)</span><span class="type-signature"></span></h4> <dl class="details"> </dl> <div class="description"> <p>Emit metadata about available targets. An editor UI could use this to display a list of targets and show the currently editing one.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>triggerProjectChange</code></td> <td class="type"> <span class="param-type">bool</span> </td> <td class="description last"><p>If true, also emit a project changed event. Disabled selectively by updates that don't affect project serialization. Defaults to true.</p></td> </tr> </tbody> </table> <h4 class="name" id="emitWorkspaceUpdate"><span class="type-signature"></span>emitWorkspaceUpdate<span class="signature">()</span><span class="type-signature"></span></h4> <dl class="details"> </dl> <div class="description"> <p>Emit an Blockly/scratch-blocks compatible XML representation of the current editing target's blocks.</p> </div> <h4 class="name" id="exportSprite"><span class="type-signature"></span>exportSprite<span class="signature">(targetId, optZipType<span class="signature-attributes">opt</span>)</span><span class="type-signature"> → {object}</span></h4> <dl class="details"> </dl> <div class="description"> <p>Exports a sprite in the sprite3 format.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Attributes</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>targetId</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="attributes"> </td> <td class="description last"><p>ID of the target to export</p></td> </tr> <tr> <td class="name"><code>optZipType</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="attributes"> <optional><br> </td> <td class="description last"><p>Optional type that the resulting zip should be outputted in. Options are: base64, binarystring, array, uint8array, arraybuffer, blob, or nodebuffer. Defaults to blob if argument not provided. See https://stuk.github.io/jszip/documentation/api_jszip/generate_async.html#type-option for more information about these options.</p></td> </tr> </tbody> </table> <h5>Returns:</h5> <div class="param-desc"> <p>A generated zip of the sprite and its assets in the format specified by optZipType or blob by default.</p> </div> <dl class="param-type"> <dt> Type </dt> <dd> <span class="param-type">object</span> </dd> </dl> <h4 class="name" id="flyoutBlockListener"><span class="type-signature"></span>flyoutBlockListener<span class="signature">(e<span class="signature-attributes">non-null</span>)</span><span class="type-signature"></span></h4> <dl class="details"> </dl> <div class="description"> <p>Handle a Blockly event for the flyout.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>e</code></td> <td class="type"> <span class="param-type">Blockly.Event</span> </td> <td class="description last"><p>Any Blockly event.</p></td> </tr> </tbody> </table> <h4 class="name" id="fromJSON"><span class="type-signature"></span>fromJSON<span class="signature">(json)</span><span class="type-signature"> → {Promise}</span></h4> <dl class="details"> </dl> <div class="description"> <p>Load a project from a Scratch JSON representation.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>json</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>JSON string representing a project.</p></td> </tr> </tbody> </table> <h5>Returns:</h5> <div class="param-desc"> <p>Promise that resolves after the project has loaded</p> </div> <dl class="param-type"> <dt> Type </dt> <dd> <span class="param-type">Promise</span> </dd> </dl> <h4 class="name" id="getCostume"><span class="type-signature"></span>getCostume<span class="signature">(costumeIndex)</span><span class="type-signature"> → {string}</span></h4> <dl class="details"> </dl> <div class="description"> <p>Get a string representation of the image from storage.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>costumeIndex</code></td> <td class="type"> <span class="param-type">int</span> </td> <td class="description last"><p>the index of the costume to be got.</p></td> </tr> </tbody> </table> <h5>Returns:</h5> <div class="param-desc"> <p>the costume's SVG string if it's SVG, a dataURI if it's a PNG or JPG, or null if it couldn't be found or decoded.</p> </div> <dl class="param-type"> <dt> Type </dt> <dd> <span class="param-type">string</span> </dd> </dl> <h4 class="name" id="getLocale"><span class="type-signature"></span>getLocale<span class="signature">()</span><span class="type-signature"> → {string}</span></h4> <dl class="details"> </dl> <div class="description"> <p>get the current locale for the VM</p> </div> <h5>Returns:</h5> <div class="param-desc"> <p>the current locale in the VM</p> </div> <dl class="param-type"> <dt> Type </dt> <dd> <span class="param-type">string</span> </dd> </dl> <h4 class="name" id="getPeripheralIsConnected"><span class="type-signature"></span>getPeripheralIsConnected<span class="signature">(extensionId)</span><span class="type-signature"> → {boolean}</span></h4> <dl class="details"> </dl> <div class="description"> <p>Returns whether the extension has a currently connected peripheral.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>extensionId</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>the id of the extension.</p></td> </tr> </tbody> </table> <h5>Returns:</h5> <div class="param-desc"> <ul> <li>whether the extension has a connected peripheral.</li> </ul> </div> <dl class="param-type"> <dt> Type </dt> <dd> <span class="param-type">boolean</span> </dd> </dl> <h4 class="name" id="getPlaygroundData"><span class="type-signature"></span>getPlaygroundData<span class="signature">()</span><span class="type-signature"></span></h4> <dl class="details"> </dl> <div class="description"> <p>Get data for playground. Data comes back in an emitted event.</p> </div> <h4 class="name" id="getSoundBuffer"><span class="type-signature"></span>getSoundBuffer<span class="signature">(soundIndex)</span><span class="type-signature"> → {AudioBuffer}</span></h4> <dl class="details"> </dl> <div class="description"> <p>Get a sound buffer from the audio engine.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>soundIndex</code></td> <td class="type"> <span class="param-type">int</span> </td> <td class="description last"><p>the index of the sound to be got.</p></td> </tr> </tbody> </table> <h5>Returns:</h5> <div class="param-desc"> <p>the sound's audio buffer.</p> </div> <dl class="param-type"> <dt> Type </dt> <dd> <span class="param-type">AudioBuffer</span> </dd> </dl> <h4 class="name" id="getTargetIdForDrawableId"><span class="type-signature"></span>getTargetIdForDrawableId<span class="signature">(drawableId)</span><span class="type-signature"> → (nullable) {string}</span></h4> <dl class="details"> </dl> <div class="description"> <p>Get a target id for a drawable id. Useful for interacting with the renderer</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>drawableId</code></td> <td class="type"> <span class="param-type">int</span> </td> <td class="description last"><p>The drawable id to request the target id for</p></td> </tr> </tbody> </table> <h5>Returns:</h5> <div class="param-desc"> <p>The target id, if found. Will also be null if the target found is the stage.</p> </div> <dl class="param-type"> <dt> Type </dt> <dd> <span class="param-type">string</span> </dd> </dl> <h4 class="name" id="getVariableValue"><span class="type-signature"></span>getVariableValue<span class="signature">(targetId<span class="signature-attributes">non-null</span>, variableId<span class="signature-attributes">non-null</span>)</span><span class="type-signature"> → (nullable) {*}</span></h4> <dl class="details"> </dl> <div class="description"> <p>Get a target's variable's value. Return null if the target or variable does not exist.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>targetId</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>ID of the target which owns the variable.</p></td> </tr> <tr> <td class="name"><code>variableId</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>ID of the variable to set.</p></td> </tr> </tbody> </table> <h5>Returns:</h5> <div class="param-desc"> <p>The value of the variable, or null if it could not be looked up.</p> </div> <dl class="param-type"> <dt> Type </dt> <dd> <span class="param-type">*</span> </dd> </dl> <h4 class="name" id="greenFlag"><span class="type-signature"></span>greenFlag<span class="signature">()</span><span class="type-signature"></span></h4> <dl class="details"> </dl> <div class="description"> <p>"Green flag" handler - start all threads starting with a green flag.</p> </div> <h4 class="name" id="installTargets"><span class="type-signature"></span>installTargets<span class="signature">(targets, extensions, wholeProject)</span><span class="type-signature"> → {Promise}</span></h4> <dl class="details"> </dl> <div class="description"> <p>Install <code>deserialize</code> results: zero or more targets after the extensions (if any) used by those targets.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>targets</code></td> <td class="type"> <span class="param-type">Array.<<a href="Target.html">Target</a>></span> </td> <td class="description last"><p>the targets to be installed</p></td> </tr> <tr> <td class="name"><code>extensions</code></td> <td class="type"> <span class="param-type"><a href="global.html#ImportedExtensionsInfo">ImportedExtensionsInfo</a></span> </td> <td class="description last"><p>metadata about extensions used by these targets</p></td> </tr> <tr> <td class="name"><code>wholeProject</code></td> <td class="type"> <span class="param-type">boolean</span> </td> <td class="description last"><p>set to true if installing a whole project, as opposed to a single sprite.</p></td> </tr> </tbody> </table> <h5>Returns:</h5> <div class="param-desc"> <p>resolved once targets have been installed</p> </div> <dl class="param-type"> <dt> Type </dt> <dd> <span class="param-type">Promise</span> </dd> </dl> <h4 class="name" id="loadProject"><span class="type-signature"></span>loadProject<span class="signature">(input)</span><span class="type-signature"> → (non-null) {Promise}</span></h4> <dl class="details"> </dl> <div class="description"> <p>Load a Scratch project from a .sb, .sb2, .sb3 or json string.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>input</code></td> <td class="type"> <span class="param-type">string</span> | <span class="param-type">object</span> </td> <td class="description last"><p>A json string, object, or ArrayBuffer representing the project to load.</p></td> </tr> </tbody> </table> <h5>Returns:</h5> <div class="param-desc"> <p>Promise that resolves after targets are installed.</p> </div> <dl class="param-type"> <dt> Type </dt> <dd> <span class="param-type">Promise</span> </dd> </dl> <h4 class="name" id="monitorBlockListener"><span class="type-signature"></span>monitorBlockListener<span class="signature">(e<span class="signature-attributes">non-null</span>)</span><span class="type-signature"></span></h4> <dl class="details"> </dl> <div class="description"> <p>Handle a Blockly event for the flyout to be passed to the monitor container.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>e</code></td> <td class="type"> <span class="param-type">Blockly.Event</span> </td> <td class="description last"><p>Any Blockly event.</p></td> </tr> </tbody> </table> <h4 class="name" id="postIOData"><span class="type-signature"></span>postIOData<span class="signature">(device<span class="signature-attributes">nullable</span>, data)</span><span class="type-signature"></span></h4> <dl class="details"> </dl> <div class="description"> <p>Post I/O data to the virtual devices.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Attributes</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>device</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="attributes"> <nullable><br> </td> <td class="description last"><p>Name of virtual I/O device.</p></td> </tr> <tr> <td class="name"><code>data</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="attributes"> </td> <td class="description last"><p>Any data object to post to the I/O device.</p></td> </tr> </tbody> </table> <h4 class="name" id="postSpriteInfo"><span class="type-signature"></span>postSpriteInfo<span class="signature">(data)</span><span class="type-signature"></span></h4> <dl class="details"> </dl> <div class="description"> <p>Post/edit sprite info for the current editing target or the drag target.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>data</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"><p>An object with sprite info data to set.</p></td> </tr> </tbody> </table> <h4 class="name" id="refreshWorkspace"><span class="type-signature"></span>refreshWorkspace<span class="signature">()</span><span class="type-signature"></span></h4> <dl class="details"> </dl> <div class="description"> <p>Repopulate the workspace with the blocks of the current editingTarget. This allows us to get around bugs like gui#413.</p> </div> <h4 class="name" id="renameCostume"><span class="type-signature"></span>renameCostume<span class="signature">(costumeIndex, newName)</span><span class="type-signature"></span></h4> <dl class="details"> </dl> <div class="description"> <p>Rename a costume on the current editing target.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>costumeIndex</code></td> <td class="type"> <span class="param-type">int</span> </td> <td class="description last"><p>the index of the costume to be renamed.</p></td> </tr> <tr> <td class="name"><code>newName</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>the desired new name of the costume (will be modified if already in use).</p></td> </tr> </tbody> </table> <h4 class="name" id="renameSound"><span class="type-signature"></span>renameSound<span class="signature">(soundIndex, newName)</span><span class="type-signature"></span></h4> <dl class="details"> </dl> <div class="description"> <p>Rename a sound on the current editing target.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>soundIndex</code></td> <td class="type"> <span class="param-type">int</span> </td> <td class="description last"><p>the index of the sound to be renamed.</p></td> </tr> <tr> <td class="name"><code>newName</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>the desired new name of the sound (will be modified if already in use).</p></td> </tr> </tbody> </table> <h4 class="name" id="renameSprite"><span class="type-signature"></span>renameSprite<span class="signature">(targetId, newName)</span><span class="type-signature"></span></h4> <dl class="details"> </dl> <div class="description"> <p>Rename a sprite.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>targetId</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>ID of a target whose sprite to rename.</p></td> </tr> <tr> <td class="name"><code>newName</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>New name of the sprite.</p></td> </tr> </tbody> </table> <h4 class="name" id="reorderCostume"><span class="type-signature"></span>reorderCostume<span class="signature">(targetId<span class="signature-attributes">non-null</span>, costumeIndex<span class="signature-attributes">non-null</span>, newIndex<span class="signature-attributes">non-null</span>)</span><span class="type-signature"> → {boolean}</span></h4> <dl class="details"> </dl> <div class="description"> <p>Reorder the costumes of a target if it exists. Return whether it succeeded.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>targetId</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>ID of the target which owns the costumes.</p></td> </tr> <tr> <td class="name"><code>costumeIndex</code></td> <td class="type"> <span class="param-type">number</span> </td> <td class="description last"><p>index of the costume to move.</p></td> </tr> <tr> <td class="name"><code>newIndex</code></td> <td class="type"> <span class="param-type">number</span> </td> <td class="description last"><p>index that the costume should be moved to.</p></td> </tr> </tbody> </table> <h5>Returns:</h5> <div class="param-desc"> <p>Whether a costume was reordered.</p> </div> <dl class="param-type"> <dt> Type </dt> <dd> <span class="param-type">boolean</span> </dd> </dl> <h4 class="name" id="reorderSound"><span class="type-signature"></span>reorderSound<span class="signature">(targetId<span class="signature-attributes">non-null</span>, soundIndex<span class="signature-attributes">non-null</span>, newIndex<span class="signature-attributes">non-null</span>)</span><span class="type-signature"> → {boolean}</span></h4> <dl class="details"> </dl> <div class="description"> <p>Reorder the sounds of a target if it exists. Return whether it occured.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>targetId</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>ID of the target which owns the sounds.</p></td> </tr> <tr> <td class="name"><code>soundIndex</code></td> <td class="type"> <span class="param-type">number</span> </td> <td class="description last"><p>index of the sound to move.</p></td> </tr> <tr> <td class="name"><code>newIndex</code></td> <td class="type"> <span class="param-type">number</span> </td> <td class="description last"><p>index that the sound should be moved to.</p></td> </tr> </tbody> </table> <h5>Returns:</h5> <div class="param-desc"> <p>Whether a sound was reordered.</p> </div> <dl class="param-type"> <dt> Type </dt> <dd> <span class="param-type">boolean</span> </dd> </dl> <h4 class="name" id="reorderTarget"><span class="type-signature"></span>reorderTarget<span class="signature">(targetIndex<span class="signature-attributes">non-null</span>, newIndex<span class="signature-attributes">non-null</span>)</span><span class="type-signature"> → {boolean}</span></h4> <dl class="details"> </dl> <div class="description"> <p>Reorder target by index. Return whether a change was made.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>targetIndex</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>Index of the target.</p></td> </tr> <tr> <td class="name"><code>newIndex</code></td> <td class="type"> <span class="param-type">number</span> </td> <td class="description last"><p>index that the target should be moved to.</p></td> </tr> </tbody> </table> <h5>Returns:</h5> <div class="param-desc"> <p>Whether a target was reordered.</p> </div> <dl class="param-type"> <dt> Type </dt> <dd> <span class="param-type">boolean</span> </dd> </dl> <h4 class="name" id="saveProjectSb3"><span class="type-signature"></span>saveProjectSb3<span class="signature">()</span><span class="type-signature"> → {string}</span></h4> <dl class="details"> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Project in a Scratch 3.0 JSON representation.</p> </div> <dl class="param-type"> <dt> Type </dt> <dd> <span class="param-type">string</span> </dd> </dl> <h4 class="name" id="scanForPeripheral"><span class="type-signature"></span>scanForPeripheral<span class="signature">(extensionId)</span><span class="type-signature"></span></h4> <dl class="details"> </dl> <div class="description"> <p>Tell the specified extension to scan for a peripheral.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>extensionId</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>the id of the extension.</p></td> </tr> </tbody> </table> <h4 class="name" id="setCompatibilityMode"><span class="type-signature"></span>setCompatibilityMode<span class="signature">(compatibilityModeOn)</span><span class="type-signature"></span></h4> <dl class="details"> </dl> <div class="description"> <p>Set whether the VM is in 2.0 "compatibility mode." When true, ticks go at 2.0 speed (30 TPS).</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>compatibilityModeOn</code></td> <td class="type"> <span class="param-type">boolean</span> </td> <td class="description last"><p>Whether compatibility mode is set.</p></td> </tr> </tbody> </table> <h4 class="name" id="setEditingTarget"><span class="type-signature"></span>setEditingTarget<span class="signature">(targetId)</span><span class="type-signature"></span></h4> <dl class="details"> </dl> <div class="description"> <p>Set an editing target. An editor UI can use this function to switch between editing different targets, sprites, etc. After switching the editing target, the VM may emit updates to the list of targets and any attached workspace blocks (see <code>emitTargetsUpdate</code> and <code>emitWorkspaceUpdate</code>).</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>targetId</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>Id of target to set as editing.</p></td> </tr> </tbody> </table> <h4 class="name" id="setLocale"><span class="type-signature"></span>setLocale<span class="signature">(locale<span class="signature-attributes">non-null</span>, messages<span class="signature-attributes">non-null</span>)</span><span class="type-signature"> → {Promise}</span></h4> <dl class="details"> </dl> <div class="description"> <p>set the current locale and builtin messages for the VM</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>locale</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>current locale</p></td> </tr> <tr> <td class="name"><code>messages</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"><p>builtin messages map for current locale</p></td> </tr> </tbody> </table> <h5>Returns:</h5> <div class="param-desc"> <p>Promise that resolves when all the blocks have been updated for a new locale (or empty if locale hasn't changed.)</p> </div> <dl class="param-type"> <dt> Type </dt> <dd> <span class="param-type">Promise</span> </dd> </dl> <h4 class="name" id="setTurboMode"><span class="type-signature"></span>setTurboMode<span class="signature">(turboModeOn)</span><span class="type-signature"></span></h4> <dl class="details"> </dl> <div class="description"> <p>Set whether the VM is in "turbo mode." When true, loops don't yield to redraw.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>turboModeOn</code></td> <td class="type"> <span class="param-type">boolean</span> </td> <td class="description last"><p>Whether turbo mode should be set.</p></td> </tr> </tbody> </table> <h4 class="name" id="setVariableValue"><span class="type-signature"></span>setVariableValue<span class="signature">(targetId<span class="signature-attributes">non-null</span>, variableId<span class="signature-attributes">non-null</span>, value<span class="signature-attributes">non-null</span>)</span><span class="type-signature"> → {boolean}</span></h4> <dl class="details"> </dl> <div class="description"> <p>Set a target's variable's value. Return whether it succeeded.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>targetId</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>ID of the target which owns the variable.</p></td> </tr> <tr> <td class="name"><code>variableId</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>ID of the variable to set.</p></td> </tr> <tr> <td class="name"><code>value</code></td> <td class="type"> <span class="param-type">*</span> </td> <td class="description last"><p>The new value of that variable.</p></td> </tr> </tbody> </table> <h5>Returns:</h5> <div class="param-desc"> <p>whether the target and variable were found and updated.</p> </div> <dl class="param-type"> <dt> Type </dt> <dd> <span class="param-type">boolean</span> </dd> </dl> <h4 class="name" id="shareBlocksToTarget"><span class="type-signature"></span>shareBlocksToTarget<span class="signature">(blocks<span class="signature-attributes">non-null</span>, targetId<span class="signature-attributes">non-null</span>, optFromTargetId<span class="signature-attributes">nullable</span>)</span><span class="type-signature"> → (non-null) {Promise}</span></h4> <dl class="details"> </dl> <div class="description"> <p>Called when blocks are dragged from one sprite to another. Adds the blocks to the workspace of the given target.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Attributes</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>blocks</code></td> <td class="type"> <span class="param-type">Array.<object></span> </td> <td class="attributes"> </td> <td class="description last"><p>Blocks to add.</p></td> </tr> <tr> <td class="name"><code>targetId</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="attributes"> </td> <td class="description last"><p>Id of target to add blocks to.</p></td> </tr> <tr> <td class="name"><code>optFromTargetId</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="attributes"> <nullable><br> </td> <td class="description last"><p>Optional target id indicating that blocks are being shared from that target. This is needed for resolving any potential variable conflicts.</p></td> </tr> </tbody> </table> <h5>Returns:</h5> <div class="param-desc"> <p>Promise that resolves when the extensions and blocks have been added.</p> </div> <dl class="param-type"> <dt> Type </dt> <dd> <span class="param-type">Promise</span> </dd> </dl> <h4 class="name" id="shareCostumeToTarget"><span class="type-signature"></span>shareCostumeToTarget<span class="signature">(costumeIndex<span class="signature-attributes">non-null</span>, targetId<span class="signature-attributes">non-null</span>)</span><span class="type-signature"> → {Promise}</span></h4> <dl class="details"> </dl> <div class="description"> <p>Called when costumes are dragged from editing target to another target. Sets the newly added costume as the current costume.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>costumeIndex</code></td> <td class="type"> <span class="param-type">number</span> </td> <td class="description last"><p>Index of the costume of the editing target to share.</p></td> </tr> <tr> <td class="name"><code>targetId</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>Id of target to add the costume.</p></td> </tr> </tbody> </table> <h5>Returns:</h5> <div class="param-desc"> <p>Promise that resolves when the new costume has been loaded.</p> </div> <dl class="param-type"> <dt> Type </dt> <dd> <span class="param-type">Promise</span> </dd> </dl> <h4 class="name" id="shareSoundToTarget"><span class="type-signature"></span>shareSoundToTarget<span class="signature">(soundIndex<span class="signature-attributes">non-null</span>, targetId<span class="signature-attributes">non-null</span>)</span><span class="type-signature"> → {Promise}</span></h4> <dl class="details"> </dl> <div class="description"> <p>Called when sounds are dragged from editing target to another target.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>soundIndex</code></td> <td class="type"> <span class="param-type">number</span> </td> <td class="description last"><p>Index of the sound of the editing target to share.</p></td> </tr> <tr> <td class="name"><code>targetId</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>Id of target to add the sound.</p></td> </tr> </tbody> </table> <h5>Returns:</h5> <div class="param-desc"> <p>Promise that resolves when the new sound has been loaded.</p> </div> <dl class="param-type"> <dt> Type </dt> <dd> <span class="param-type">Promise</span> </dd> </dl> <h4 class="name" id="start"><span class="type-signature"></span>start<span class="signature">()</span><span class="type-signature"></span></h4> <dl class="details"> </dl> <div class="description"> <p>Start running the VM - do this before anything else.</p> </div> <h4 class="name" id="startDrag"><span class="type-signature"></span>startDrag<span class="signature">(targetId)</span><span class="type-signature"></span></h4> <dl class="details"> </dl> <div class="description"> <p>Put a target into a "drag" state, during which its X/Y positions will be unaffected by blocks.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>targetId</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>The id for the target to put into a drag state</p></td> </tr> </tbody> </table> <h4 class="name" id="stopAll"><span class="type-signature"></span>stopAll<span class="signature">()</span><span class="type-signature"></span></h4> <dl class="details"> </dl> <div class="description"> <p>Stop all threads and running activities.</p> </div> <h4 class="name" id="stopDrag"><span class="type-signature"></span>stopDrag<span class="signature">(targetId)</span><span class="type-signature"></span></h4> <dl class="details"> </dl> <div class="description"> <p>Remove a target from a drag state, so blocks may begin affecting X/Y position again</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>targetId</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>The id for the target to remove from the drag state</p></td> </tr> </tbody> </table> <h4 class="name" id="toJSON"><span class="type-signature"></span>toJSON<span class="signature">()</span><span class="type-signature"> → {string}</span></h4> <dl class="details"> </dl> <div class="description"> <p>Export project as a Scratch 3.0 JSON representation.</p> </div> <h5>Returns:</h5> <div class="param-desc"> <p>Serialized state of the runtime.</p> </div> <dl class="param-type"> <dt> Type </dt> <dd> <span class="param-type">string</span> </dd> </dl> <h4 class="name" id="updateBitmap"><span class="type-signature"></span>updateBitmap<span class="signature">(costumeIndex<span class="signature-attributes">non-null</span>, bitmap<span class="signature-attributes">non-null</span>, rotationCenterX<span class="signature-attributes">non-null</span>, rotationCenterY<span class="signature-attributes">non-null</span>, bitmapResolution<span class="signature-attributes">non-null</span>)</span><span class="type-signature"></span></h4> <dl class="details"> </dl> <div class="description"> <p>Update a costume with the given bitmap</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>costumeIndex</code></td> <td class="type"> <span class="param-type">int</span> </td> <td class="description last"><p>the index of the costume to be updated.</p></td> </tr> <tr> <td class="name"><code>bitmap</code></td> <td class="type"> <span class="param-type">ImageData</span> </td> <td class="description last"><p>new bitmap for the renderer.</p></td> </tr> <tr> <td class="name"><code>rotationCenterX</code></td> <td class="type"> <span class="param-type">number</span> </td> <td class="description last"><p>x of point about which the costume rotates, relative to its upper left corner</p></td> </tr> <tr> <td class="name"><code>rotationCenterY</code></td> <td class="type"> <span class="param-type">number</span> </td> <td class="description last"><p>y of point about which the costume rotates, relative to its upper left corner</p></td> </tr> <tr> <td class="name"><code>bitmapResolution</code></td> <td class="type"> <span class="param-type">number</span> </td> <td class="description last"><p>1 for bitmaps that have 1 pixel per unit of stage, 2 for double-resolution bitmaps</p></td> </tr> </tbody> </table> <h4 class="name" id="updateSoundBuffer"><span class="type-signature"></span>updateSoundBuffer<span class="signature">(soundIndex, newBuffer, soundEncoding)</span><span class="type-signature"></span></h4> <dl class="details"> </dl> <div class="description"> <p>Update a sound buffer.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>soundIndex</code></td> <td class="type"> <span class="param-type">int</span> </td> <td class="description last"><p>the index of the sound to be updated.</p></td> </tr> <tr> <td class="name"><code>newBuffer</code></td> <td class="type"> <span class="param-type">AudioBuffer</span> </td> <td class="description last"><p>new audio buffer for the audio engine.</p></td> </tr> <tr> <td class="name"><code>soundEncoding</code></td> <td class="type"> <span class="param-type">ArrayBuffer</span> </td> <td class="description last"><p>the new (wav) encoded sound to be stored</p></td> </tr> </tbody> </table> <h4 class="name" id="updateSvg"><span class="type-signature"></span>updateSvg<span class="signature">(costumeIndex, svg, rotationCenterX, rotationCenterY)</span><span class="type-signature"></span></h4> <dl class="details"> </dl> <div class="description"> <p>Update a costume with the given SVG</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>costumeIndex</code></td> <td class="type"> <span class="param-type">int</span> </td> <td class="description last"><p>the index of the costume to be updated.</p></td> </tr> <tr> <td class="name"><code>svg</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>new SVG for the renderer.</p></td> </tr> <tr> <td class="name"><code>rotationCenterX</code></td> <td class="type"> <span class="param-type">number</span> </td> <td class="description last"><p>x of point about which the costume rotates, relative to its upper left corner</p></td> </tr> <tr> <td class="name"><code>rotationCenterY</code></td> <td class="type"> <span class="param-type">number</span> </td> <td class="description last"><p>y of point about which the costume rotates, relative to its upper left corner</p></td> </tr> </tbody> </table> <h4 class="name" id="variableListener"><span class="type-signature"></span>variableListener<span class="signature">(e<span class="signature-attributes">non-null</span>)</span><span class="type-signature"></span></h4> <dl class="details"> </dl> <div class="description"> <p>Handle a Blockly event for the variable map.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>e</code></td> <td class="type"> <span class="param-type">Blockly.Event</span> </td> <td class="description last"><p>Any Blockly event.</p></td> </tr> </tbody> </table> </article> </section> </div> <br class="clear"> <footer> Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> using the <a href="https://github.com/clenemt/docdash">docdash</a> theme. </footer> <script>prettyPrint();</script> <script src="scripts/polyfill.js"></script> <script src="scripts/linenumber.js"></script> </body> </html>