1720 lines
86 KiB
HTML
1720 lines
86 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
|
|
<meta charset="utf-8">
|
|
<title>Home - 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">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<section class="package">
|
|
<h3> </h3>
|
|
</section>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<section class="readme">
|
|
<article><h2>scratch-vm</h2>
|
|
<h4>Scratch VM is a library for representing, running, and maintaining the state of computer programs written using <a href="https://github.com/LLK/scratch-blocks">Scratch Blocks</a>.</h4>
|
|
<p><a href="https://travis-ci.org/LLK/scratch-vm"><img src="https://travis-ci.org/LLK/scratch-vm.svg?branch=develop" alt="Build Status"></a>
|
|
<a href="https://coveralls.io/github/LLK/scratch-vm?branch=develop"><img src="https://coveralls.io/repos/github/LLK/scratch-vm/badge.svg?branch=develop" alt="Coverage Status"></a>
|
|
<a href="https://greenkeeper.io/"><img src="https://badges.greenkeeper.io/LLK/scratch-vm.svg" alt="Greenkeeper badge"></a></p>
|
|
<h2>Installation</h2>
|
|
<p>This requires you to have Git and Node.js installed.</p>
|
|
<p>To install as a dependency for your own application:</p>
|
|
<pre class="prettyprint source lang-bash"><code>npm install scratch-vm
|
|
</code></pre>
|
|
<p>To set up a development environment to edit scratch-vm yourself:</p>
|
|
<pre class="prettyprint source lang-bash"><code>git clone https://github.com/LLK/scratch-vm.git
|
|
cd scratch-vm
|
|
npm install
|
|
</code></pre>
|
|
<h2>Development Server</h2>
|
|
<p>This requires Node.js to be installed.</p>
|
|
<p>For convenience, we've included a development server with the VM. This is sometimes useful when running in an environment that's loading remote resources (e.g., SVGs from the Scratch server). If you would like to use your modified VM with the full Scratch 3.0 GUI, <a href="https://github.com/LLK/scratch-gui/wiki/Getting-Started">follow the instructions to link the VM to the GUI</a>.</p>
|
|
<h2>Running the Development Server</h2>
|
|
<p>Open a Command Prompt or Terminal in the repository and run:</p>
|
|
<pre class="prettyprint source lang-bash"><code>npm start
|
|
</code></pre>
|
|
<h2>Playground</h2>
|
|
<p>To view the Playground, make sure the dev server's running and go to <a href="http://localhost:8073/playground/">http://localhost:8073/playground/</a> - you will be directed to the playground, which demonstrates various tools and internal state.</p>
|
|
<p><img src="https://i.imgur.com/nOCNqEc.gif" alt="VM Playground Screenshot"></p>
|
|
<h2>Standalone Build</h2>
|
|
<pre class="prettyprint source lang-bash"><code>npm run build
|
|
</code></pre>
|
|
<pre class="prettyprint source lang-html"><code><script src="/path/to/dist/web/scratch-vm.js"></script>
|
|
<script>
|
|
var vm = new window.VirtualMachine();
|
|
// do things
|
|
</script>
|
|
</code></pre>
|
|
<h2>How to include in a Node.js App</h2>
|
|
<p>For an extended setup example, check out the /src/playground directory, which includes a fully running VM instance.</p>
|
|
<pre class="prettyprint source lang-js"><code>var VirtualMachine = require('scratch-vm');
|
|
var vm = new VirtualMachine();
|
|
|
|
// Block events
|
|
Scratch.workspace.addChangeListener(vm.blockListener);
|
|
|
|
// Run threads
|
|
vm.start();
|
|
</code></pre>
|
|
<h2>Abstract Syntax Tree</h2>
|
|
<h4>Overview</h4>
|
|
<p>The Virtual Machine constructs and maintains the state of an <a href="https://en.wikipedia.org/wiki/Abstract_syntax_tree">Abstract Syntax Tree</a> (AST) by listening to events emitted by the <a href="https://github.com/LLK/scratch-blocks">scratch-blocks</a> workspace via the <code>blockListener</code>. Each target (code-running object, for example, a sprite) keeps an AST for its blocks. At any time, the current state of an AST can be viewed by inspecting the <code>vm.runtime.targets[...].blocks</code> object.</p>
|
|
<h4>Anatomy of a Block</h4>
|
|
<p>The VM's block representation contains all the important information for execution and storage. Here's an example representing the "when key pressed" script on a workspace:</p>
|
|
<pre class="prettyprint source lang-json"><code>{
|
|
"_blocks": {
|
|
"Q]PK~yJ@BTV8Y~FfISeo": {
|
|
"id": "Q]PK~yJ@BTV8Y~FfISeo",
|
|
"opcode": "event_whenkeypressed",
|
|
"inputs": {
|
|
},
|
|
"fields": {
|
|
"KEY_OPTION": {
|
|
"name": "KEY_OPTION",
|
|
"value": "space"
|
|
}
|
|
},
|
|
"next": null,
|
|
"topLevel": true,
|
|
"parent": null,
|
|
"shadow": false,
|
|
"x": -69.333333333333,
|
|
"y": 174
|
|
}
|
|
},
|
|
"_scripts": [
|
|
"Q]PK~yJ@BTV8Y~FfISeo"
|
|
]
|
|
}
|
|
</code></pre>
|
|
<h2>Testing</h2>
|
|
<pre class="prettyprint source lang-bash"><code>npm test
|
|
</code></pre>
|
|
<pre class="prettyprint source lang-bash"><code>npm run coverage
|
|
</code></pre>
|
|
<h2>Publishing to GitHub Pages</h2>
|
|
<pre class="prettyprint source lang-bash"><code>npm run deploy
|
|
</code></pre>
|
|
<p>This will push the currently built playground to the gh-pages branch of the
|
|
currently tracked remote. If you would like to change where to push to, add
|
|
a repo url argument:</p>
|
|
<pre class="prettyprint source lang-bash"><code>npm run deploy -- -r <your repo url>
|
|
</code></pre>
|
|
<h2>Donate</h2>
|
|
<p>We provide <a href="https://scratch.mit.edu">Scratch</a> free of charge, and want to keep it that way! Please consider making a <a href="https://secure.donationpay.org/scratchfoundation/">donation</a> to support our continued engineering, design, community, and resource development efforts. Donations of any size are appreciated. Thank you!</p></article>
|
|
</section>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<section>
|
|
|
|
<header>
|
|
|
|
<h2>
|
|
engine/block-utility.js
|
|
</h2>
|
|
|
|
|
|
</header>
|
|
|
|
<article>
|
|
|
|
<div class="container-overview">
|
|
|
|
|
|
|
|
<dl class="details">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</dl>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="description"><p>Interface provided to block primitive functions for interacting with the
|
|
runtime, thread, target, and convenient methods.</p></div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</article>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<section>
|
|
|
|
<header>
|
|
|
|
<h2>
|
|
engine/blocks.js
|
|
</h2>
|
|
|
|
|
|
</header>
|
|
|
|
<article>
|
|
|
|
<div class="container-overview">
|
|
|
|
|
|
|
|
<dl class="details">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</dl>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="description"><p>Store and mutate the VM block representation,
|
|
and handle updates from Scratch Blocks events.</p></div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</article>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<section>
|
|
|
|
<header>
|
|
|
|
<h2>
|
|
engine/blocks-execute-cache.js
|
|
</h2>
|
|
|
|
|
|
</header>
|
|
|
|
<article>
|
|
|
|
<div class="container-overview">
|
|
|
|
|
|
|
|
<dl class="details">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</dl>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="description"><p>Access point for private method shared between blocks.js and execute.js for
|
|
caching execute information.</p></div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</article>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<section>
|
|
|
|
<header>
|
|
|
|
<h2>
|
|
engine/blocks-runtime-cache.js
|
|
</h2>
|
|
|
|
|
|
</header>
|
|
|
|
<article>
|
|
|
|
<div class="container-overview">
|
|
|
|
|
|
|
|
<dl class="details">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</dl>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="description"><p>The BlocksRuntimeCache caches data about the top block of scripts so that
|
|
Runtime can iterate a targeted opcode and iterate the returned set faster.
|
|
Many top blocks need to match fields as well as opcode, since that matching
|
|
compares strings in uppercase we can go ahead and uppercase the cached value
|
|
so we don't need to in the future.</p></div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</article>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<section>
|
|
|
|
<header>
|
|
|
|
<h2>
|
|
engine/comment.js
|
|
</h2>
|
|
|
|
|
|
</header>
|
|
|
|
<article>
|
|
|
|
<div class="container-overview">
|
|
|
|
|
|
|
|
<dl class="details">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</dl>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="description"><p>Object representing a Scratch Comment (block or workspace).</p></div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</article>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<section>
|
|
|
|
<header>
|
|
|
|
<h2>
|
|
engine/profiler.js
|
|
</h2>
|
|
|
|
|
|
</header>
|
|
|
|
<article>
|
|
|
|
<div class="container-overview">
|
|
|
|
|
|
|
|
<dl class="details">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</dl>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="description"><p>A way to profile Scratch internal performance. Like what blocks run during a
|
|
step? How much time do they take? How much time is spent inbetween blocks?</p>
|
|
<p>Profiler aims for to spend as little time inside its functions while
|
|
recording. For this it has a simple internal record structure that records a
|
|
series of values for each START and STOP event in a single array. This lets
|
|
all the values be pushed in one call for the array. This simplicity allows
|
|
the contents of the start() and stop() calls to be inlined in areas that are
|
|
called frequently enough to want even greater performance from Profiler so
|
|
what is recorded better reflects on the profiled code and not Profiler
|
|
itself.</p></div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</article>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<section>
|
|
|
|
<header>
|
|
|
|
<h2>
|
|
engine/target.js
|
|
</h2>
|
|
|
|
|
|
</header>
|
|
|
|
<article>
|
|
|
|
<div class="container-overview">
|
|
|
|
|
|
|
|
<dl class="details">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</dl>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="description"><p>A Target is an abstract "code-running" object for the Scratch VM.
|
|
Examples include sprites/clones or potentially physical-world devices.</p></div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</article>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<section>
|
|
|
|
<header>
|
|
|
|
<h2>
|
|
engine/variable.js
|
|
</h2>
|
|
|
|
|
|
</header>
|
|
|
|
<article>
|
|
|
|
<div class="container-overview">
|
|
|
|
|
|
|
|
<dl class="details">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</dl>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="description"><p>Object representing a Scratch variable.</p></div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</article>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<section>
|
|
|
|
<header>
|
|
|
|
<h2>
|
|
extensions/scratch3_video_sensing/debug.js
|
|
</h2>
|
|
|
|
|
|
</header>
|
|
|
|
<article>
|
|
|
|
<div class="container-overview">
|
|
|
|
|
|
|
|
<dl class="details">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</dl>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="description"><p>debug.js</p></div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</article>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<section>
|
|
|
|
<header>
|
|
|
|
<h2>
|
|
extensions/scratch3_video_sensing/library.js
|
|
</h2>
|
|
|
|
|
|
</header>
|
|
|
|
<article>
|
|
|
|
<div class="container-overview">
|
|
|
|
|
|
|
|
<dl class="details">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</dl>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="description"><p>library.js</p>
|
|
<p>Tony Hwang and John Maloney, January 2011
|
|
Michael "Z" Goddard, March 2018</p>
|
|
<p>Video motion sensing primitives.</p></div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</article>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<section>
|
|
|
|
<header>
|
|
|
|
<h2>
|
|
serialization/sb2_specmap.js
|
|
</h2>
|
|
|
|
|
|
</header>
|
|
|
|
<article>
|
|
|
|
<div class="container-overview">
|
|
|
|
|
|
|
|
<dl class="details">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</dl>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="description"><p>The specMap below handles a few pieces of "translation" work between
|
|
the SB2 JSON format and the data we need to run a project
|
|
in the Scratch 3.0 VM.
|
|
Notably:</p>
|
|
<ul>
|
|
<li>Map 2.0 and 1.4 opcodes (forward:) into 3.0-format (motion_movesteps).</li>
|
|
<li>Map ordered, unnamed args to unordered, named inputs and fields.
|
|
Keep this up-to-date as 3.0 blocks are renamed, changed, etc.
|
|
Originally this was generated largely by a hand-guided scripting process.
|
|
The relevant data lives here:
|
|
https://github.com/LLK/scratch-flash/blob/master/src/Specs.as
|
|
(for the old opcode and argument order).
|
|
and here:
|
|
https://github.com/LLK/scratch-blocks/tree/develop/blocks_vertical
|
|
(for the new opcodes and argument names).
|
|
and here:
|
|
https://github.com/LLK/scratch-blocks/blob/develop/tests/
|
|
(for the shadow blocks created for each block).
|
|
I started with the <code>commands</code> array in Specs.as, and discarded irrelevant
|
|
properties. By hand, I matched the opcode name to the 3.0 opcode.
|
|
Finally, I filled in the expected arguments as below.</li>
|
|
</ul></div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</article>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<section>
|
|
|
|
<header>
|
|
|
|
<h2>
|
|
serialization/sb2.js
|
|
</h2>
|
|
|
|
|
|
</header>
|
|
|
|
<article>
|
|
|
|
<div class="container-overview">
|
|
|
|
|
|
|
|
<dl class="details">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</dl>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="description"><p>Partial implementation of an SB2 JSON importer.
|
|
Parses provided JSON and then generates all needed
|
|
scratch-vm runtime structures.</p></div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</article>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<section>
|
|
|
|
<header>
|
|
|
|
<h2>
|
|
serialization/sb3.js
|
|
</h2>
|
|
|
|
|
|
</header>
|
|
|
|
<article>
|
|
|
|
<div class="container-overview">
|
|
|
|
|
|
|
|
<dl class="details">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</dl>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="description"><p>An SB3 serializer and deserializer. Parses provided
|
|
JSON and then generates all needed scratch-vm runtime structures.</p></div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</article>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<section>
|
|
|
|
<header>
|
|
|
|
<h2>
|
|
util/cast.js
|
|
</h2>
|
|
|
|
|
|
</header>
|
|
|
|
<article>
|
|
|
|
<div class="container-overview">
|
|
|
|
|
|
|
|
<dl class="details">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</dl>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="description"><p>Utilities for casting and comparing Scratch data-types.
|
|
Scratch behaves slightly differently from JavaScript in many respects,
|
|
and these differences should be encapsulated below.
|
|
For example, in Scratch, add(1, join("hello", world")) -> 1.
|
|
This is because "hello world" is cast to 0.
|
|
In JavaScript, 1 + Number("hello" + "world") would give you NaN.
|
|
Use when coercing a value before computation.</p></div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</article>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<section>
|
|
|
|
<header>
|
|
|
|
<h2>
|
|
util/timer.js
|
|
</h2>
|
|
|
|
|
|
</header>
|
|
|
|
<article>
|
|
|
|
<div class="container-overview">
|
|
|
|
|
|
|
|
<dl class="details">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</dl>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="description"><h2>A utility for accurately measuring time.
|
|
To use:</h2>
|
|
<h2>var timer = new Timer();
|
|
timer.start();
|
|
... pass some time ...
|
|
var timeDifference = timer.timeElapsed();</h2>
|
|
<p>Or, you can use the <code>time</code> and <code>relativeTime</code>
|
|
to do some measurement yourself.</p></div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</article>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<section>
|
|
|
|
<header>
|
|
|
|
<h2>
|
|
util/uid.js
|
|
</h2>
|
|
|
|
|
|
</header>
|
|
|
|
<article>
|
|
|
|
<div class="container-overview">
|
|
|
|
|
|
|
|
<dl class="details">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</dl>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="description"><p>UID generator, from Blockly.</p></div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</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> |