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