BYOB4 (Snap) history --------------------- 110511 ------ * Scrolling by dragging * Scrolling by dragging velocity 110516 ------ * Autoscrolling 110518 ------ * Textures 110524 ------ * CommandSlotMorphs (%c) 110527 ------ * Templates * Padding for ScrollFrames 110530 ------ * C-slots only attach to block's tops (no longer also to bottoms) 110531 ------ * ReporterBlockMorphs 110628 ------ * World menu in every Morph's developersMenu * changed the standard to "sharp shadows" because of Firefox5 bug 110630 ------ * StringMorphs and TextMorph notify their parents of layout changes * TypeInSlotMorphs (round - %n - and rectangular - %s -) 110705 ------ * block specs 110706 ------ * BooleanSlotMorphs (%b) * Color mixing * contrast setting for SyntaxElementMorphs * exit confirmation 110707 ------ * BlockMorph color changing * entry field tabbing (Firefox and Opera only) * label multi-line wrapping for command blocks 110708 ------ * extrapolate blockSpec upon label part drop 110711 ------ * optional intra-block-label word wrap (flag) layout setting 110712 ------ * rectangular reporter layout * label mutli-line wrapping for reporters * user-definable label line breaks (%br) * font size customizable for individual menus * ArrowMorphs 110714 ------ * optional drop-down menu for type-in slots * read-only menus for type-in slots (%inst, %var, %lst, %obj, %eff, %dir, %cst, %snd, %key, %idx, %msg, %att, %fun, %typ) * global pixel color sensing * renamed TypeInSlotMorph to InputSlotMorph 110718 ------ * ColorSlotMorphs (%clr) * collision detection groundwork 110719 ------ * high-level documentation and code comments * optional blurred slot shades (off by default) 110720 ------ * HatBlocks 110721 ------ * scrollBarSize can now optionally be specified individually * block highlighting * specs for any-unevaluated and Boolean-unevaluated inputs 110722 ------ * stringField settable as numeric, supresses textual input * editable numeric input slots supress textual type-in * evaluation helper methods and properties * collision detection 110726 ------ * MultiArgMorphs (%mult%x) 110727 ------ * Morphic: fullBounds() now ignores hidden submorphs * MultiArgMorphs: Optional label and minimum inputs settings, '%inputs' * Morphic: simplified BoxMorph rendering * Same-colored (white), semi-transparent reporter drop feedbacks 110804 ------ * evaluator: ThreadManager, Process, StackFrame, VariableFrame 110810 ------ * nasciturus: objects, gui 110811 ------ * Morphic: broken rect fix for float-positioned Morphs * Blocks: straight bottom edges for stop-blocks * PenMorph: round line ends 110816 ------ * Morphic: SpeechBubbleMorphs and bubble help for menus/buttons 110817 ------ * Threads: evaluating reporters * showValue bubbles 110818 ------ * optimizations for menu bubble help and Blocks layout 110823 ------ * Sprite-scoped variables 110824 ------ * numerical virtual keyboard (pop-up-sliders - taken out again) * sliders now work with negative floor numbers * mouse wheel scroll events (thanks, Nathan!) 110826 ------ * TemplateSlotMorphs (%t, %mult%t, %scriptVars) * script variables * lockable inputs 110911 ------ * Morphic: PenMorph.setHeading() fixed 110912 ------ * Threads: renamed StackFrame to Context * Blocks: persistent input default values 110913 ------ * basic Lambda primitives * basic Lambda visualization (showBubble) 110914 ------ * c-slots in primitives are now static by default * basic THE BLOCK, CALL and REPORT 110919 ------ * formal parameters * recursion * closures 110922 ------ * implicit parameters 110923 ------ * error catching for block evaluation 110926 ------ * basic message broadcasting * thread forking (LAUNCH block) 110927 ------ * WAIT block 110928 ------ * GLIDE block 111006 ------ * force yield after timeout 111007 ------ * swooshy hat block tops (instead of circle segments) 111009 ------ * call/cc 111010 ------ * hybrid scope 111012 ------ * autolambdafying CSlotMorphs (C-shaped) and CommandSlotMorphs (inline) * Morphic: right mouse click emulation for Mac 111017 ------ * another take on continuations 111019 ------ * Morphic: scrolling speedup 111020 ------ * unevaluated FunctionSlotMorphs (%f) * autolambdafying ReporterSlotMorphs (%r, %p) 111021 ------ * GUI: CellMorphs (for stage watchers) 111025 ------ * GUI: WatcherMorphs * SHOW VARIABLE, HIDE VARIABLE blocks 111026 ------ * Blocks: empty choice for input drop down menus * automatic positioning of new watchers * watchers on temporary variables are deleted by HIDE VARIABLE block (not hidden) * HIDE VARIABLE with empty input deletes all watchers on temporary vars 111027 ------ * more extensive Error catching * slider for numerical text entries in "mobile mode" * bigger blocks in "mobile mode" 111031 ------ * new: widgets.js * PushButtons 111102 ------ * Morphic: StringMorph shadows 111103 ------ * widgets: ToggleMorphs (check boxes and radio buttons) * non-variable watchers * checkbox toggling for variable watchers 111108 ------ * Lists 111109 ------ * ListWatchers (basics) 111111 ------ * Morphic: visibleBounds() bug fix 111114 ------ * Morphic: fullImageClassic() for ListWatcherMorphs * Threads: MultiArgMorph now use Lists instead of JS-Arrays * List Blocks * GUI: adding/removing variables doesn't make the palette jump to the top * Blocks: list type slots 111115 ------ * Morphic: more tolerant grabbing * Lists: synchronized Watcher updating (speed-up) 111116 ------ * Lists: conservative watcher updating (speed-up) * GUI: logo pane and 'about' box 111118 ------ * Lists: watcher shows list range (speed-up, stability) 111121 ------ * Atomicity (WARP) * REPEAT UNTIL * WAIT UNTIL 111123 ------ * hybrid lists (arrayed and linked) * CONS and CDR 111124 ------ * layout optimization for dropped and snapping blocks (thanks, John!) * Equality testing for lists (thanks, Brian!) 111128 ------ * layout optimization merged into Morphic.js -> trackChanges 111129 ------ * Widgets: DialogBoxMorph basics 111130 ------ * Widgets: AlignmentMorphs * keyboard events for DialogBoxMorphs 111202 ------ * Widgets: InputFieldMorphs * Prompters based on DialogBoxes * Renaming of input templates * Morphic keyboard enhancements 111205 ------ * new primitives: MOUSE X, MOUSE Y, TIMER, RESET TIMER 111207 ------ * byob.js (CustomBlockDefinition, CustomCommandBlockMorph) 111209 ------ * BlockEditor basics for CustomCommandBlocks 111212 ------ * BlockDialogMorph (basics) * CustomReporterBlockMorph 111213 ------ * call/cc for lambdas and custom blocks 111214 ------ * feature: deleting block instances and custom block definitions 120106 ------ * InputSlotEditor basics * bigger tick for radio buttons * PushButtons redone for WebKIT 2 compatibility 120109 ------ * Morphic: single quote input for WebKIT 2 compatibility * BYOB: BlockInputFragmentMorphs 120115 ------ * BlockLabelPlaceHolderMorphs * BlockInputDialogMorph (short form) 120119 ------ * MOD, TRUE and FALSE reporter blocks * AND, OR, NOT reporter blocks * BROADCAST AND WAIT command block 120120 ------ * Morphic: question mark input for WebKIT 2 compatibility (does it break on Windows?) * Morphic: turtle tracks round endings for WebKIT 2 compatibility (cannot use closePath()) 120123 ------ * Threads: tail call elimination 120125 ------ * STORE: serializing, saving and loading projects, first pass, all by Nathan * HatBlock bezier curve fixed width * settings for AlignmentMorph regarding handling of hidden Morphs * GUI enhancements * input slot long form dialog variant outline * pointless filters in most FORINS in response to Nathan's derogatory comments :-)