kopia lustrzana https://github.com/backface/turtlestitch
removed a bunch of "experimental" tags in the code and documentation
rodzic
5b0cd94795
commit
32a5900215
|
@ -19,10 +19,10 @@
|
|||
* new "position" choice in OF reporter's attribute dropdown, reports a list of XY coordinates
|
||||
* new "categories" choice in MY reporter's dropdown, reports an ordered list of all category names whose indices match the "category" reported elsewhere
|
||||
* new "label", "type", "scope", "slots", "defaults", "menus" and "editables" choices in the OF BLOCK block-attribute reporter's dropdown
|
||||
* new "set attribute of block" primitive, experimental
|
||||
* new "define block" primitive, experimental
|
||||
* new "delete block" primitive, experimental
|
||||
* new "this script" primitive, experimental
|
||||
* new "set attribute of block" primitive
|
||||
* new "define block" primitive
|
||||
* new "delete block" primitive
|
||||
* new "this script" primitive
|
||||
* added support to the OF reporter for binding a ring to another one, e.g. THIS SCRIPT, to access its local variables
|
||||
* new localization extension primitives in the "ide" category, hyperized
|
||||
* new extension primitive for importing a costume from a url
|
||||
|
@ -66,6 +66,7 @@
|
|||
* blocks, objects: added green flag symbol to "when I receive" dropdown menu
|
||||
* objects: support "when I receive" hat blocks with (empty) data when clicking the green flag button in the IDE
|
||||
* blocks: fixed reverting a mixed-type polyadic sub-slot back to default
|
||||
* removed a bunch of "experimental" tags in the code and documentation
|
||||
|
||||
### 2022-07-18
|
||||
* German translation update: Changed translation of "point in direction" to "setze Richtung auf ... Grad"
|
||||
|
|
|
@ -17,13 +17,13 @@
|
|||
<script src="src/symbols.js?version=2021-03-03"></script>
|
||||
<script src="src/widgets.js?version=2021-17-09"></script>
|
||||
<script src="src/blocks.js?version=2022-07-19"></script>
|
||||
<script src="src/threads.js?version=2022-07-18"></script>
|
||||
<script src="src/threads.js?version=2022-07-19"></script>
|
||||
<script src="src/objects.js?version=2022-07-19"></script>
|
||||
<script src="src/scenes.js?version=2022-03-03"></script>
|
||||
<script src="src/gui.js?version=2022-07-18"></script>
|
||||
<script src="src/paint.js?version=2021-07-05"></script>
|
||||
<script src="src/lists.js?version=2022-05-19"></script>
|
||||
<script src="src/byob.js?version=2022-07-11"></script>
|
||||
<script src="src/lists.js?version=2022-07-19"></script>
|
||||
<script src="src/byob.js?version=2022-07-19"></script>
|
||||
<script src="src/tables.js?version=2022-01-28"></script>
|
||||
<script src="src/sketch.js?version=2021-11-03"></script>
|
||||
<script src="src/video.js?version=2019-06-27"></script>
|
||||
|
@ -33,7 +33,7 @@
|
|||
<script src="src/store.js?version=2022-04-26"></script>
|
||||
<script src="src/locale.js?version=2022-07-18"></script>
|
||||
<script src="src/cloud.js?version=2021-02-04"></script>
|
||||
<script src="src/api.js?version=2022-04-05"></script>
|
||||
<script src="src/api.js?version=2022-07-19"></script>
|
||||
<script src="src/sha512.js?version=2019-06-27"></script>
|
||||
<script src="src/FileSaver.min.js?version=2019-06-27"></script>
|
||||
<script>
|
||||
|
|
|
@ -46,9 +46,9 @@ detect, isSnapObject, VariableFrame*/
|
|||
|
||||
// Global stuff ////////////////////////////////////////////////////////
|
||||
|
||||
modules.api = '2022-April-05';
|
||||
modules.api = '2022-July-19';
|
||||
|
||||
// IDE_Morph external communication API - experimental
|
||||
// IDE_Morph external communication API
|
||||
/*
|
||||
programmatically trigger scripts from outside of Snap!
|
||||
add message listeners to Snap! broadcasts and access
|
||||
|
|
|
@ -748,7 +748,7 @@ SyntaxElementMorph.prototype.labelParts = {
|
|||
menu: 'shadowedVariablesMenu'
|
||||
},
|
||||
|
||||
// code mapping (experimental)
|
||||
// code mapping
|
||||
|
||||
'%codeKind': {
|
||||
type: 'input',
|
||||
|
|
21
src/byob.js
21
src/byob.js
|
@ -111,7 +111,7 @@ ArgLabelMorph, embedMetadataPNG*/
|
|||
|
||||
// Global stuff ////////////////////////////////////////////////////////
|
||||
|
||||
modules.byob = '2022-July-11';
|
||||
modules.byob = '2022-July-19';
|
||||
|
||||
// Declarations
|
||||
|
||||
|
@ -150,9 +150,9 @@ function CustomBlockDefinition(spec, receiver) {
|
|||
this.variableNames = [];
|
||||
this.comment = null;
|
||||
this.isHelper = false;
|
||||
this.codeMapping = null; // experimental, generate text code
|
||||
this.codeHeader = null; // experimental, generate text code
|
||||
this.translations = {}; // experimental, format: {lang : spec}
|
||||
this.codeMapping = null; // generate text code
|
||||
this.codeHeader = null; // generate text code
|
||||
this.translations = {}; // format: {lang : spec}
|
||||
|
||||
// don't serialize (not needed for functionality):
|
||||
this.receiver = receiver || null; // for serialization only (pointer)
|
||||
|
@ -513,7 +513,7 @@ CustomBlockDefinition.prototype.isDirectlyRecursive = function () {
|
|||
return this.cachedIsRecursive;
|
||||
};
|
||||
|
||||
// CustomBlockDefinition localizing, highly experimental
|
||||
// CustomBlockDefinition localizing
|
||||
|
||||
CustomBlockDefinition.prototype.localizedSpec = function () {
|
||||
if (this.cachedTranslation) {return this.cachedTranslation; }
|
||||
|
@ -580,7 +580,7 @@ CustomBlockDefinition.prototype.updateTranslations = function (text) {
|
|||
});
|
||||
};
|
||||
|
||||
// CustomBlockDefinition API, highly experimental & under construction
|
||||
// CustomBlockDefinition API
|
||||
|
||||
CustomBlockDefinition.prototype.setBlockLabel = function (abstractSpec) {
|
||||
// private - only to be called from a Process that also does housekeeping
|
||||
|
@ -1390,8 +1390,7 @@ CustomCommandBlockMorph.prototype.userMenu = function () {
|
|||
"translations...",
|
||||
function () {
|
||||
hat.parentThatIsA(BlockEditorMorph).editTranslations();
|
||||
},
|
||||
'experimental -\nunder construction'
|
||||
}
|
||||
);
|
||||
if (this.isGlobal) {
|
||||
if (hat.inputs().length < 2) {
|
||||
|
@ -1399,16 +1398,14 @@ CustomCommandBlockMorph.prototype.userMenu = function () {
|
|||
"block variables...",
|
||||
function () {
|
||||
hat.enableBlockVars();
|
||||
},
|
||||
'experimental -\nunder construction'
|
||||
}
|
||||
);
|
||||
} else {
|
||||
menu.addItem(
|
||||
"remove block variables...",
|
||||
function () {
|
||||
hat.enableBlockVars(false);
|
||||
},
|
||||
'experimental -\nunder construction'
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -65,7 +65,7 @@ Context, ZERO, WHITE*/
|
|||
|
||||
// Global settings /////////////////////////////////////////////////////
|
||||
|
||||
modules.lists = '2022-May-19';
|
||||
modules.lists = '2022-July-19';
|
||||
|
||||
var List;
|
||||
var ListWatcherMorph;
|
||||
|
@ -406,7 +406,7 @@ List.prototype.version = function (startRow, rows, startCol, cols) {
|
|||
return v;
|
||||
};
|
||||
|
||||
// List matrix operations and utilities - very experimental
|
||||
// List matrix operations and utilities
|
||||
|
||||
List.prototype.query = function (indices) {
|
||||
// assumes a 2D argument list where each slot represents
|
||||
|
@ -1083,7 +1083,7 @@ List.prototype.hasOnlyAtomicData = function () {
|
|||
});
|
||||
};
|
||||
|
||||
// List-to-block (experimental)
|
||||
// List-to-block
|
||||
|
||||
List.prototype.blockify = function (limit = 500, count = [0]) {
|
||||
var block = SpriteMorph.prototype.blockForSelector('reportNewList'),
|
||||
|
|
|
@ -1933,13 +1933,13 @@ SpriteMorph.prototype.init = function (globals) {
|
|||
this.isCorpse = false; // indicate whether a sprite/clone has been deleted
|
||||
this.cloneOriginName = '';
|
||||
|
||||
// volume and stereo-pan support, experimental:
|
||||
// volume and stereo-pan support
|
||||
this.volume = 100;
|
||||
this.gainNode = null; // must be lazily initialized in Chrome, sigh...
|
||||
this.pan = 0;
|
||||
this.pannerNode = null; // must be lazily initialized in Chrome, sigh...
|
||||
|
||||
// frequency player, experimental
|
||||
// frequency player
|
||||
this.freqPlayer = null; // Note, to be lazily initialized
|
||||
|
||||
// pen color dimensions support
|
||||
|
@ -8110,7 +8110,7 @@ StageMorph.prototype.init = function (globals) {
|
|||
this.tempo = 60; // bpm
|
||||
this.lastMessage = '';
|
||||
|
||||
// volume and stereo-pan support, experimental:
|
||||
// volume and stereo-pan support
|
||||
this.volume = 100;
|
||||
this.gainNode = null; // must be lazily initialized in Chrome, sigh...
|
||||
this.pan = 0;
|
||||
|
@ -8169,10 +8169,10 @@ StageMorph.prototype.init = function (globals) {
|
|||
this.mirrorVideo = true;
|
||||
this.videoMotion = null;
|
||||
|
||||
// world map client - experimental, transient
|
||||
// world map client, transient
|
||||
this.worldMap = new WorldMap();
|
||||
|
||||
// Snap! API event listeners - experimental, transient
|
||||
// Snap! API event listeners, transient
|
||||
this.messageCallbacks = {}; // name : [functions]
|
||||
|
||||
StageMorph.uber.init.call(this);
|
||||
|
@ -8918,7 +8918,7 @@ StageMorph.prototype.fireGreenFlagEvent = function () {
|
|||
};
|
||||
|
||||
StageMorph.prototype.runStopScripts = function () {
|
||||
// experimental: Allow each sprite to run one last step before termination
|
||||
// Allow each sprite to run one last step before termination
|
||||
// usage example: Stop a robot or device associated with the sprite
|
||||
this.receiveUserInteraction('stopped', true, true);
|
||||
this.children.forEach(morph => {
|
||||
|
|
|
@ -65,7 +65,7 @@ StagePickerMorph, CustomBlockDefinition*/
|
|||
|
||||
/*jshint esversion: 11, bitwise: false, evil: true*/
|
||||
|
||||
modules.threads = '2022-July-18';
|
||||
modules.threads = '2022-July-19';
|
||||
|
||||
var ThreadManager;
|
||||
var Process;
|
||||
|
@ -6707,7 +6707,7 @@ Process.prototype.unflash = function () {
|
|||
}
|
||||
};
|
||||
|
||||
// Process - Block attributes, DEFINE and introspection prims (experimental)
|
||||
// Process - Block attributes, DEFINE and introspection prims
|
||||
|
||||
Process.prototype.reportBlockAttribute = function (attribute, block) {
|
||||
// hyper-dyadic
|
||||
|
@ -6976,7 +6976,6 @@ Process.prototype.slotSpec = function (num) {
|
|||
};
|
||||
|
||||
Process.prototype.doSetBlockAttribute = function (attribute, block, val) {
|
||||
// highly experimental & under construction
|
||||
var choice = this.inputOption(attribute),
|
||||
rcvr = this.blockReceiver(),
|
||||
ide = rcvr.parentThatIsA(IDE_Morph),
|
||||
|
@ -7195,7 +7194,6 @@ Process.prototype.doSetBlockAttribute = function (attribute, block, val) {
|
|||
};
|
||||
|
||||
Process.prototype.doDefineBlock = function (upvar, label, context) {
|
||||
// highly experimental & under construction
|
||||
var rcvr = this.blockReceiver(),
|
||||
ide = rcvr.parentThatIsA(IDE_Morph),
|
||||
vars = this.context.outerContext.variables,
|
||||
|
@ -7319,7 +7317,6 @@ Process.prototype.compileBlockReferences = function (context, varName) {
|
|||
};
|
||||
|
||||
Process.prototype.doDeleteBlock = function (context) {
|
||||
// highly experimental & under construction
|
||||
var rcvr = this.blockReceiver(),
|
||||
ide = rcvr.parentThatIsA(IDE_Morph),
|
||||
stage = ide.stage,
|
||||
|
|
Ładowanie…
Reference in New Issue