kopia lustrzana https://github.com/backface/turtlestitch
refactored block assembly, experimental
rodzic
a5b8d10bfe
commit
cb1246a4c4
|
@ -68,6 +68,9 @@
|
||||||
* Chinese, thanks, Simon!
|
* Chinese, thanks, Simon!
|
||||||
* Brazilian Portuguese, thank you, Cassiano D'Andrea!
|
* Brazilian Portuguese, thank you, Cassiano D'Andrea!
|
||||||
|
|
||||||
|
### 2021-12-06
|
||||||
|
* blocks, threads: refactored block assembly, experimental
|
||||||
|
|
||||||
### 2021-12-05
|
### 2021-12-05
|
||||||
* blocks, threads, objects: introspection & syntax analysis, experimental
|
* blocks, threads, objects: introspection & syntax analysis, experimental
|
||||||
|
|
||||||
|
|
|
@ -16,11 +16,11 @@
|
||||||
<script src="src/morphic.js?version=2021-07-09"></script>
|
<script src="src/morphic.js?version=2021-07-09"></script>
|
||||||
<script src="src/symbols.js?version=2021-03-03"></script>
|
<script src="src/symbols.js?version=2021-03-03"></script>
|
||||||
<script src="src/widgets.js?version=2021-17-09"></script>
|
<script src="src/widgets.js?version=2021-17-09"></script>
|
||||||
<script src="src/blocks.js?version=2021-12-05"></script>
|
<script src="src/blocks.js?version=2021-12-06"></script>
|
||||||
<script src="src/threads.js?version=2021-12-05"></script>
|
<script src="src/threads.js?version=2021-12-06"></script>
|
||||||
<script src="src/objects.js?version=2021-12-05"></script>
|
<script src="src/objects.js?version=2021-12-05"></script>
|
||||||
<script src="src/scenes.js?version=2021-11-24"></script>
|
<script src="src/scenes.js?version=2021-11-24"></script>
|
||||||
<script src="src/gui.js?version=2021-12-05"></script>
|
<script src="src/gui.js?version=2021-12-06"></script>
|
||||||
<script src="src/paint.js?version=2021-07-05"></script>
|
<script src="src/paint.js?version=2021-07-05"></script>
|
||||||
<script src="src/lists.js?version=2021-07-19"></script>
|
<script src="src/lists.js?version=2021-07-19"></script>
|
||||||
<script src="src/byob.js?version=2021-11-23"></script>
|
<script src="src/byob.js?version=2021-11-23"></script>
|
||||||
|
|
|
@ -160,7 +160,7 @@ CustomCommandBlockMorph, ToggleButtonMorph, DialMorph, SnapExtensions*/
|
||||||
|
|
||||||
// Global stuff ////////////////////////////////////////////////////////
|
// Global stuff ////////////////////////////////////////////////////////
|
||||||
|
|
||||||
modules.blocks = '2021-December-05';
|
modules.blocks = '2021-December-06';
|
||||||
|
|
||||||
var SyntaxElementMorph;
|
var SyntaxElementMorph;
|
||||||
var BlockMorph;
|
var BlockMorph;
|
||||||
|
@ -3732,7 +3732,7 @@ BlockMorph.prototype.equalTo = function (other) {
|
||||||
this.blockSpec === other.blockSpec;
|
this.blockSpec === other.blockSpec;
|
||||||
};
|
};
|
||||||
|
|
||||||
BlockMorph.prototype.copyWithInputs = function (inputs, parameterNames) {
|
BlockMorph.prototype.copyWithInputs = function (inputs) {
|
||||||
// private - only to be called from a Context
|
// private - only to be called from a Context
|
||||||
var cpy = this.fullCopy(),
|
var cpy = this.fullCopy(),
|
||||||
slots = cpy.inputs(),
|
slots = cpy.inputs(),
|
||||||
|
@ -3812,7 +3812,7 @@ BlockMorph.prototype.copyWithInputs = function (inputs, parameterNames) {
|
||||||
});
|
});
|
||||||
|
|
||||||
// create a function to return
|
// create a function to return
|
||||||
return cpy.reify(parameterNames);
|
return cpy.reify(dta.slice(count));
|
||||||
};
|
};
|
||||||
|
|
||||||
BlockMorph.prototype.reify = function (inputNames) {
|
BlockMorph.prototype.reify = function (inputNames) {
|
||||||
|
@ -5560,7 +5560,7 @@ CommandBlockMorph.prototype.extract = function () {
|
||||||
|
|
||||||
// CommandBlockMorph components - EXPERIMENTAL
|
// CommandBlockMorph components - EXPERIMENTAL
|
||||||
|
|
||||||
CommandBlockMorph.prototype.components = function (parameterNames) {
|
CommandBlockMorph.prototype.components = function (parameterNames = []) {
|
||||||
var seq = new List(this.blockSequence()).map(block => {
|
var seq = new List(this.blockSequence()).map(block => {
|
||||||
var expr = block.fullCopy(),
|
var expr = block.fullCopy(),
|
||||||
nb = expr.nextBlock(),
|
nb = expr.nextBlock(),
|
||||||
|
@ -5570,7 +5570,7 @@ CommandBlockMorph.prototype.components = function (parameterNames) {
|
||||||
}
|
}
|
||||||
expr.fixBlockColor(null, true);
|
expr.fixBlockColor(null, true);
|
||||||
inputs = expr.inputs();
|
inputs = expr.inputs();
|
||||||
parts = new List([expr.reify(parameterNames)]);
|
parts = new List([expr.reify()]);
|
||||||
inputs.forEach(inp => {
|
inputs.forEach(inp => {
|
||||||
var val;
|
var val;
|
||||||
if (inp instanceof BlockMorph) {
|
if (inp instanceof BlockMorph) {
|
||||||
|
@ -5615,6 +5615,7 @@ CommandBlockMorph.prototype.components = function (parameterNames) {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
parts.at(1).updateEmptySlots();
|
parts.at(1).updateEmptySlots();
|
||||||
|
parameterNames.forEach(name => parts.add(name));
|
||||||
return parts;
|
return parts;
|
||||||
});
|
});
|
||||||
return seq.length() === 1 ? seq.at(1) : seq;
|
return seq.length() === 1 ? seq.at(1) : seq;
|
||||||
|
@ -6407,12 +6408,12 @@ ReporterBlockMorph.prototype.userDestroy = function () {
|
||||||
|
|
||||||
// ReporterBlockMorph components - EXPERIMENTAL
|
// ReporterBlockMorph components - EXPERIMENTAL
|
||||||
|
|
||||||
ReporterBlockMorph.prototype.components = function (parameterNames) {
|
ReporterBlockMorph.prototype.components = function (parameterNames = []) {
|
||||||
var expr = this.fullCopy(),
|
var expr = this.fullCopy(),
|
||||||
inputs = expr.inputs(),
|
inputs = expr.inputs(),
|
||||||
parts;
|
parts;
|
||||||
expr.fixBlockColor(null, true);
|
expr.fixBlockColor(null, true);
|
||||||
parts = new List([expr.reify(parameterNames)]);
|
parts = new List([expr.reify()]);
|
||||||
inputs.forEach(inp => {
|
inputs.forEach(inp => {
|
||||||
var val;
|
var val;
|
||||||
if (inp instanceof BlockMorph) {
|
if (inp instanceof BlockMorph) {
|
||||||
|
@ -6456,6 +6457,7 @@ ReporterBlockMorph.prototype.components = function (parameterNames) {
|
||||||
expr.revertToDefaultInput(inp, true);
|
expr.revertToDefaultInput(inp, true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
parameterNames.forEach(name => parts.add(name));
|
||||||
parts.at(1).updateEmptySlots();
|
parts.at(1).updateEmptySlots();
|
||||||
return parts;
|
return parts;
|
||||||
};
|
};
|
||||||
|
|
|
@ -86,7 +86,7 @@ BlockVisibilityDialogMorph, ThreadManager*/
|
||||||
|
|
||||||
// Global stuff ////////////////////////////////////////////////////////
|
// Global stuff ////////////////////////////////////////////////////////
|
||||||
|
|
||||||
modules.gui = '2021-December-05';
|
modules.gui = '2021-December-06';
|
||||||
|
|
||||||
// Declarations
|
// Declarations
|
||||||
|
|
||||||
|
@ -4770,7 +4770,7 @@ IDE_Morph.prototype.aboutSnap = function () {
|
||||||
module, btn1, btn2, btn3, btn4, licenseBtn, translatorsBtn,
|
module, btn1, btn2, btn3, btn4, licenseBtn, translatorsBtn,
|
||||||
world = this.world();
|
world = this.world();
|
||||||
|
|
||||||
aboutTxt = 'Snap! 7 - dev211205 -\nBuild Your Own Blocks\n\n'
|
aboutTxt = 'Snap! 7 - dev211206 -\nBuild Your Own Blocks\n\n'
|
||||||
+ 'Copyright \u24B8 2008-2021 Jens M\u00F6nig and '
|
+ 'Copyright \u24B8 2008-2021 Jens M\u00F6nig and '
|
||||||
+ 'Brian Harvey\n'
|
+ 'Brian Harvey\n'
|
||||||
+ 'jens@moenig.org, bh@cs.berkeley.edu\n\n'
|
+ 'jens@moenig.org, bh@cs.berkeley.edu\n\n'
|
||||||
|
|
|
@ -64,7 +64,7 @@ SnapExtensions, AlignmentMorph, TextMorph, Cloud, HatBlockMorph*/
|
||||||
|
|
||||||
/*jshint esversion: 6*/
|
/*jshint esversion: 6*/
|
||||||
|
|
||||||
modules.threads = '2021-December-05';
|
modules.threads = '2021-December-06';
|
||||||
|
|
||||||
var ThreadManager;
|
var ThreadManager;
|
||||||
var Process;
|
var Process;
|
||||||
|
@ -7136,13 +7136,10 @@ Context.prototype.components = function () {
|
||||||
Context.prototype.equalTo = function (other) {
|
Context.prototype.equalTo = function (other) {
|
||||||
var c1 = this.components(),
|
var c1 = this.components(),
|
||||||
c2 = other.components();
|
c2 = other.components();
|
||||||
if (!(new List(this.inputs).equalTo(new List(other.inputs)))) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (snapEquals(c1.cdr(), c2.cdr())) {
|
if (snapEquals(c1.cdr(), c2.cdr())) {
|
||||||
return snapEquals(this.expression, other.expression);
|
return snapEquals(this.expression, other.expression);
|
||||||
}
|
}
|
||||||
return snapEquals(c1, c2);
|
return false;
|
||||||
};
|
};
|
||||||
|
|
||||||
Context.prototype.copyWithInputs = function (inputs) {
|
Context.prototype.copyWithInputs = function (inputs) {
|
||||||
|
|
2
sw.js
2
sw.js
|
@ -1,4 +1,4 @@
|
||||||
var snapVersion = '7-dev211205'
|
var snapVersion = '7-dev211206'
|
||||||
|
|
||||||
var cacheName = 'snap-pwa',
|
var cacheName = 'snap-pwa',
|
||||||
filesToCache = [
|
filesToCache = [
|
||||||
|
|
Ładowanie…
Reference in New Issue