-
Notifications
You must be signed in to change notification settings - Fork 16
/
first-constrained-steps.html
250 lines (250 loc) · 216 KB
/
first-constrained-steps.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
<!DOCTYPE html><html><head><title>first-constrained-steps</title><meta name="apple-mobile-web-app-capable" content="yes"><link rel="shortcut icon" href="core/media/lively.ico"><link rel="apple-touch-icon-precomposed" href="core/media/apple-touch-icon.png"><style type="text/css" id="ace_editor">.ace_editor {position: relative;overflow: hidden;font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace;font-size: 12px;line-height: normal;direction: ltr;}.ace_scroller {position: absolute;overflow: hidden;top: 0;bottom: 0;background-color: inherit;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;}.ace_content {position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;cursor: text;min-width: 100%;}.ace_dragging, .ace_dragging * {cursor: move !important;}.ace_dragging .ace_scroller:before{position: absolute;top: 0;left: 0;right: 0;bottom: 0;content: '';background: rgba(250, 250, 250, 0.01);z-index: 1000;}.ace_dragging.ace_dark .ace_scroller:before{background: rgba(0, 0, 0, 0.01);}.ace_selecting, .ace_selecting * {cursor: text !important;}.ace_gutter {position: absolute;overflow : hidden;width: auto;top: 0;bottom: 0;left: 0;cursor: default;z-index: 4;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;}.ace_gutter-active-line {position: absolute;left: 0;right: 0;}.ace_scroller.ace_scroll-left {box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;}.ace_gutter-cell {padding-left: 19px;padding-right: 6px;background-repeat: no-repeat;}.ace_gutter-cell.ace_error {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: 2px center;}.ace_gutter-cell.ace_warning {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");background-position: 2px center;}.ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");background-position: 2px center;}.ace_dark .ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");}.ace_scrollbar {position: absolute;right: 0;bottom: 0;z-index: 6;}.ace_scrollbar-inner {position: absolute;cursor: text;left: 0;top: 0;}.ace_scrollbar-v{overflow-x: hidden;overflow-y: scroll;top: 0;}.ace_scrollbar-h {overflow-x: scroll;overflow-y: hidden;left: 0;}.ace_print-margin {position: absolute;height: 100%;}.ace_text-input {position: absolute;z-index: 0;width: 0.5em;height: 1em;opacity: 0;background: transparent;-moz-appearance: none;appearance: none;border: none;resize: none;outline: none;overflow: hidden;font: inherit;padding: 0 1px;margin: 0 -1px;text-indent: -1em;-ms-user-select: text;-moz-user-select: text;-webkit-user-select: text;user-select: text;}.ace_text-input.ace_composition {background: #f8f8f8;color: #111;z-index: 1000;opacity: 1;text-indent: 0;}.ace_layer {z-index: 1;position: absolute;overflow: hidden;white-space: pre;height: 100%;width: 100%;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;/* setting pointer-events: auto; on node under the mouse, which changesduring scroll, will break mouse wheel scrolling in Safari */pointer-events: none;}.ace_gutter-layer {position: relative;width: auto;text-align: right;pointer-events: auto;}.ace_text-layer {font: inherit !important;}.ace_cjk {display: inline-block;text-align: center;}.ace_cursor-layer {z-index: 4;}.ace_cursor {z-index: 4;position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;border-left: 2px solid}.ace_slim-cursors .ace_cursor {border-left-width: 1px;}.ace_overwrite-cursors .ace_cursor {border-left-width: 0px;border-bottom: 1px solid;}.ace_hidden-cursors .ace_cursor {opacity: 0.2;}.ace_smooth-blinking .ace_cursor {-moz-transition: opacity 0.18s;-webkit-transition: opacity 0.18s;-o-transition: opacity 0.18s;-ms-transition: opacity 0.18s;transition: opacity 0.18s;}.ace_editor.ace_multiselect .ace_cursor {border-left-width: 1px;}.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {position: absolute;z-index: 3;}.ace_marker-layer .ace_selection {position: absolute;z-index: 5;}.ace_marker-layer .ace_bracket {position: absolute;z-index: 6;}.ace_marker-layer .ace_active-line {position: absolute;z-index: 2;}.ace_marker-layer .ace_selected-word {position: absolute;z-index: 4;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;}.ace_line .ace_fold {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;display: inline-block;height: 11px;margin-top: -2px;vertical-align: middle;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");background-repeat: no-repeat, repeat-x;background-position: center center, top left;color: transparent;border: 1px solid black;-moz-border-radius: 2px;-webkit-border-radius: 2px;border-radius: 2px;cursor: pointer;pointer-events: auto;}.ace_dark .ace_fold {}.ace_fold:hover{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");}.ace_tooltip {background-color: #FFF;background-image: -webkit-linear-gradient(top, transparent, rgba(0, 0, 0, 0.1));background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));border: 1px solid gray;border-radius: 1px;box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);color: black;display: block;max-width: 100%;padding: 3px 4px;position: fixed;z-index: 999999;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;cursor: default;white-space: pre;word-wrap: break-word;line-height: normal;font-style: normal;font-weight: normal;letter-spacing: normal;pointer-events: none;}.ace_folding-enabled > .ace_gutter-cell {padding-right: 13px;}.ace_fold-widget {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;margin: 0 -12px 0 1px;display: none;width: 11px;vertical-align: top;background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: center;border-radius: 3px;border: 1px solid transparent;cursor: pointer;}.ace_folding-enabled .ace_fold-widget {display: inline-block; }.ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");}.ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");}.ace_fold-widget:hover {border: 1px solid rgba(0, 0, 0, 0.3);background-color: rgba(255, 255, 255, 0.2);-moz-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);-webkit-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);}.ace_fold-widget:active {border: 1px solid rgba(0, 0, 0, 0.4);background-color: rgba(0, 0, 0, 0.05);-moz-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);-webkit-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);}/*** Dark version for fold widgets*/.ace_dark .ace_fold-widget {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");}.ace_dark .ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget:hover {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);background-color: rgba(255, 255, 255, 0.1);}.ace_dark .ace_fold-widget:active {-moz-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);-webkit-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);}.ace_fold-widget.ace_invalid {background-color: #FFB4B4;border-color: #DE5555;}.ace_fade-fold-widgets .ace_fold-widget {-moz-transition: opacity 0.4s ease 0.05s;-webkit-transition: opacity 0.4s ease 0.05s;-o-transition: opacity 0.4s ease 0.05s;-ms-transition: opacity 0.4s ease 0.05s;transition: opacity 0.4s ease 0.05s;opacity: 0;}.ace_fade-fold-widgets:hover .ace_fold-widget {-moz-transition: opacity 0.05s ease 0.05s;-webkit-transition: opacity 0.05s ease 0.05s;-o-transition: opacity 0.05s ease 0.05s;-ms-transition: opacity 0.05s ease 0.05s;transition: opacity 0.05s ease 0.05s;opacity:1;}.ace_underline {text-decoration: underline;}.ace_bold {font-weight: bold;}.ace_nobold .ace_bold {font-weight: normal;}.ace_italic {font-style: italic;}.ace_error-marker {background-color: rgba(255, 0, 0,0.2);position: absolute;z-index: 9;}.ace_highlight-marker {background-color: rgba(255, 255, 0,0.2);position: absolute;z-index: 8;}</style><style type="text/css" id="ace-tm">.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm {background-color: #FFFFFF;color: black;}.ace-tm .ace_cursor {color: black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;border-radius: 2px;}.ace-tm .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}</style><style type="text/css">.ace_snippet-marker { -moz-box-sizing: border-box; box-sizing: border-box; background: rgba(194, 193, 208, 0.09); border: 1px dotted rgba(211, 208, 235, 0.62); position: absolute;}</style><style type="text/css">.ace_autocomplete.ace-tm .ace_marker-layer .ace_active-line { background-color: #CAD6FA; z-index: 1;}.ace_autocomplete.ace-tm .ace_line-hover { border: 1px solid #abbffe; margin-top: -1px; background: rgba(233,233,253,0.4);}.ace_autocomplete .ace_line-hover { position: absolute; z-index: 2;}.ace_rightAlignedText { color: gray; display: inline-block; position: absolute; right: 4px; text-align: right; z-index: -1;}.ace_autocomplete .ace_completion-highlight{ color: #000; text-shadow: 0 0 0.01em;}.ace_autocomplete { width: 280px; z-index: 200000; background: #fbfbfb; color: #444; border: 1px lightgray solid; position: fixed; box-shadow: 2px 3px 5px rgba(0,0,0,.2); line-height: 1.4;}</style><style type="text/css" id="base-theme-for-1">*[data-lively-morphid="1"] .World, *[data-lively-morphid="1"].World {
font-family: Helvetica;
}
*[data-lively-morphid="1"] .Box, *[data-lively-morphid="1"].Box {
border: 1px solid #aaa;
}
*[data-lively-morphid="1"] .Selection, *[data-lively-morphid="1"].Selection {
background: rgba(222,222,222, 0.6);
border: 1px solid #aaa;
}
*[data-lively-morphid="1"] .Box.selection-indicator, *[data-lively-morphid="1"].Box.selection-indicator {
background: none;
outline: 4px solid #E73F22;
}
*[data-lively-morphid="1"] .Text.edit-field, *[data-lively-morphid="1"].Text.edit-field {
background: white;
box-shadow: inset 1px 1px 1px #666;
border: 1px solid #aaa;
border-radius: 2px;
}
*[data-lively-morphid="1"] .Button, *[data-lively-morphid="1"].Button {
font-size: 9pt;
color: #333;
text-align: center;
text-shadow: 0 1px 0 #EEE;
background: #EEE;
border-radius: 2px;
box-shadow: inset 1px 1px 1px rgba(255, 255, 255, 0.8);
cursor: pointer;
border: 1px solid #888;
}
*[data-lively-morphid="1"] .Button.pressed, *[data-lively-morphid="1"].Button.pressed {
box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.5);
}
*[data-lively-morphid="1"] .Button.toggled, *[data-lively-morphid="1"].Button.toggled {
color: black;
}
*[data-lively-morphid="1"] .Button.disabled, *[data-lively-morphid="1"].Button.disabled {
color: gray;
}
*[data-lively-morphid="1"] .Text.vertically-centered > div, .Text.vertically-centered > [data-lively-node-type="origin-node"] > div, .Text.vertically-centered > [data-lively-node-type="origin-node"] > [data-lively-node-type="morph-node"] > div, *[data-lively-morphid="1"].Text.vertically-centered > div, .Text.vertically-centered > [data-lively-node-type="origin-node"] > div, .Text.vertically-centered > [data-lively-node-type="origin-node"] > [data-lively-node-type="morph-node"] > div {
display: table !important;
}
*[data-lively-morphid="1"] .Text.vertically-centered span, *[data-lively-morphid="1"].Text.vertically-centered span {
display: table-cell;
vertical-align: middle;
text-align: center;
}
*[data-lively-morphid="1"] .Button .Text > div, .Button .Text > [data-lively-node-type="origin-node"] > div, .Button .Text > [data-lively-node-type="origin-node"] > [data-lively-node-type="morph-node"] > div, *[data-lively-morphid="1"].Button .Text > div, .Button .Text > [data-lively-node-type="origin-node"] > div, .Button .Text > [data-lively-node-type="origin-node"] > [data-lively-node-type="morph-node"] > div {
display: table !important;
}
*[data-lively-morphid="1"] .Button .Text span, *[data-lively-morphid="1"].Button .Text span {
display: table-cell;
vertical-align: middle;
text-align: center;
}
*[data-lively-morphid="1"] .Menu, *[data-lively-morphid="1"].Menu {
box-shadow: 0px 4px 15px #666;
}
*[data-lively-morphid="1"] .PartsBinItem, *[data-lively-morphid="1"].PartsBinItem {
box-shadow: 1px 1px 5px 1px #DDD;
}
*[data-lively-morphid="1"] .Window, *[data-lively-morphid="1"].Window {
background-color: rgb(244, 244, 244);
box-shadow: 0px 4px 15px #666;
border-radius: 3px;
}
*[data-lively-morphid="1"] .Window.highlighted, *[data-lively-morphid="1"].Window.highlighted {
background-color: rgb(222, 222, 222);
box-shadow: 0px 5px 20px #000;
border: 1px solid white;
}
*[data-lively-morphid="1"] .Window .TitleBar, *[data-lively-morphid="1"].Window .TitleBar, *[data-lively-morphid="1"] .Window .reframe-handle, *[data-lively-morphid="1"].Window .reframe-handle {
border: none;
background: none;
}
*[data-lively-morphid="1"] .reframe-handle.corner, *[data-lively-morphid="1"].reframe-handle.corner {
cursor: se-resize;
}
*[data-lively-morphid="1"] .reframe-handle.right, *[data-lively-morphid="1"].reframe-handle.right {
cursor: e-resize;
}
*[data-lively-morphid="1"] .reframe-handle.bottom, *[data-lively-morphid="1"].reframe-handle.bottom {
cursor: s-resize;
}
*[data-lively-morphid="1"] .Window .Text.window-title, *[data-lively-morphid="1"].Window .Text.window-title {
font-size: 10pt;
text-align: left;
margin-left: 2px;
color: #555;
}
*[data-lively-morphid="1"] .Window.highlighted .Text.window-title, *[data-lively-morphid="1"].Window.highlighted .Text.window-title {
font-weight: bold;
color: #333;
}
*[data-lively-morphid="1"] .Button.WindowControl, *[data-lively-morphid="1"].Button.WindowControl {
border: 1px solid #aaa;
border-radius: 2px;
background: #EEE;
font-weight: normal;
}
*[data-lively-morphid="1"] .Button.WindowControl.close, *[data-lively-morphid="1"].Button.WindowControl.close {
background: #E73F22;
color: white;
}
*[data-lively-morphid="1"] .MorphList .selected, *[data-lively-morphid="1"].MorphList .selected {
outline: 3px orange solid;
}
*[data-lively-morphid="1"] .List .list-item, *[data-lively-morphid="1"].List .list-item {
font-family: Helvetica,Verdana,sans-serif;
font-size: 10pt;
color: black;
}
*[data-lively-morphid="1"] .List .list-item.selected, *[data-lively-morphid="1"].List .list-item.selected {
background: rgb(42, 87, 192) !important;
color: white !important;
}
*[data-lively-morphid="1"] .HorizontalDivider, *[data-lively-morphid="1"].HorizontalDivider {
cursor: n-resize;
}
*[data-lively-morphid="1"] .Slider, *[data-lively-morphid="1"].Slider {
border-radius: 6px;
border: 1px solid #BBB;
background: #EEE;
box-shadow: inset 1px 1px 1px #666;
}
*[data-lively-morphid="1"] .SliderKnob, *[data-lively-morphid="1"].SliderKnob {
box-shadow: inset 1px 1px 1px rgba(255, 255, 255, 0.8);
cursor: pointer;
border: 1px solid #888;
border-radius: 5px;
background-image: -webkit-linear-gradient(top, #EEE, #CCC);
background-image: -moz-linear-gradient(top, #EEE, #CCC);
background: linear-gradient(bottom, #EEE, #CCC);
}
*[data-lively-morphid="1"] .FlapHandle, *[data-lively-morphid="1"].FlapHandle {
border: 1px solid black;
}
*[data-lively-morphid="1"] .AccordionHeader, *[data-lively-morphid="1"].AccordionHeader {
background-image: -webkit-linear-gradient(top, #eee, #ccc);
background-image: -moz-linear-gradient(top, #eee, #ccc);
border-radius: 3px;
box-shadow: inset 1px 1px 1px rgba(255, 255, 255, 0.8);
cursor: pointer;
border: 1px solid #888;
}
*[data-lively-morphid="1"] .AccordionHeader.active, *[data-lively-morphid="1"].AccordionHeader.active {
background-image: -webkit-linear-gradient(top, #fff, #eee);
background-image: -moz-linear-gradient(top, #fff, #eee);
}
*[data-lively-morphid="1"] .messageMorph, *[data-lively-morphid="1"].messageMorph {
background: rgba(0,0,0,0.6);
border-radius: 20px;
}
*[data-lively-morphid="1"] .messageMorph .closeButton, *[data-lively-morphid="1"].messageMorph .closeButton {
visibility: hidden;
line-height: 3.6;
margin-left: 0px;
font-size: 12pt;
text-shadow: 0px 0px ✗4px rgba(255, 255, 255, 0.5);
color: white;
}
*[data-lively-morphid="1"] .messageMorph:hover .closeButton, *[data-lively-morphid="1"].messageMorph:hover .closeButton, *[data-lively-morphid="1"] .messageMorph.maximized .closeButton, *[data-lively-morphid="1"].messageMorph.maximized .closeButton {
visibility: visible;
cursor: pointer;
}
*[data-lively-morphid="1"] .messageMorph .messageText, *[data-lively-morphid="1"].messageMorph .messageText {
font-size: 10pt;
font-family: Helvetica Neue,Helvetica,Arial;
color: white;
white-space: normal;
word-wrap: break-all !important;
line-height: 1.2 !important;
text-shadow: 0px 1px 2px rgba(255, 255, 255, 0.7);
}
*[data-lively-morphid="1"] .messageMorph:hover .messageText, *[data-lively-morphid="1"].messageMorph:hover .messageText, *[data-lively-morphid="1"] .messageMorph.maximized .messageText, *[data-lively-morphid="1"].messageMorph.maximized .messageText {
margin-left: 0px;
}
*[data-lively-morphid="1"] .messageMorph.success, *[data-lively-morphid="1"].messageMorph.success {
background: rgba(0,180,0,0.6);
}
*[data-lively-morphid="1"] .messageMorph.success .messageText, *[data-lively-morphid="1"].messageMorph.success .messageText {
text-shadow: 0px 1px 2px rgba(220, 255, 220, 0.7);
}
*[data-lively-morphid="1"] .messageMorph.failure, *[data-lively-morphid="1"].messageMorph.failure {
background: rgb(180,0,0);
}
*[data-lively-morphid="1"] .messageMorph.failure .messageText, *[data-lively-morphid="1"].messageMorph.failure .messageText {
text-shadow: 0px 1px 2px rgba(255, 220, 220, 0.7);
}
*[data-lively-morphid="1"] #ace-editor, *[data-lively-morphid="1"]#ace-editor {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
}
*[data-lively-morphid="1"] .ace-global-var, *[data-lively-morphid="1"].ace-global-var {
position: absolute;
border-bottom: 2px rgb(255,120, 0) dotted;
}
*[data-lively-morphid="1"] .ace_dark .ace-global-var, *[data-lively-morphid="1"].ace_dark .ace-global-var {
border-bottom: 2px rgba(255,150, 0, 0.6) dotted;
}
*[data-lively-morphid="1"] .ace-syntax-error, *[data-lively-morphid="1"].ace-syntax-error {
position: absolute;
border-radius: 3px;
background: rgba(255,0,0,0.7);
}
*[data-lively-morphid="1"] .ace-marker-warning, *[data-lively-morphid="1"].ace-marker-warning {
position: absolute;
border-radius: 3px;
background: rgba(204,204,0,0.7);
}
</style><style type="text/css" id="style-for-1">*[data-lively-morphid="1"] span, span[data-lively-morphid="1"] {
font-family: 13px Helvetica, arial, freesans, clean, sans-serif;
line-height: 1.3;
}
</style><style type="text/css" id="lively-base-style">*:not(:focus) {
-moz-user-select: -moz-none;
-webkit-user-select: none;
-ms-user-select: none;
user-select: none;
}
.selectable *, .visibleSelection:focus, .visibleSelection:focus * {
-moz-user-select: element;
-webkit-user-select: auto;
-ms-user-select: auto;
user-select: auto;
}
.morphNode {
-webkit-transform-origin: 0 0;
}
.Morph {
/* to fix z-index / z-transform bug: https://code.google.com/p/chromium/issues/detail?id=205744 */
-webkit-transform: translate(0,0);
}
.World {
/* World does not set transform to allow fixed positioning */
-webkit-transform: none;
}
:focus:not(input) {
outline:none;
}
.visibleSelection:focus {
outline: 2px auto -webkit-focus-ring-color;
}
</style><style type="text/css" id="ace-chrome">.ace-chrome .ace_gutter {background: #ebebeb;color: #333;overflow : hidden;}.ace-chrome .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-chrome {background-color: #FFFFFF;color: black;}.ace-chrome .ace_cursor {color: black;}.ace-chrome .ace_invisible {color: rgb(191, 191, 191);}.ace-chrome .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-chrome .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-chrome .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-chrome .ace_invalid {background-color: rgb(153, 0, 0);color: white;}.ace-chrome .ace_fold {}.ace-chrome .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-chrome .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-chrome .ace_support.ace_type,.ace-chrome .ace_support.ace_class.ace-chrome .ace_support.ace_other {color: rgb(109, 121, 222);}.ace-chrome .ace_variable.ace_parameter {font-style:italic;color:#FD971F;}.ace-chrome .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-chrome .ace_comment {color: #236e24;}.ace-chrome .ace_comment.ace_doc {color: #236e24;}.ace-chrome .ace_comment.ace_doc.ace_tag {color: #236e24;}.ace-chrome .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-chrome .ace_variable {color: rgb(49, 132, 149);}.ace-chrome .ace_xml-pe {color: rgb(104, 104, 91);}.ace-chrome .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-chrome .ace_heading {color: rgb(12, 7, 255);}.ace-chrome .ace_list {color:rgb(185, 6, 144);}.ace-chrome .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-chrome .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-chrome .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-chrome .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-chrome .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-chrome .ace_gutter-active-line {background-color : #dcdcdc;}.ace-chrome .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-chrome .ace_storage,.ace-chrome .ace_keyword,.ace-chrome .ace_meta.ace_tag {color: rgb(147, 15, 128);}.ace-chrome .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-chrome .ace_string {color: #1A1AA6;}.ace-chrome .ace_entity.ace_other.ace_attribute-name {color: #994409;}.ace-chrome .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}</style></head><body><div class="morphNode" tabindex="-1" data-lively-node-type="morph-node" style="position: absolute; left: 5px; top: 5px;"><div id="null" class="Morph World" data-lively-morphid="1" style="position: absolute; left: 0px; top: 0px; width: 1498px; height: 1998px; background-color: rgb(240, 240, 240); opacity: 1; border: 1px solid rgb(216, 216, 216); padding: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; overflow: hidden; background-position: initial initial; background-repeat: initial initial;"><div data-lively-node-type="origin-node" style="top: 0px !important; left: 0px !important; position: absolute !important; margin-top: -1px !important; margin-left: -1px !important;"><div class="morphNode" tabindex="-1" data-lively-node-type="morph-node" style="position: absolute; left: 28px; top: 25px;"><div id="null" class="Morph Box" data-lively-morphid="5F555C57-4172-41DA-8978-FC1BF46D3731" style="position: absolute; left: 0px; top: 0px; width: 749px; height: 2177px; background-color: rgb(255, 255, 255); opacity: 1; border: 1px solid rgb(240, 240, 240); padding: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; overflow: visible; background-position: initial initial; background-repeat: initial initial;"><div data-lively-node-type="origin-node" style="top: 0px !important; left: 0px !important; position: absolute !important; margin-top: -1px !important; margin-left: -1px !important;"><div class="morphNode" data-lively-node-type="morph-node" style="position: absolute; left: 10px; top: 125px;"><div id="null" class="Morph Text" data-lively-morphid="37F4AC36-272D-48AF-A0B5-8972DD7A0830" style="position: absolute; left: 0px; top: 0px; width: 723px; height: 18px; opacity: 1; border: 0px solid rgb(0, 0, 0); padding: 2px 4px; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; overflow: visible;"><div class="visibleSelection" tabindex="-1" contenteditable="true" style="position: absolute; word-wrap: break-word; font-size: 11pt; font-family: Arial, sans-serif; white-space: pre-wrap; color: rgb(0, 0, 0); word-break: normal; min-width: calc(100% - 8px);"><span id="_3072" style="font-weight: bold; font-size: 13pt;">Tim's examples<br></span></div></div></div><div class="morphNode" data-lively-node-type="morph-node" style="position: absolute; left: 10px; top: 340px;"><div id="null" class="Morph Text" data-lively-morphid="F0544495-0E0E-423B-AB33-59BD9EAF8008" style="position: absolute; left: 0px; top: 0px; width: 723px; height: 15px; opacity: 1; border: 0px solid rgb(0, 0, 0); padding: 2px 4px; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; overflow: visible;"><div class="visibleSelection" tabindex="-1" contenteditable="true" style="position: absolute; word-wrap: break-word; font-size: 11pt; font-family: Arial, sans-serif; white-space: pre-wrap; color: rgb(0, 0, 0); word-break: normal; min-width: calc(100% - 8px);"><span id="_3072">Pointers to Tim's implementation:<br></span></div></div></div><div class="morphNode" data-lively-node-type="morph-node" style="position: absolute; left: 10px; top: 162px;"><div id="null" class="Morph Text" data-lively-morphid="F737B423-1CEE-44B0-ABF2-8FFA6A07270B" style="position: absolute; left: 0px; top: 0px; width: 723px; height: 34px; opacity: 1; border: 0px solid rgb(0, 0, 0); padding: 2px 4px; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; overflow: visible;"><div class="visibleSelection" tabindex="-1" contenteditable="true" style="position: absolute; word-wrap: break-word; font-size: 11pt; font-family: Arial, sans-serif; white-space: pre-wrap; color: rgb(0, 0, 0); word-break: normal; min-width: calc(100% - 8px);"><span id="_6127">sNAKE:
(Hit "reset" and open halo on a blue box, then use D(rag) halo item to move box.)<br></span></div></div></div><div class="morphNode" tabindex="-1" data-lively-node-type="morph-node" style="position: absolute; left: 10px; top: 561px;"><div class="Morph CodeEditor ace_editor emacs-mode ace_nobold ace-chrome" id="ace-editor" data-lively-morphid="117C35B1-C63E-401A-90D4-31391DBF8948" style="width: 731px; height: 133px; border: 0px solid rgb(95, 94, 95);"><textarea class="ace_text-input" wrap="off" spellcheck="false" style="opacity: 0; height: 15px; width: 6.00015625px; right: 735.99984375px; bottom: 118px;"></textarea><div class="ace_gutter" style="display: none;"><div class="ace_layer ace_gutter-layer ace_folding-enabled" style="margin-top: 0px; height: 163px; width: 40px;"><div class="ace_gutter-cell " style="height: 15px;">1</div></div><div class="ace_gutter-active-line" style="top: 0px; height: 15px;"></div></div><div class="ace_scroller" style="left: 0px; right: 0px; bottom: 0px;"><div class="ace_content" style="margin-top: 0px; width: 731px; height: 163px; margin-left: 0px;"><div class="ace_layer ace_print-margin-layer"><div class="ace_print-margin" style="left: 484.0125px; visibility: hidden;"></div></div><div class="ace_layer ace_marker-layer"></div><div class="ace_layer ace_text-layer" style="padding: 0px 4px;"><div class="ace_line" style="height:15px"><span class="ace_identifier">obj</span> <span class="ace_keyword ace_operator">=</span> <span class="ace_paren ace_lparen">{</span><span class="ace_identifier">x</span><span class="ace_punctuation ace_operator">:</span> <span class="ace_constant ace_numeric">15</span><span class="ace_punctuation ace_operator">,</span> <span class="ace_identifier">y</span><span class="ace_punctuation ace_operator">:</span> <span class="ace_constant ace_numeric">0</span><span class="ace_paren ace_rparen">}</span><span class="ace_punctuation ace_operator">;</span></div><div class="ace_line" style="height:15px"><span class="ace_identifier">always</span><span class="ace_punctuation ace_operator">:</span> <span class="ace_paren ace_lparen">{</span> <span class="ace_identifier">obj</span><span class="ace_punctuation ace_operator">.</span><span class="ace_support ace_constant">y</span> <span class="ace_keyword ace_operator">==</span> <span class="ace_identifier">obj</span><span class="ace_punctuation ace_operator">.</span><span class="ace_support ace_constant">x</span><span class="ace_keyword ace_operator">*</span><span class="ace_constant ace_numeric">2</span> <span class="ace_paren ace_rparen">}</span></div><div class="ace_line" style="height:15px"></div><div class="ace_line" style="height:15px"><span class="ace_comment">// then try to do</span></div><div class="ace_line" style="height:15px"><span class="ace_identifier">obj</span><span class="ace_punctuation ace_operator">.</span><span class="ace_support ace_constant">x</span> <span class="ace_keyword ace_operator">=</span> <span class="ace_constant ace_numeric">11</span></div><div class="ace_line" style="height:15px"><span class="ace_identifier">obj</span><span class="ace_punctuation ace_operator">.</span><span class="ace_support ace_constant">y</span></div></div><div class="ace_layer ace_marker-layer"></div><div class="ace_layer ace_cursor-layer ace_hidden-cursors"><div class="ace_cursor" style="left: 4px; top: 0px; width: 6.00015625px; height: 15px;"></div></div></div></div><div style="height: auto; width: auto; top: -100px; left: -100px; visibility: hidden; position: fixed; overflow: visible; white-space: nowrap;">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</div><div class="ace_scrollbar ace_scrollbar-v" style="display: none; width: 20px; bottom: 0px;"><div class="ace_scrollbar-inner" style="width: 20px; height: 90px;"></div></div><div class="ace_scrollbar ace_scrollbar-h" style="display: none; height: 20px; left: 0px; right: 0px;"><div class="ace_scrollbar-inner" style="height: 20px; width: 731px;"></div></div></div></div><div class="morphNode" tabindex="-1" data-lively-node-type="morph-node" style="position: absolute; left: 10px; top: 743px;"><div class="Morph CodeEditor ace_editor emacs-mode ace_nobold ace-chrome" id="ace-editor" data-lively-morphid="BCB6C84B-3934-48E8-B77C-1884F8CC9782" style="width: 731px; height: 297px; border: 0px solid rgb(95, 94, 95);"><textarea class="ace_text-input" wrap="off" spellcheck="false" style="opacity: 0; height: 15px; width: 6.00015625px; right: 735.99984375px; bottom: 282px;"></textarea><div class="ace_gutter" style="display: none;"><div class="ace_layer ace_gutter-layer ace_folding-enabled" style="margin-top: 0px; height: 327px; width: 40px;"><div class="ace_gutter-cell " style="height: 15px;">1</div></div><div class="ace_gutter-active-line" style="top: 0px; height: 15px;"></div></div><div class="ace_scroller" style="left: 0px; right: 0px; bottom: 0px;"><div class="ace_content" style="margin-top: 0px; width: 731px; height: 327px; margin-left: 0px;"><div class="ace_layer ace_print-margin-layer"><div class="ace_print-margin" style="left: 484.0125px; visibility: hidden;"></div></div><div class="ace_layer ace_marker-layer"></div><div class="ace_layer ace_text-layer" style="padding: 0px 4px;"><div class="ace_line" style="height:15px"><span class="ace_identifier">pos</span> <span class="ace_keyword ace_operator">=</span> <span class="ace_variable ace_language">this</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">globalBounds</span><span class="ace_paren ace_lparen">(</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">topRight</span><span class="ace_paren ace_lparen">(</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">addXY</span><span class="ace_paren ace_lparen">(</span><span class="ace_constant ace_numeric">100</span><span class="ace_punctuation ace_operator">,</span> <span class="ace_constant ace_numeric">20</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">;</span></div><div class="ace_line" style="height:15px"><span class="ace_identifier">line</span> <span class="ace_keyword ace_operator">=</span> <span class="ace_identifier">$part</span><span class="ace_paren ace_lparen">(</span><span class="ace_string">'Line'</span><span class="ace_punctuation ace_operator">,</span> <span class="ace_string">'PartsBin/Basic'</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">openInWorld</span><span class="ace_paren ace_lparen">(</span><span class="ace_identifier">pos</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">;</span></div><div class="ace_line" style="height:15px"><span class="ace_identifier">midP</span> <span class="ace_keyword ace_operator">=</span> <span class="ace_identifier">$part</span><span class="ace_paren ace_lparen">(</span><span class="ace_string">'Ellipse'</span><span class="ace_punctuation ace_operator">,</span> <span class="ace_string">'PartsBin/Basic'</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">openInWorld</span><span class="ace_paren ace_lparen">(</span><span class="ace_identifier">pos</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">;</span></div><div class="ace_line" style="height:15px"><span class="ace_identifier">midP</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">setExtent</span><span class="ace_paren ace_lparen">(</span><span class="ace_identifier">pt</span><span class="ace_paren ace_lparen">(</span><span class="ace_constant ace_numeric">10</span><span class="ace_punctuation ace_operator">,</span><span class="ace_constant ace_numeric">10</span><span class="ace_paren ace_rparen">))</span><span class="ace_punctuation ace_operator">;</span></div><div class="ace_line" style="height:15px"></div><div class="ace_line" style="height:15px"><span class="ace_punctuation ace_operator">;</span><span class="ace_paren ace_lparen">(</span><span class="ace_storage ace_type">function</span><span class="ace_paren ace_lparen">(</span><span class="ace_paren ace_rparen">)</span> <span class="ace_paren ace_lparen">{</span></div><div class="ace_line" style="height:15px"> <span class="ace_keyword">return</span> <span class="ace_identifier">midP</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">getPosition</span><span class="ace_paren ace_lparen">(</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">eqPt</span><span class="ace_paren ace_lparen">(</span><span class="ace_identifier">line</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">bounds</span><span class="ace_paren ace_lparen">(</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">center</span><span class="ace_paren ace_lparen">(</span><span class="ace_paren ace_rparen">))</span><span class="ace_punctuation ace_operator">;</span></div><div class="ace_line" style="height:15px"><span class="ace_paren ace_rparen">})</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">shouldBeTrue</span><span class="ace_paren ace_lparen">({</span><span class="ace_identifier">line</span><span class="ace_punctuation ace_operator">:</span> <span class="ace_identifier">line</span><span class="ace_punctuation ace_operator">,</span> <span class="ace_identifier">midP</span><span class="ace_punctuation ace_operator">:</span> <span class="ace_identifier">midP</span><span class="ace_paren ace_rparen">})</span><span class="ace_punctuation ace_operator">;</span></div><div class="ace_line" style="height:15px"><span class="ace_comment">// Error: Constraint expression returned an object that does not respond to #enable</span></div><div class="ace_line" style="height:15px"><span class="ace_comment">//</span></div><div class="ace_line" style="height:15px"><span class="ace_comment">// IIRC I had a problem with lines and their bounds in constraint </span></div><div class="ace_line" style="height:15px"><span class="ace_comment">// because there was a layer in there somewhere -- Tim</span></div><div class="ace_line" style="height:15px"></div><div class="ace_line" style="height:15px"><span class="ace_comment">// doit repeatidly to move line:</span></div><div class="ace_line" style="height:15px"><span class="ace_identifier">line</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">getControlPoint</span><span class="ace_paren ace_lparen">(</span><span class="ace_constant ace_numeric">0</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">.</span><span class="ace_support ace_function">moveBy</span><span class="ace_paren ace_lparen">(</span><span class="ace_identifier">pt</span><span class="ace_paren ace_lparen">(</span><span class="ace_constant ace_numeric">10</span><span class="ace_punctuation ace_operator">,</span><span class="ace_constant ace_numeric">0</span><span class="ace_paren ace_rparen">))</span><span class="ace_punctuation ace_operator">;</span></div><div class="ace_line" style="height:15px"></div><div class="ace_line" style="height:15px"><span class="ace_comment">// cleanup</span></div><div class="ace_line" style="height:15px"><span class="ace_paren ace_lparen">[</span><span class="ace_identifier">line</span><span class="ace_punctuation ace_operator">,</span><span class="ace_identifier">midP</span><span class="ace_paren ace_rparen">]</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">invoke</span><span class="ace_paren ace_lparen">(</span><span class="ace_string">'remove'</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">;</span></div></div><div class="ace_layer ace_marker-layer"></div><div class="ace_layer ace_cursor-layer ace_hidden-cursors"><div class="ace_cursor" style="left: 4px; top: 0px; width: 6.00015625px; height: 15px;"></div></div></div></div><div style="height: auto; width: auto; top: -100px; left: -100px; visibility: hidden; position: fixed; overflow: visible; white-space: nowrap;">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</div><div class="ace_scrollbar ace_scrollbar-v" style="display: none; width: 20px; bottom: 0px;"><div class="ace_scrollbar-inner" style="width: 20px; height: 270px;"></div></div><div class="ace_scrollbar ace_scrollbar-h" style="display: none; height: 20px; left: 0px; right: 0px;"><div class="ace_scrollbar-inner" style="height: 20px; width: 731px;"></div></div></div></div><div class="morphNode" tabindex="-1" data-lively-node-type="morph-node" style="position: absolute; left: 10px; top: 215px;"><div class="Morph CodeEditor ace_editor emacs-mode ace_nobold ace-chrome" id="ace-editor" data-lively-morphid="76EBBD65-7711-4951-9BB7-7D40ACF9126A" style="width: 731px; height: 21px; border: 0px solid rgb(95, 94, 95);"><textarea class="ace_text-input" wrap="off" spellcheck="false" style="opacity: 0; height: 15px; width: 6.00015625px; right: 363.99015625000004px; bottom: 6px;"></textarea><div class="ace_gutter" style="display: none;"><div class="ace_layer ace_gutter-layer ace_folding-enabled" style="margin-top: 0px; height: 51px; width: 40px;"><div class="ace_gutter-cell " style="height: 15px;">1</div></div><div class="ace_gutter-active-line" style="top: 0px; height: 15px;"></div></div><div class="ace_scroller" style="left: 0px; right: 0px; bottom: 0px;"><div class="ace_content" style="margin-top: 0px; width: 731px; height: 51px; margin-left: 0px;"><div class="ace_layer ace_print-margin-layer"><div class="ace_print-margin" style="left: 484.0125px; visibility: hidden;"></div></div><div class="ace_layer ace_marker-layer"></div><div class="ace_layer ace_text-layer" style="padding: 0px 4px;"><div class="ace_line" style="height:15px"><span class="ace_identifier">$part</span><span class="ace_paren ace_lparen">(</span><span class="ace_string">'sNAKE'</span><span class="ace_punctuation ace_operator">,</span> <span class="ace_string">'users/timfelgentreff/PartsBin'</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">openInWorld</span><span class="ace_paren ace_lparen">(</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">;</span></div></div><div class="ace_layer ace_marker-layer"></div><div class="ace_layer ace_cursor-layer ace_hidden-cursors"><div class="ace_cursor" style="left: 376.0096875px; top: 0px; width: 6.00015625px; height: 15px;"></div></div></div></div><div style="height: auto; width: auto; top: -100px; left: -100px; visibility: hidden; position: fixed; overflow: visible; white-space: nowrap;">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</div><div class="ace_scrollbar ace_scrollbar-v" style="display: none; width: 20px; bottom: 0px;"><div class="ace_scrollbar-inner" style="width: 20px; height: 15px;"></div></div><div class="ace_scrollbar ace_scrollbar-h" style="display: none; height: 20px; left: 0px; right: 0px;"><div class="ace_scrollbar-inner" style="height: 20px; width: 731px;"></div></div></div></div><div class="morphNode" tabindex="-1" data-lively-node-type="morph-node" style="position: absolute; left: 10px; top: 304px;"><div class="Morph CodeEditor ace_editor emacs-mode ace_nobold ace-chrome" id="ace-editor" data-lively-morphid="640A60A4-3AB5-4095-987B-2309CB282FED" style="width: 731px; height: 21px; border: 0px solid rgb(95, 94, 95);"><textarea class="ace_text-input" wrap="off" spellcheck="false" style="opacity: 0; height: 15px; width: 6.00015625px; right: 735.99984375px; bottom: 6px;"></textarea><div class="ace_gutter" style="display: none;"><div class="ace_layer ace_gutter-layer ace_folding-enabled" style="margin-top: 0px; height: 51px; width: 40px;"><div class="ace_gutter-cell " style="height: 15px;">1</div></div><div class="ace_gutter-active-line" style="top: 0px; height: 15px;"></div></div><div class="ace_scroller" style="left: 0px; right: 0px; bottom: 0px;"><div class="ace_content" style="margin-top: 0px; width: 731px; height: 51px; margin-left: 0px;"><div class="ace_layer ace_print-margin-layer"><div class="ace_print-margin" style="left: 484.0125px; visibility: hidden;"></div></div><div class="ace_layer ace_marker-layer"></div><div class="ace_layer ace_text-layer" style="padding: 0px 4px;"><div class="ace_line" style="height:15px"><span class="ace_identifier">$part</span><span class="ace_paren ace_lparen">(</span><span class="ace_string">'Thermometer'</span><span class="ace_punctuation ace_operator">,</span> <span class="ace_string">'users/timfelgentreff/PartsBin'</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">openInWorld</span><span class="ace_paren ace_lparen">(</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">;</span></div></div><div class="ace_layer ace_marker-layer"></div><div class="ace_layer ace_cursor-layer ace_hidden-cursors"><div class="ace_cursor" style="left: 4px; top: 0px; width: 6.00015625px; height: 15px;"></div></div></div></div><div style="height: auto; width: auto; top: -100px; left: -100px; visibility: hidden; position: fixed; overflow: visible; white-space: nowrap;">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</div><div class="ace_scrollbar ace_scrollbar-v" style="display: none; width: 20px; bottom: 0px;"><div class="ace_scrollbar-inner" style="width: 20px; height: 15px;"></div></div><div class="ace_scrollbar ace_scrollbar-h" style="display: none; height: 20px; left: 0px; right: 0px;"><div class="ace_scrollbar-inner" style="height: 20px; width: 731px;"></div></div></div></div><div class="morphNode" data-lively-node-type="morph-node" style="position: absolute; left: 10px; top: 251px;"><div id="null" class="Morph Text" data-lively-morphid="9F072533-FC6F-4FEF-9CEE-07C7DDFB6386" style="position: absolute; left: 0px; top: 0px; width: 723px; height: 34px; opacity: 1; border: 0px solid rgb(0, 0, 0); padding: 2px 4px; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; overflow: visible;"><div class="visibleSelection" tabindex="-1" contenteditable="true" style="position: absolute; word-wrap: break-word; font-size: 11pt; font-family: Arial, sans-serif; white-space: pre-wrap; color: rgb(0, 0, 0); word-break: normal; min-width: calc(100% - 8px);"><span id="_6127">C/F converter:
(Currently throws errors on label update)<br></span></div></div></div><div class="morphNode" tabindex="-1" data-lively-node-type="morph-node" style="position: absolute; left: 10px; top: 374px;"><div class="Morph CodeEditor ace_editor emacs-mode ace_nobold ace-chrome" id="ace-editor" data-lively-morphid="ABDB09EA-85B6-4389-8178-6C5FED7A0C6C" style="width: 731px; height: 101px; border: 0px solid rgb(95, 94, 95);"><textarea class="ace_text-input" wrap="off" spellcheck="false" style="opacity: 0; height: 15px; width: 6.00015625px; right: 261.9875px; bottom: 71px;"></textarea><div class="ace_gutter" style="display: none;"><div class="ace_layer ace_gutter-layer ace_folding-enabled" style="margin-top: 0px; height: 131px; width: 40px;"><div class="ace_gutter-cell " style="height: 15px;">1</div></div><div class="ace_gutter-active-line" style="top: 15px; height: 15px;"></div></div><div class="ace_scroller" style="left: 0px; right: 0px; bottom: 0px;"><div class="ace_content" style="margin-top: 0px; width: 731px; height: 131px; margin-left: 0px;"><div class="ace_layer ace_print-margin-layer"><div class="ace_print-margin" style="left: 484.0125px; visibility: hidden;"></div></div><div class="ace_layer ace_marker-layer"><div class="ace_selection ace_start" style="height:15px;width:474.01234375px;top:15px;left:4px;"></div></div><div class="ace_layer ace_text-layer" style="padding: 0px 4px;"><div class="ace_line" style="height:15px"><span class="ace_identifier">$world</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">browseCode</span><span class="ace_paren ace_lparen">(</span><span class="ace_constant ace_language">null</span><span class="ace_punctuation ace_operator">,</span> <span class="ace_constant ace_language">null</span><span class="ace_punctuation ace_operator">,</span> <span class="ace_string">"users.timfelgentreff.babelsberg.constraintinterpreter"</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">;</span></div><div class="ace_line" style="height:15px"><span class="ace_identifier">$world</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">browseCode</span><span class="ace_paren ace_lparen">(</span><span class="ace_constant ace_language">null</span><span class="ace_punctuation ace_operator">,</span> <span class="ace_constant ace_language">null</span><span class="ace_punctuation ace_operator">,</span> <span class="ace_string">"users.timfelgentreff.babelsberg.deltablue_ext"</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">;</span></div><div class="ace_line" style="height:15px"><span class="ace_identifier">$world</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">browseCode</span><span class="ace_paren ace_lparen">(</span><span class="ace_constant ace_language">null</span><span class="ace_punctuation ace_operator">,</span> <span class="ace_constant ace_language">null</span><span class="ace_punctuation ace_operator">,</span> <span class="ace_string">"users.timfelgentreff.babelsberg.cassowary_ext"</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">;</span></div><div class="ace_line" style="height:15px"></div><div class="ace_line" style="height:15px"><span class="ace_comment">// tests (include code for examples):</span></div><div class="ace_line" style="height:15px"><span class="ace_identifier">$world</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">browseCode</span><span class="ace_paren ace_lparen">(</span><span class="ace_constant ace_language">null</span><span class="ace_punctuation ace_operator">,</span> <span class="ace_constant ace_language">null</span><span class="ace_punctuation ace_operator">,</span> <span class="ace_string">"users.timfelgentreff.babelsberg.tests"</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">;</span></div></div><div class="ace_layer ace_marker-layer"></div><div class="ace_layer ace_cursor-layer ace_hidden-cursors"><div class="ace_cursor" style="left: 478.01234375px; top: 15px; width: 6.00015625px; height: 15px;"></div></div></div></div><div style="height: auto; width: auto; top: -100px; left: -100px; visibility: hidden; position: fixed; overflow: visible; white-space: nowrap;">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</div><div class="ace_scrollbar ace_scrollbar-v" style="display: none; width: 20px; bottom: 0px;"><div class="ace_scrollbar-inner" style="width: 20px; height: 90px;"></div></div><div class="ace_scrollbar ace_scrollbar-h" style="display: none; height: 20px; left: 0px; right: 0px;"><div class="ace_scrollbar-inner" style="height: 20px; width: 731px;"></div></div></div></div><div class="morphNode" data-lively-node-type="morph-node" style="position: absolute; left: 10px; top: 527px;"><div id="null" class="Morph Text" data-lively-morphid="42AAD7E9-1196-4139-A8D7-53C44A584497" style="position: absolute; left: 0px; top: 0px; width: 723px; height: 15px; opacity: 1; border: 0px solid rgb(0, 0, 0); padding: 2px 4px; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; overflow: visible;"><div class="visibleSelection" tabindex="-1" contenteditable="true" style="position: absolute; word-wrap: break-word; font-size: 11pt; font-family: Arial, sans-serif; white-space: pre-wrap; color: rgb(0, 0, 0); word-break: normal; min-width: calc(100% - 8px);"><span id="_3072">Setting up a simple (delta blue) constraint:<br></span></div></div></div><div class="morphNode" data-lively-node-type="morph-node" style="position: absolute; left: 10px; top: 709px;"><div id="null" class="Morph Text" data-lively-morphid="D86AFCC2-5FBF-4F19-8462-3CA2CE4731B1" style="position: absolute; left: 0px; top: 0px; width: 723px; height: 15px; opacity: 1; border: 0px solid rgb(0, 0, 0); padding: 2px 4px; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; overflow: visible;"><div class="visibleSelection" tabindex="-1" contenteditable="true" style="position: absolute; word-wrap: break-word; font-size: 11pt; font-family: Arial, sans-serif; white-space: pre-wrap; color: rgb(0, 0, 0); word-break: normal; min-width: calc(100% - 8px);"><span id="_3072">Midpoint example, the first straightforward approach failed<br></span></div></div></div><div class="morphNode" data-lively-node-type="morph-node" style="position: absolute; left: 10px; top: 1055px;"><div id="null" class="Morph Text" data-lively-morphid="228372FB-3EA4-4FA7-BC30-C0DC05741F87" style="position: absolute; left: 0px; top: 0px; width: 723px; height: 15px; opacity: 1; border: 0px solid rgb(0, 0, 0); padding: 2px 4px; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; overflow: visible;"><div class="visibleSelection" tabindex="-1" contenteditable="true" style="position: absolute; word-wrap: break-word; font-size: 11pt; font-family: Arial, sans-serif; white-space: pre-wrap; color: rgb(0, 0, 0); word-break: normal; min-width: calc(100% - 8px);"><span id="_3072">2nd approach: we were able to "approximate" a line (it's endpoints)<br></span></div></div></div><div class="morphNode" tabindex="-1" data-lively-node-type="morph-node" style="position: absolute; left: 10px; top: 1089px;"><div class="Morph CodeEditor ace_editor emacs-mode ace_nobold ace-chrome" id="ace-editor" data-lively-morphid="2B4FC97D-3E28-487B-B8FB-9EB679308206" style="width: 731px; height: 377px; border: 0px solid rgb(95, 94, 95);"><textarea class="ace_text-input" wrap="off" spellcheck="false" style="opacity: 0; height: 15px; width: 6.00015625px; right: 735.99984375px; bottom: 362px;"></textarea><div class="ace_gutter" style="display: none;"><div class="ace_layer ace_gutter-layer ace_folding-enabled" style="margin-top: 0px; height: 407px; width: 40px;"><div class="ace_gutter-cell " style="height: 15px;">1</div></div><div class="ace_gutter-active-line" style="top: 0px; height: 15px;"></div></div><div class="ace_scroller" style="left: 0px; right: 0px; bottom: 0px;"><div class="ace_content" style="margin-top: 0px; width: 731px; height: 407px; margin-left: 0px;"><div class="ace_layer ace_print-margin-layer"><div class="ace_print-margin" style="left: 484.0125px; visibility: hidden;"></div></div><div class="ace_layer ace_marker-layer"></div><div class="ace_layer ace_text-layer" style="padding: 0px 4px;"><div class="ace_line" style="height:15px"><span class="ace_identifier">pos</span> <span class="ace_keyword ace_operator">=</span> <span class="ace_variable ace_language">this</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">globalBounds</span><span class="ace_paren ace_lparen">(</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">topRight</span><span class="ace_paren ace_lparen">(</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">addXY</span><span class="ace_paren ace_lparen">(</span><span class="ace_constant ace_numeric">100</span><span class="ace_punctuation ace_operator">,</span> <span class="ace_constant ace_numeric">20</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">;</span></div><div class="ace_line" style="height:15px"><span class="ace_identifier">start</span> <span class="ace_keyword ace_operator">=</span> <span class="ace_identifier">$part</span><span class="ace_paren ace_lparen">(</span><span class="ace_string">'Rectangle'</span><span class="ace_punctuation ace_operator">,</span> <span class="ace_string">'PartsBin/Basic'</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">openInWorld</span><span class="ace_paren ace_lparen">(</span><span class="ace_identifier">pos</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">;</span></div><div class="ace_line" style="height:15px"><span class="ace_identifier">end</span> <span class="ace_keyword ace_operator">=</span> <span class="ace_identifier">$part</span><span class="ace_paren ace_lparen">(</span><span class="ace_string">'Rectangle'</span><span class="ace_punctuation ace_operator">,</span> <span class="ace_string">'PartsBin/Basic'</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">openInWorld</span><span class="ace_paren ace_lparen">(</span><span class="ace_identifier">pos</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">addXY</span><span class="ace_paren ace_lparen">(</span><span class="ace_constant ace_numeric">100</span><span class="ace_punctuation ace_operator">,</span><span class="ace_constant ace_numeric">100</span><span class="ace_paren ace_rparen">))</span><span class="ace_punctuation ace_operator">;</span></div><div class="ace_line" style="height:15px"><span class="ace_paren ace_lparen">[</span><span class="ace_identifier">start</span><span class="ace_punctuation ace_operator">,</span><span class="ace_identifier">end</span><span class="ace_paren ace_rparen">]</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">invoke</span><span class="ace_paren ace_lparen">(</span><span class="ace_string">'applyStyle'</span><span class="ace_punctuation ace_operator">,</span> <span class="ace_paren ace_lparen">{</span><span class="ace_identifier">extent</span><span class="ace_punctuation ace_operator">:</span> <span class="ace_identifier">pt</span><span class="ace_paren ace_lparen">(</span><span class="ace_constant ace_numeric">10</span><span class="ace_punctuation ace_operator">,</span><span class="ace_constant ace_numeric">10</span><span class="ace_paren ace_rparen">)})</span><span class="ace_punctuation ace_operator">;</span></div><div class="ace_line" style="height:15px"><span class="ace_identifier">midP</span> <span class="ace_keyword ace_operator">=</span> <span class="ace_identifier">$part</span><span class="ace_paren ace_lparen">(</span><span class="ace_string">'Ellipse'</span><span class="ace_punctuation ace_operator">,</span> <span class="ace_string">'PartsBin/Basic'</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">openInWorld</span><span class="ace_paren ace_lparen">(</span><span class="ace_identifier">pos</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">;</span></div><div class="ace_line" style="height:15px"><span class="ace_identifier">midP</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">setExtent</span><span class="ace_paren ace_lparen">(</span><span class="ace_identifier">pt</span><span class="ace_paren ace_lparen">(</span><span class="ace_constant ace_numeric">20</span><span class="ace_punctuation ace_operator">,</span><span class="ace_constant ace_numeric">20</span><span class="ace_paren ace_rparen">))</span><span class="ace_punctuation ace_operator">;</span></div><div class="ace_line" style="height:15px"></div><div class="ace_line" style="height:15px"><span class="ace_comment">// ugly: we need a script to force render refresh</span></div><div class="ace_line" style="height:15px"><span class="ace_identifier">midP</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">addScript</span><span class="ace_paren ace_lparen">(</span><span class="ace_storage ace_type">function</span> <span class="ace_entity ace_name ace_function">update</span><span class="ace_paren ace_lparen">(</span><span class="ace_paren ace_rparen">)</span> <span class="ace_paren ace_lparen">{</span> <span class="ace_variable ace_language">this</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">setPosition</span><span class="ace_paren ace_lparen">(</span><span class="ace_variable ace_language">this</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">getPosition</span><span class="ace_paren ace_lparen">(</span><span class="ace_paren ace_rparen">))</span><span class="ace_punctuation ace_operator">;</span> <span class="ace_paren ace_rparen">})</span><span class="ace_punctuation ace_operator">;</span></div><div class="ace_line" style="height:15px"><span class="ace_identifier">midP</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">startStepping</span><span class="ace_paren ace_lparen">(</span><span class="ace_constant ace_numeric">100</span><span class="ace_punctuation ace_operator">,</span> <span class="ace_string">'update'</span><span class="ace_paren ace_rparen">)</span> <span class="ace_comment">// this can be solved with an additional DeltaBlue constraint</span></div><div class="ace_line" style="height:15px"> <span class="ace_comment">// see the C/F converter label update for code -- Tim</span></div><div class="ace_line" style="height:15px"></div><div class="ace_line" style="height:15px"><span class="ace_comment">// constraint</span></div><div class="ace_line" style="height:15px"><span class="ace_identifier">always</span><span class="ace_punctuation ace_operator">:</span> <span class="ace_paren ace_lparen">{</span></div><div class="ace_line" style="height:15px"> <span class="ace_storage ace_type">var</span> <span class="ace_identifier">center</span> <span class="ace_keyword ace_operator">=</span> <span class="ace_identifier">start</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">getPosition</span><span class="ace_paren ace_lparen">(</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">addPt</span><span class="ace_paren ace_lparen">(</span><span class="ace_identifier">end</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">getPosition</span><span class="ace_paren ace_lparen">(</span><span class="ace_paren ace_rparen">))</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">scaleBy</span><span class="ace_paren ace_lparen">(</span><span class="ace_constant ace_numeric">0.5</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">;</span></div><div class="ace_line" style="height:15px"> <span class="ace_identifier">midP</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">getPosition</span><span class="ace_paren ace_lparen">(</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">eqPt</span><span class="ace_paren ace_lparen">(</span><span class="ace_identifier">center</span><span class="ace_paren ace_rparen">)</span></div><div class="ace_line" style="height:15px"><span class="ace_paren ace_rparen">}</span></div><div class="ace_line" style="height:15px"></div><div class="ace_line" style="height:15px"><span class="ace_comment">// move the start of the "line"</span></div><div class="ace_line" style="height:15px"><span class="ace_identifier">start</span><span class="ace_punctuation ace_operator">.</span><span class="ace_support ace_function">moveBy</span><span class="ace_paren ace_lparen">(</span><span class="ace_identifier">pt</span><span class="ace_paren ace_lparen">(</span><span class="ace_constant ace_numeric">10</span><span class="ace_punctuation ace_operator">,</span><span class="ace_constant ace_numeric">0</span><span class="ace_paren ace_rparen">))</span><span class="ace_punctuation ace_operator">;</span></div><div class="ace_line" style="height:15px"></div><div class="ace_line" style="height:15px"><span class="ace_comment">// cleanup</span></div><div class="ace_line" style="height:15px"><span class="ace_paren ace_lparen">[</span><span class="ace_identifier">start</span><span class="ace_punctuation ace_operator">,</span><span class="ace_identifier">end</span><span class="ace_punctuation ace_operator">,</span><span class="ace_identifier">midP</span><span class="ace_paren ace_rparen">]</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">invoke</span><span class="ace_paren ace_lparen">(</span><span class="ace_string">'remove'</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">;</span></div></div><div class="ace_layer ace_marker-layer"></div><div class="ace_layer ace_cursor-layer ace_hidden-cursors"><div class="ace_cursor" style="left: 4px; top: 0px; width: 6.00015625px; height: 15px;"></div></div></div></div><div style="height: auto; width: auto; top: -100px; left: -100px; visibility: hidden; position: fixed; overflow: visible; white-space: nowrap;">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</div><div class="ace_scrollbar ace_scrollbar-v" style="display: none; width: 20px; bottom: 0px;"><div class="ace_scrollbar-inner" style="width: 20px; height: 345px;"></div></div><div class="ace_scrollbar ace_scrollbar-h" style="display: none; height: 20px; left: 0px; right: 0px;"><div class="ace_scrollbar-inner" style="height: 20px; width: 731px;"></div></div></div></div><div class="morphNode" tabindex="-1" data-lively-node-type="morph-node" style="position: absolute; left: 10px; top: 1515px;"><div class="Morph CodeEditor ace_editor emacs-mode ace_nobold ace-chrome" id="ace-editor" data-lively-morphid="559C986C-0809-48EF-9215-A2B1B0D9F0F5" style="width: 731px; height: 654px; border: 0px solid rgb(95, 94, 95);"><textarea class="ace_text-input" wrap="off" spellcheck="false" style="opacity: 0; height: 15px; width: 6.00015625px; right: 735.99984375px; bottom: 639px;"></textarea><div class="ace_gutter" style="display: none;"><div class="ace_layer ace_gutter-layer ace_folding-enabled" style="margin-top: 0px; height: 684px; width: 40px;"><div class="ace_gutter-cell " style="height: 15px;">1</div></div><div class="ace_gutter-active-line" style="top: 0px; height: 15px;"></div></div><div class="ace_scroller" style="left: 0px; right: 0px; bottom: 0px;"><div class="ace_content" style="margin-top: 0px; width: 731px; height: 684px; margin-left: 0px;"><div class="ace_layer ace_print-margin-layer"><div class="ace_print-margin" style="left: 484.0125px; visibility: hidden;"></div></div><div class="ace_layer ace_marker-layer"></div><div class="ace_layer ace_text-layer" style="padding: 0px 4px;"><div class="ace_line" style="height:15px"><span class="ace_identifier">bbb</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">defaultSolver</span> <span class="ace_keyword ace_operator">=</span> <span class="ace_keyword">new</span> <span class="ace_identifier">ClSimplexSolver</span><span class="ace_paren ace_lparen">(</span><span class="ace_paren ace_rparen">)</span></div><div class="ace_line" style="height:15px"><span class="ace_identifier">hand</span> <span class="ace_keyword ace_operator">=</span> <span class="ace_identifier">$world</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">firstHand</span><span class="ace_paren ace_lparen">(</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">;</span></div><div class="ace_line" style="height:15px"></div><div class="ace_line" style="height:15px"><span class="ace_identifier">pos</span> <span class="ace_keyword ace_operator">=</span> <span class="ace_identifier">hand</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">getPosition</span><span class="ace_paren ace_lparen">(</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">addPt</span><span class="ace_paren ace_lparen">(</span><span class="ace_identifier">pt</span><span class="ace_paren ace_lparen">(</span><span class="ace_constant ace_numeric">200</span><span class="ace_punctuation ace_operator">,</span> <span class="ace_constant ace_numeric">0</span><span class="ace_paren ace_rparen">))</span><span class="ace_punctuation ace_operator">;</span></div><div class="ace_line" style="height:15px"><span class="ace_identifier">start</span> <span class="ace_keyword ace_operator">=</span> <span class="ace_identifier">$part</span><span class="ace_paren ace_lparen">(</span><span class="ace_string">'Rectangle'</span><span class="ace_punctuation ace_operator">,</span> <span class="ace_string">'PartsBin/Basic'</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">openInWorld</span><span class="ace_paren ace_lparen">(</span><span class="ace_identifier">pos</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">;</span></div><div class="ace_line" style="height:15px"><span class="ace_identifier">end</span> <span class="ace_keyword ace_operator">=</span> <span class="ace_identifier">$part</span><span class="ace_paren ace_lparen">(</span><span class="ace_string">'Rectangle'</span><span class="ace_punctuation ace_operator">,</span> <span class="ace_string">'PartsBin/Basic'</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">openInWorld</span><span class="ace_paren ace_lparen">(</span><span class="ace_identifier">pos</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">addXY</span><span class="ace_paren ace_lparen">(</span><span class="ace_constant ace_numeric">100</span><span class="ace_punctuation ace_operator">,</span><span class="ace_constant ace_numeric">100</span><span class="ace_paren ace_rparen">))</span><span class="ace_punctuation ace_operator">;</span></div><div class="ace_line" style="height:15px"><span class="ace_paren ace_lparen">[</span><span class="ace_identifier">start</span><span class="ace_punctuation ace_operator">,</span><span class="ace_identifier">end</span><span class="ace_paren ace_rparen">]</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">invoke</span><span class="ace_paren ace_lparen">(</span><span class="ace_string">'applyStyle'</span><span class="ace_punctuation ace_operator">,</span> <span class="ace_paren ace_lparen">{</span><span class="ace_identifier">extent</span><span class="ace_punctuation ace_operator">:</span> <span class="ace_identifier">pt</span><span class="ace_paren ace_lparen">(</span><span class="ace_constant ace_numeric">10</span><span class="ace_punctuation ace_operator">,</span><span class="ace_constant ace_numeric">10</span><span class="ace_paren ace_rparen">)})</span><span class="ace_punctuation ace_operator">;</span></div><div class="ace_line" style="height:15px"><span class="ace_identifier">midP</span> <span class="ace_keyword ace_operator">=</span> <span class="ace_identifier">$part</span><span class="ace_paren ace_lparen">(</span><span class="ace_string">'Ellipse'</span><span class="ace_punctuation ace_operator">,</span> <span class="ace_string">'PartsBin/Basic'</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">openInWorld</span><span class="ace_paren ace_lparen">(</span><span class="ace_identifier">pos</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">;</span></div><div class="ace_line" style="height:15px"><span class="ace_identifier">midP</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">setExtent</span><span class="ace_paren ace_lparen">(</span><span class="ace_identifier">pt</span><span class="ace_paren ace_lparen">(</span><span class="ace_constant ace_numeric">20</span><span class="ace_punctuation ace_operator">,</span><span class="ace_constant ace_numeric">20</span><span class="ace_paren ace_rparen">))</span><span class="ace_punctuation ace_operator">;</span></div><div class="ace_line" style="height:15px"></div><div class="ace_line" style="height:15px"><span class="ace_comment">// ugly: we need a script to force render refresh</span></div><div class="ace_line" style="height:15px"><span class="ace_identifier">midP</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">addScript</span><span class="ace_paren ace_lparen">(</span><span class="ace_storage ace_type">function</span> <span class="ace_entity ace_name ace_function">update</span><span class="ace_paren ace_lparen">(</span><span class="ace_paren ace_rparen">)</span> <span class="ace_paren ace_lparen">{</span></div><div class="ace_line" style="height:15px"> <span class="ace_variable ace_language">this</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">setPosition</span><span class="ace_paren ace_lparen">(</span><span class="ace_variable ace_language">this</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">getPosition</span><span class="ace_paren ace_lparen">(</span><span class="ace_paren ace_rparen">))</span><span class="ace_punctuation ace_operator">;</span></div><div class="ace_line" style="height:15px"> <span class="ace_identifier">start</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">setPosition</span><span class="ace_paren ace_lparen">(</span><span class="ace_identifier">start</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">getPosition</span><span class="ace_paren ace_lparen">(</span><span class="ace_paren ace_rparen">))</span><span class="ace_punctuation ace_operator">;</span></div><div class="ace_line" style="height:15px"><span class="ace_paren ace_rparen">})</span><span class="ace_punctuation ace_operator">;</span></div><div class="ace_line" style="height:15px"><span class="ace_identifier">midP</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">startStepping</span><span class="ace_paren ace_lparen">(</span><span class="ace_constant ace_numeric">100</span><span class="ace_punctuation ace_operator">,</span> <span class="ace_string">'update'</span><span class="ace_paren ace_rparen">)</span> <span class="ace_comment">// this can be solved with an additional DeltaBlue constraint</span></div><div class="ace_line" style="height:15px"> <span class="ace_comment">// see the C/F converter label update for code -- Tim</span></div><div class="ace_line" style="height:15px"></div><div class="ace_line" style="height:15px"><span class="ace_comment">// constraint</span></div><div class="ace_line" style="height:15px"><span class="ace_identifier">always</span><span class="ace_punctuation ace_operator">:</span> <span class="ace_paren ace_lparen">{</span></div><div class="ace_line" style="height:15px"> <span class="ace_storage ace_type">var</span> <span class="ace_identifier">center</span> <span class="ace_keyword ace_operator">=</span> <span class="ace_identifier">start</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">getPosition</span><span class="ace_paren ace_lparen">(</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">addPt</span><span class="ace_paren ace_lparen">(</span><span class="ace_identifier">end</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">getPosition</span><span class="ace_paren ace_lparen">(</span><span class="ace_paren ace_rparen">))</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">scaleBy</span><span class="ace_paren ace_lparen">(</span><span class="ace_constant ace_numeric">0.5</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">;</span></div><div class="ace_line" style="height:15px"> <span class="ace_identifier">midP</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">getPosition</span><span class="ace_paren ace_lparen">(</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">eqPt</span><span class="ace_paren ace_lparen">(</span><span class="ace_identifier">center</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">;</span></div><div class="ace_line" style="height:15px"><span class="ace_paren ace_rparen">}</span></div><div class="ace_line" style="height:15px"></div><div class="ace_line" style="height:15px"><span class="ace_comment">// start editing.</span></div><div class="ace_line" style="height:15px"><span class="ace_comment">// first argument is the object to be edited, the second a list of accessors or fields</span></div><div class="ace_line" style="height:15px"><span class="ace_comment">// note that in the JavaScript implementation, the accessor methods have to return a single value</span></div><div class="ace_line" style="height:15px"><span class="ace_comment">// the Ruby version does not have this limitation (so we could write</span></div><div class="ace_line" style="height:15px"><span class="ace_comment">// bbb.edit(start, ["getPosition"])</span></div><div class="ace_line" style="height:15px"><span class="ace_comment">// ), but I haven't ported that, yet.</span></div><div class="ace_line" style="height:15px"><span class="ace_identifier">editCallback</span> <span class="ace_keyword ace_operator">=</span> <span class="ace_identifier">bbb</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">edit</span><span class="ace_paren ace_lparen">(</span><span class="ace_identifier">start</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">getPosition</span><span class="ace_paren ace_lparen">(</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">,</span> <span class="ace_paren ace_lparen">[</span><span class="ace_string">"x"</span><span class="ace_punctuation ace_operator">,</span> <span class="ace_string">"y"</span><span class="ace_paren ace_rparen">])</span><span class="ace_punctuation ace_operator">;</span></div><div class="ace_line" style="height:15px"><span class="ace_storage ace_type">this</span><span class="ace_punctuation ace_operator">.</span><span class="ace_entity ace_name ace_function">onMouseMove</span> <span class="ace_keyword ace_operator">=</span> <span class="ace_storage ace_type">function</span> <span class="ace_paren ace_lparen">(</span><span class="ace_variable ace_parameter">evt</span><span class="ace_paren ace_rparen">)</span> <span class="ace_paren ace_lparen">{</span></div><div class="ace_line" style="height:15px"> <span class="ace_identifier">editCallback</span><span class="ace_paren ace_lparen">(</span><span class="ace_identifier">evt</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">getPosition</span><span class="ace_paren ace_lparen">(</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">addPt</span><span class="ace_paren ace_lparen">(</span><span class="ace_identifier">pt</span><span class="ace_paren ace_lparen">(</span><span class="ace_constant ace_numeric">20</span><span class="ace_punctuation ace_operator">,</span> <span class="ace_constant ace_numeric">20</span><span class="ace_paren ace_rparen">)))</span><span class="ace_punctuation ace_operator">;</span></div><div class="ace_line" style="height:15px"><span class="ace_paren ace_rparen">}</span></div><div class="ace_line" style="height:15px"></div><div class="ace_line" style="height:15px"><span class="ace_comment">// end edit by calling callback without values</span></div><div class="ace_line" style="height:15px"><span class="ace_identifier">editCallback</span><span class="ace_paren ace_lparen">(</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">;</span></div><div class="ace_line" style="height:15px"><span class="ace_identifier">editCallback</span> <span class="ace_keyword ace_operator">=</span> <span class="ace_constant ace_language">null</span><span class="ace_punctuation ace_operator">;</span></div><div class="ace_line" style="height:15px"></div><div class="ace_line" style="height:15px"><span class="ace_comment">// cleanup</span></div><div class="ace_line" style="height:15px"><span class="ace_storage ace_type">this</span><span class="ace_punctuation ace_operator">.</span><span class="ace_entity ace_name ace_function">onMouseMove</span> <span class="ace_keyword ace_operator">=</span> <span class="ace_storage ace_type">function</span> <span class="ace_paren ace_lparen">(</span><span class="ace_variable ace_parameter">evt</span><span class="ace_paren ace_rparen">)</span> <span class="ace_paren ace_lparen">{</span><span class="ace_paren ace_rparen">}</span><span class="ace_punctuation ace_operator">;</span></div><div class="ace_line" style="height:15px"><span class="ace_paren ace_lparen">[</span><span class="ace_identifier">start</span><span class="ace_punctuation ace_operator">,</span><span class="ace_identifier">end</span><span class="ace_punctuation ace_operator">,</span><span class="ace_identifier">midP</span><span class="ace_paren ace_rparen">]</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">invoke</span><span class="ace_paren ace_lparen">(</span><span class="ace_string">'remove'</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">;</span></div><div class="ace_line" style="height:15px"><span class="ace_identifier">start</span> <span class="ace_keyword ace_operator">=</span> <span class="ace_identifier">end</span> <span class="ace_keyword ace_operator">=</span> <span class="ace_identifier">midP</span> <span class="ace_keyword ace_operator">=</span> <span class="ace_identifier">hand</span> <span class="ace_keyword ace_operator">=</span> <span class="ace_constant ace_language">null</span><span class="ace_punctuation ace_operator">;</span></div></div><div class="ace_layer ace_marker-layer"></div><div class="ace_layer ace_cursor-layer ace_hidden-cursors"><div class="ace_cursor" style="left: 4px; top: 0px; width: 6.00015625px; height: 15px;"></div></div></div></div><div style="height: auto; width: auto; top: -100px; left: -100px; visibility: hidden; position: fixed; overflow: visible; white-space: nowrap;">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</div><div class="ace_scrollbar ace_scrollbar-v" style="display: none; width: 20px; bottom: 0px;"><div class="ace_scrollbar-inner" style="width: 20px; height: 645px;"></div></div><div class="ace_scrollbar ace_scrollbar-h" style="display: none; height: 20px; left: 0px; right: 0px;"><div class="ace_scrollbar-inner" style="height: 20px; width: 731px;"></div></div></div></div><div class="morphNode" data-lively-node-type="morph-node" style="position: absolute; left: 10px; top: 1481px;"><div id="null" class="Morph Text" data-lively-morphid="1A0049F7-D5D5-4C7B-B1DC-8DE1C069C3AB" style="position: absolute; left: 0px; top: 0px; width: 723px; height: 15px; opacity: 1; border: 0px solid rgb(0, 0, 0); padding: 2px 4px; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; overflow: visible;"><div class="visibleSelection" tabindex="-1" contenteditable="true" style="position: absolute; word-wrap: break-word; font-size: 11pt; font-family: Arial, sans-serif; white-space: pre-wrap; color: rgb(0, 0, 0); word-break: normal; min-width: calc(100% - 8px);"><span id="_3072" style="font-weight: bold;">Edit Constraints<br></span></div></div></div><div class="morphNode" data-lively-node-type="morph-node" style="position: absolute; left: 10px; top: 490px;"><div id="null" class="Morph Text" data-lively-morphid="585FE0B2-C4D5-4BFD-9C15-25452C1F10D6" style="position: absolute; left: 0px; top: 0px; width: 723px; height: 18px; opacity: 1; border: 0px solid rgb(0, 0, 0); padding: 2px 4px; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; overflow: visible;"><div class="visibleSelection" tabindex="-1" contenteditable="true" style="position: absolute; word-wrap: break-word; font-size: 11pt; font-family: Arial, sans-serif; white-space: pre-wrap; color: rgb(0, 0, 0); word-break: normal; min-width: calc(100% - 8px);"><span id="_3072" style="font-weight: bold; font-size: 13pt;">Simple examples<br></span></div></div></div><div class="morphNode" data-lively-node-type="morph-node" style="position: absolute; left: 10px; top: 10px;"><div id="null" class="Morph Text" data-lively-morphid="18D68A94-0580-4EB7-870F-FE73E87DC05C" style="position: absolute; left: 0px; top: 0px; width: 723px; height: 18px; opacity: 1; border: 0px solid rgb(0, 0, 0); padding: 2px 4px; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; overflow: visible;"><div class="visibleSelection" tabindex="-1" contenteditable="true" style="position: absolute; word-wrap: break-word; font-size: 11pt; font-family: Arial, sans-serif; white-space: pre-wrap; color: rgb(0, 0, 0); word-break: normal; min-width: calc(100% - 8px);"><span id="_3072" style="font-weight: bold; font-size: 13pt;">Setup<br></span></div></div></div><div class="morphNode" data-lively-node-type="morph-node" style="position: absolute; left: 10px; top: 47px;"><div id="null" class="Morph Text" data-lively-morphid="C751ED74-5D2B-461F-9502-B710E3813987" style="position: absolute; left: 0px; top: 0px; width: 723px; height: 15px; opacity: 1; border: 0px solid rgb(0, 0, 0); padding: 2px 4px; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; overflow: visible;"><div class="visibleSelection" tabindex="-1" contenteditable="true" style="position: absolute; word-wrap: break-word; font-size: 11pt; font-family: Arial, sans-serif; white-space: pre-wrap; color: rgb(0, 0, 0); word-break: normal; min-width: calc(100% - 8px);"><span id="_3072">We're going to use Cassowary in these examples<br></span></div></div></div><div class="morphNode" tabindex="-1" data-lively-node-type="morph-node" style="position: absolute; left: 10px; top: 81px;"><div class="Morph CodeEditor ace_editor emacs-mode ace_nobold ace-chrome" id="ace-editor" data-lively-morphid="91D905FA-62E2-4C28-91D5-117DD1048AED" style="width: 731px; height: 29px; border: 0px solid rgb(95, 94, 95);"><textarea class="ace_text-input" wrap="off" spellcheck="false" style="opacity: 0; height: 15px; width: 6.00015625px; right: 483.99328125000005px; bottom: 0px;"></textarea><div class="ace_gutter" style="display: none;"><div class="ace_layer ace_gutter-layer ace_folding-enabled" style="margin-top: -1px; height: 59px; width: 40px;"><div class="ace_gutter-cell " style="height: 15px;">1</div></div><div class="ace_gutter-active-line" style="top: 14px; height: 15px;"></div></div><div class="ace_scroller" style="left: 0px; right: 0px; bottom: 0px;"><div class="ace_content" style="margin-top: -1px; width: 731px; height: 59px; margin-left: 0px;"><div class="ace_layer ace_print-margin-layer"><div class="ace_print-margin" style="left: 484.0125px; visibility: hidden;"></div></div><div class="ace_layer ace_marker-layer"><div class="ace_selection ace_start" style="height:15px;width:252.0065625px;top:15px;left:4px;"></div></div><div class="ace_layer ace_text-layer" style="padding: 0px 4px;"><div class="ace_line" style="height:15px"><span class="ace_identifier">module</span><span class="ace_paren ace_lparen">(</span><span class="ace_string">'users.timfelgentreff.babelsberg.constraintinterpreter'</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">.</span><span class="ace_support ace_function">load</span><span class="ace_paren ace_lparen">(</span><span class="ace_constant ace_language ace_boolean">true</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">;</span></div><div class="ace_line" style="height:15px"><span class="ace_identifier">bbb</span><span class="ace_punctuation ace_operator">.</span><span class="ace_identifier">defaultSolver</span> <span class="ace_keyword ace_operator">=</span> <span class="ace_keyword">new</span> <span class="ace_identifier">ClSimplexSolver</span><span class="ace_paren ace_lparen">(</span><span class="ace_paren ace_rparen">)</span><span class="ace_punctuation ace_operator">;</span></div></div><div class="ace_layer ace_marker-layer"></div><div class="ace_layer ace_cursor-layer ace_hidden-cursors"><div class="ace_cursor" style="left: 256.0065625px; top: 15px; width: 6.00015625px; height: 15px;"></div></div></div></div><div style="height: auto; width: auto; top: -100px; left: -100px; visibility: hidden; position: fixed; overflow: visible; white-space: nowrap;">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</div><div class="ace_scrollbar ace_scrollbar-v" style="display: none; width: 20px; bottom: 0px;"><div class="ace_scrollbar-inner" style="width: 20px; height: 30px;"></div></div><div class="ace_scrollbar ace_scrollbar-h" style="display: none; height: 20px; left: 0px; right: 0px;"><div class="ace_scrollbar-inner" style="height: 20px; width: 731px;"></div></div></div></div></div></div></div><div class="morphNode" tabindex="-1" data-lively-node-type="morph-node" style="position: absolute; left: 1280px; top: 723px; z-index: 999;"><div id="null" data-lively-morphid="ACD99C1B-31E5-4DB9-94A5-C94372925C98" class="Morph Box messageMorph success" style="position: absolute; left: 0px; top: 0px; padding: 0px; width: 198px; height: 66px; overflow: hidden; border-width: 1px;"><div data-lively-node-type="origin-node" style="top: 0px !important; left: 0px !important; position: absolute !important; margin-top: -1px !important; margin-left: -1px !important;"><div class="morphNode" data-lively-node-type="morph-node" style="position: absolute; left: -5.555555555555555px; top: 2.833333333333334px; cursor: default;"><div id="null" data-lively-morphid="A0C38EF9-FA1D-415B-BF84-E7D58DF24E8A" class="Morph Text messageText" style="position: absolute; left: 10.555555555555555px; top: 9.166666666666666px; padding: 2px 4px; width: 182px; height: 40px; overflow: visible; border-width: 0px;"><div class="" tabindex="-1" contenteditable="false" style="position: absolute; word-wrap: break-word; white-space: pre; word-break: inherit; min-width: calc(100% - 8px); min-height: calc(100% - 4px); vertical-align: inherit; line-height: inherit; text-decoration-line: inherit; text-decoration-style: inherit; text-decoration-color: inherit; display: inherit;"><span id="_500">Set world extent to lively.pt(1500.0,2000.0)</span></div></div></div><div class="morphNode" data-lively-node-type="morph-node" style="position: absolute; left: 0px; top: 0px;"><div id="null" data-lively-morphid="28B3259A-A17E-48BF-A628-92F68A83C239" class="Morph Text closeButton" style="position: absolute; left: 0px; top: 0px; padding: 2px 4px; width: 22px; height: 64px; overflow: hidden; border-width: 0px;"><div class="visibleSelection" tabindex="-1" contenteditable="true" style="position: absolute; word-wrap: break-word; white-space: pre-wrap; word-break: inherit; min-width: calc(100% - 8px); min-height: calc(100% - 4px); vertical-align: inherit; line-height: inherit; text-decoration-line: inherit; text-decoration-style: inherit; text-decoration-color: inherit; display: inherit;"><span id="_499">✗</span></div></div></div></div></div></div><div class="morphNode" tabindex="-1" data-lively-node-type="morph-node" style="position: absolute; left: 981px; top: 374px; cursor: default; pointer-events: none;"><div id="null" class="Morph HandMorph" data-lively-morphid="2" style="position: absolute; left: 0px; top: 0px; width: 2px; height: 2px; background-color: rgb(204, 0, 0); opacity: 1; border: 0px solid rgb(204, 0, 0); padding: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; overflow: visible; background-position: initial initial; background-repeat: initial initial;"></div></div></div></div></div><script type="text/javascript" src="../../core/lively/bootstrap.js"></script><script type="text/x-lively-world" id="first-constrained-steps" data-migrationlevel="8">{"id":0,"registry":{"0":{"_ClipMode":"hidden","_Scale":1,"_Scroll":[0,0],"__layered_draggingEnabled__":true,"doNotSerialize":["$$baseThemeStyleSheet"],"draggingEnabled":true,"droppingEnabled":true,"eventHandler":{"__isSmartRef__":true,"id":1},"grabbingEnabled":false,"halosEnabled":true,"hands":[{"__isSmartRef__":true,"id":2}],"id":1,"prevScroll":[0,0],"scripts":[],"shape":{"__isSmartRef__":true,"id":5},"showsHalos":false,"showsMorphMenu":true,"submorphs":[{"__isSmartRef__":true,"id":6},{"__isSmartRef__":true,"id":2}],"_traitConfig_":[{"__isSmartRef__":true,"id":312}],"#startLetters":"","_StyleSheet":"span {\n font-family: 13px Helvetica, arial, freesans, clean, sans-serif;\n line-height: 1.3;\n}","partsBinMetaInfo":{"__isSmartRef__":true,"id":314},"eventStartPos":null,"__serializedExpressions__":["lastModified","_Position"],"__LivelyClassName__":"lively.morphic.World","__SourceModuleName__":"Global.lively.morphic.Core","lastModified":"new Date(\"Tue Apr 08 2014 16:08:10 GMT+0200 (CEST)\")","_Position":"lively.pt(0.0,0.0)"},"1":{"morph":{"__isSmartRef__":true,"id":0},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2":{"_ClipMode":"visible","_HandStyle":"default","_PointerEvents":"none","_Rotation":0,"_Scale":1,"_world":{"__isSmartRef__":true,"id":0},"carriesGrabbedMorphs":false,"droppingEnabled":false,"eventHandler":{"__isSmartRef__":true,"id":3},"eventsAreIgnored":true,"halosEnabled":false,"id":2,"lastScrollTime":1359763263838,"owner":{"__isSmartRef__":true,"id":0},"scripts":[],"shape":{"__isSmartRef__":true,"id":4},"submorphs":[],"haloTarget":{"__isSmartRef__":true,"id":0},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.HandMorph","__SourceModuleName__":"Global.lively.morphic.Events","withLayers":["Global.NoMagnetsLayer"],"_Position":"lively.pt(981.0,374.0)"},"3":{"morph":{"__isSmartRef__":true,"id":2},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4":{"_ClipMode":"visible","__serializedExpressions__":["_Extent","_Fill","_Padding","_Position"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Extent":"lively.pt(2.0,2.0)","_Fill":"Color.rgb(204,0,0)","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(0.0,0.0)"},"5":{"_ClipMode":"visible","_BorderWidth":1,"__serializedExpressions__":["_Extent","_Fill","_Padding","_Position","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Extent":"lively.pt(1500.0,2000.0)","_Fill":"Color.rgb(240,240,240)","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(0.0,0.0)","_BorderColor":"Color.rgb(216,216,216)"},"6":{"submorphs":[{"__isSmartRef__":true,"id":7},{"__isSmartRef__":true,"id":27},{"__isSmartRef__":true,"id":47},{"__isSmartRef__":true,"id":67},{"__isSmartRef__":true,"id":74},{"__isSmartRef__":true,"id":81},{"__isSmartRef__":true,"id":88},{"__isSmartRef__":true,"id":95},{"__isSmartRef__":true,"id":115},{"__isSmartRef__":true,"id":122},{"__isSmartRef__":true,"id":142},{"__isSmartRef__":true,"id":162},{"__isSmartRef__":true,"id":182},{"__isSmartRef__":true,"id":189},{"__isSmartRef__":true,"id":196},{"__isSmartRef__":true,"id":216},{"__isSmartRef__":true,"id":236},{"__isSmartRef__":true,"id":256},{"__isSmartRef__":true,"id":276}],"scripts":[],"id":"5F555C57-4172-41DA-8978-FC1BF46D3731","shape":{"__isSmartRef__":true,"id":283},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"Content2","partsBinMetaInfo":{"__isSmartRef__":true,"id":284},"eventHandler":{"__isSmartRef__":true,"id":296},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","BD8BECDB-A9A1-4009-B433-C925F0AFCCFC","1E94ED38-5365-4D9C-9514-332A663E6D67","544E651C-C0CF-4F70-AF0B-55637AC28678"],"partTests":{"__isSmartRef__":true,"id":297},"_ClipMode":"visible","moved":true,"layout":{"__isSmartRef__":true,"id":302},"isInLayoutCycle":false,"isCopyMorphRef":true,"morphRefId":1,"prevScroll":[0,0],"magnets":[{"__isSmartRef__":true,"id":304},{"__isSmartRef__":true,"id":305},{"__isSmartRef__":true,"id":306},{"__isSmartRef__":true,"id":307},{"__isSmartRef__":true,"id":308},{"__isSmartRef__":true,"id":309},{"__isSmartRef__":true,"id":310},{"__isSmartRef__":true,"id":311}],"isBeingDragged":false,"_Rotation":0,"_Scale":1,"owner":{"__isSmartRef__":true,"id":0},"__serializedExpressions__":["distanceToDragEvent","_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(503.0,-18.0)","_Position":"lively.pt(28.0,25.0)"},"7":{"submorphs":[],"scripts":[],"id":"37F4AC36-272D-48AF-A0B5-8972DD7A0830","shape":{"__isSmartRef__":true,"id":8},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":120.695652,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":11,"name":"Text","partsBinMetaInfo":{"__isSmartRef__":true,"id":9},"textChunks":[{"__isSmartRef__":true,"id":15}],"charsReplaced":"Tim's e","lastFindLoc":7,"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":17},"_ClipMode":"visible","derivationIds":[355,"1EB1674F-8BF2-419B-B054-86129ED70335","63698904-DC05-4341-A9B6-5CC4A219CD04","F6A714BA-4735-41ED-8A2A-45CB153FBDF8","BDF44004-2E50-4F94-B08B-3896F47DF412","894B0070-3C28-4DB5-BBB6-58E7A1C40D6A"],"_WhiteSpaceHandling":"pre-wrap","_MinTextWidth":120.695652,"_MinTextHeight":null,"isBeingDragged":false,"moved":true,"owner":{"__isSmartRef__":true,"id":6},"layout":{"__isSmartRef__":true,"id":18},"undoSelectionRange":[287,287],"isCopyMorphRef":true,"morphRefId":1,"#startLetters":"set","_WordBreak":"normal","magnets":[{"__isSmartRef__":true,"id":19},{"__isSmartRef__":true,"id":20},{"__isSmartRef__":true,"id":21},{"__isSmartRef__":true,"id":22},{"__isSmartRef__":true,"id":23},{"__isSmartRef__":true,"id":24},{"__isSmartRef__":true,"id":25},{"__isSmartRef__":true,"id":26}],"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","textColor","_Padding"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(10.0,125.0)","textColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(5,5,0,0)"},"8":{"fill":null,"_BorderWidth":0,"_ClipMode":"visible","_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(731.0,22.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(4,2,0,0)"},"9":{"partsSpaceName":"PartsBin/Basic","migrationLevel":4,"comment":"a simple text morph","partName":"Text","changes":[{"__isSmartRef__":true,"id":10},{"__isSmartRef__":true,"id":11},{"__isSmartRef__":true,"id":12},{"__isSmartRef__":true,"id":13},{"__isSmartRef__":true,"id":14}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Fri Jun 22 2012 15:04:57 GMT+0200 (CEST)\")"},"10":{"author":"robertkrahn","message":"text click was broken?","id":"9D065E14-9653-4B2A-9A2E-3AD84EBBC3E0","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 16:30:30 GMT+0200 (CEST)\")"},"11":{"author":"undefined","message":"Set the inset as: this.setPadding(Rectangle.inset(4,2)). This gives it a more pleasing appearance with a border, and also makes it easier to select near the bounds.","id":"BD5B0E4C-4830-4863-A013-35BB66D5AD6F","__serializedExpressions__":["date"],"date":"new Date(\"Mon Feb 27 2012 06:20:38 GMT+0100 (CET)\")"},"12":{"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"0F4DE333-A551-4961-B29D-70270977EBEF","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 07:31:43 GMT+0200 (CEST)\")"},"13":{"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"785D95BD-7858-43EB-90E6-A1C085E2F2B9","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 07:32:09 GMT+0200 (CEST)\")"},"14":{"author":"timfelgentreff","message":"better text","id":"B904F9AC-6EA0-4A8A-83C9-AFC85AADC194","__serializedExpressions__":["date"],"date":"new Date(\"Tue May 08 2012 14:18:18 GMT+0200 (CEST)\")"},"15":{"style":{"__isSmartRef__":true,"id":16},"chunkOwner":{"__isSmartRef__":true,"id":7},"_id":"_3072","storedString":"Tim's examples","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"16":{"fontSize":13,"fontWeight":"bold","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"17":{"morph":{"__isSmartRef__":true,"id":7},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"18":{"resizeWidth":true},"19":{"morph":{"__isSmartRef__":true,"id":7},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(580.5,148.0)"},"20":{"morph":{"__isSmartRef__":true,"id":7},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(955.5,148.0)"},"21":{"morph":{"__isSmartRef__":true,"id":7},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(1330.5,148.0)"},"22":{"morph":{"__isSmartRef__":true,"id":7},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(1330.5,159.0)"},"23":{"morph":{"__isSmartRef__":true,"id":7},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(1330.5,170.0)"},"24":{"morph":{"__isSmartRef__":true,"id":7},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(955.5,170.0)"},"25":{"morph":{"__isSmartRef__":true,"id":7},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(580.5,170.0)"},"26":{"morph":{"__isSmartRef__":true,"id":7},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(580.5,159.0)"},"27":{"submorphs":[],"scripts":[],"id":"F0544495-0E0E-423B-AB33-59BD9EAF8008","shape":{"__isSmartRef__":true,"id":28},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":120.695652,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":11,"name":"Text7","partsBinMetaInfo":{"__isSmartRef__":true,"id":29},"textChunks":[{"__isSmartRef__":true,"id":35}],"charsReplaced":"The","lastFindLoc":15,"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":37},"_ClipMode":"visible","derivationIds":[355,"1EB1674F-8BF2-419B-B054-86129ED70335","63698904-DC05-4341-A9B6-5CC4A219CD04","F6A714BA-4735-41ED-8A2A-45CB153FBDF8","BDF44004-2E50-4F94-B08B-3896F47DF412","C0D4E58E-B8A5-4C6E-B9F1-981B5CB977AE","BF3A8AE0-EDC6-4236-955E-CFBF29D3F56E"],"_WhiteSpaceHandling":"pre-wrap","_MinTextWidth":120.695652,"_MinTextHeight":null,"isBeingDragged":false,"moved":true,"layout":{"__isSmartRef__":true,"id":38},"undoSelectionRange":[287,287],"isCopyMorphRef":true,"morphRefId":1,"splittedFrom":{"__isSmartRef__":true,"id":7},"owner":{"__isSmartRef__":true,"id":6},"_WordBreak":"normal","magnets":[{"__isSmartRef__":true,"id":39},{"__isSmartRef__":true,"id":40},{"__isSmartRef__":true,"id":41},{"__isSmartRef__":true,"id":42},{"__isSmartRef__":true,"id":43},{"__isSmartRef__":true,"id":44},{"__isSmartRef__":true,"id":45},{"__isSmartRef__":true,"id":46}],"previousSelection":[77,82],"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","textColor","_Padding"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(10.0,340.0)","textColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(5,5,0,0)"},"28":{"fill":null,"_BorderWidth":0,"_ClipMode":"visible","_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(731.0,19.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(4,2,0,0)"},"29":{"partsSpaceName":"PartsBin/Basic","migrationLevel":4,"comment":"a simple text morph","partName":"Text","changes":[{"__isSmartRef__":true,"id":30},{"__isSmartRef__":true,"id":31},{"__isSmartRef__":true,"id":32},{"__isSmartRef__":true,"id":33},{"__isSmartRef__":true,"id":34}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Fri Jun 22 2012 15:04:57 GMT+0200 (CEST)\")"},"30":{"author":"robertkrahn","message":"text click was broken?","id":"9D065E14-9653-4B2A-9A2E-3AD84EBBC3E0","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 16:30:30 GMT+0200 (CEST)\")"},"31":{"author":"undefined","message":"Set the inset as: this.setPadding(Rectangle.inset(4,2)). This gives it a more pleasing appearance with a border, and also makes it easier to select near the bounds.","id":"BD5B0E4C-4830-4863-A013-35BB66D5AD6F","__serializedExpressions__":["date"],"date":"new Date(\"Mon Feb 27 2012 06:20:38 GMT+0100 (CET)\")"},"32":{"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"0F4DE333-A551-4961-B29D-70270977EBEF","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 07:31:43 GMT+0200 (CEST)\")"},"33":{"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"785D95BD-7858-43EB-90E6-A1C085E2F2B9","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 07:32:09 GMT+0200 (CEST)\")"},"34":{"author":"timfelgentreff","message":"better text","id":"B904F9AC-6EA0-4A8A-83C9-AFC85AADC194","__serializedExpressions__":["date"],"date":"new Date(\"Tue May 08 2012 14:18:18 GMT+0200 (CEST)\")"},"35":{"style":{"__isSmartRef__":true,"id":36},"chunkOwner":{"__isSmartRef__":true,"id":27},"_id":"_3072","storedString":"Pointers to Tim's implementation:","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"36":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"37":{"morph":{"__isSmartRef__":true,"id":27},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"38":{"resizeWidth":true},"39":{"morph":{"__isSmartRef__":true,"id":27},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(580.5,295.0)"},"40":{"morph":{"__isSmartRef__":true,"id":27},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(955.5,295.0)"},"41":{"morph":{"__isSmartRef__":true,"id":27},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(1330.5,295.0)"},"42":{"morph":{"__isSmartRef__":true,"id":27},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(1330.5,304.5)"},"43":{"morph":{"__isSmartRef__":true,"id":27},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(1330.5,314.0)"},"44":{"morph":{"__isSmartRef__":true,"id":27},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(955.5,314.0)"},"45":{"morph":{"__isSmartRef__":true,"id":27},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(580.5,314.0)"},"46":{"morph":{"__isSmartRef__":true,"id":27},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(580.5,304.5)"},"47":{"submorphs":[],"scripts":[],"id":"F737B423-1CEE-44B0-ABF2-8FFA6A07270B","shape":{"__isSmartRef__":true,"id":48},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":120.695652,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":11,"name":"Text8","partsBinMetaInfo":{"__isSmartRef__":true,"id":49},"textChunks":[{"__isSmartRef__":true,"id":55}],"charsReplaced":"","lastFindLoc":7,"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":57},"_ClipMode":"visible","derivationIds":[355,"1EB1674F-8BF2-419B-B054-86129ED70335","63698904-DC05-4341-A9B6-5CC4A219CD04","F6A714BA-4735-41ED-8A2A-45CB153FBDF8","BDF44004-2E50-4F94-B08B-3896F47DF412","B3BC8215-D197-44EA-B38E-DBDBFE9531CE","FE37F64E-7853-4C7D-8980-AC5EE49FD182"],"_WhiteSpaceHandling":"pre-wrap","_MinTextWidth":120.695652,"_MinTextHeight":null,"isBeingDragged":false,"moved":true,"layout":{"__isSmartRef__":true,"id":58},"undoSelectionRange":[287,287],"isCopyMorphRef":true,"morphRefId":1,"splittedFrom":{"__isSmartRef__":true,"id":7},"owner":{"__isSmartRef__":true,"id":6},"_WordBreak":"normal","evalEnabled":true,"magnets":[{"__isSmartRef__":true,"id":59},{"__isSmartRef__":true,"id":60},{"__isSmartRef__":true,"id":61},{"__isSmartRef__":true,"id":62},{"__isSmartRef__":true,"id":63},{"__isSmartRef__":true,"id":64},{"__isSmartRef__":true,"id":65},{"__isSmartRef__":true,"id":66}],"_Rotation":0,"_Scale":1,"priorSelectionRange":[6,6],"__serializedExpressions__":["_Position","textColor","_Padding"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(10.0,162.0)","textColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(5,5,0,0)"},"48":{"fill":null,"_BorderWidth":0,"_ClipMode":"visible","_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(731.0,38.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(4,2,0,0)"},"49":{"partsSpaceName":"PartsBin/Basic","migrationLevel":4,"comment":"a simple text morph","partName":"Text","changes":[{"__isSmartRef__":true,"id":50},{"__isSmartRef__":true,"id":51},{"__isSmartRef__":true,"id":52},{"__isSmartRef__":true,"id":53},{"__isSmartRef__":true,"id":54}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Fri Jun 22 2012 15:04:57 GMT+0200 (CEST)\")"},"50":{"author":"robertkrahn","message":"text click was broken?","id":"9D065E14-9653-4B2A-9A2E-3AD84EBBC3E0","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 16:30:30 GMT+0200 (CEST)\")"},"51":{"author":"undefined","message":"Set the inset as: this.setPadding(Rectangle.inset(4,2)). This gives it a more pleasing appearance with a border, and also makes it easier to select near the bounds.","id":"BD5B0E4C-4830-4863-A013-35BB66D5AD6F","__serializedExpressions__":["date"],"date":"new Date(\"Mon Feb 27 2012 06:20:38 GMT+0100 (CET)\")"},"52":{"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"0F4DE333-A551-4961-B29D-70270977EBEF","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 07:31:43 GMT+0200 (CEST)\")"},"53":{"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"785D95BD-7858-43EB-90E6-A1C085E2F2B9","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 07:32:09 GMT+0200 (CEST)\")"},"54":{"author":"timfelgentreff","message":"better text","id":"B904F9AC-6EA0-4A8A-83C9-AFC85AADC194","__serializedExpressions__":["date"],"date":"new Date(\"Tue May 08 2012 14:18:18 GMT+0200 (CEST)\")"},"55":{"style":{"__isSmartRef__":true,"id":56},"chunkOwner":{"__isSmartRef__":true,"id":47},"_id":"_6127","storedString":"sNAKE:\n(Hit \"reset\" and open halo on a blue box, then use D(rag) halo item to move box.)","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"56":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"57":{"morph":{"__isSmartRef__":true,"id":47},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"58":{"resizeWidth":true},"59":{"morph":{"__isSmartRef__":true,"id":47},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(580.5,185.0)"},"60":{"morph":{"__isSmartRef__":true,"id":47},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(955.5,185.0)"},"61":{"morph":{"__isSmartRef__":true,"id":47},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(1330.5,185.0)"},"62":{"morph":{"__isSmartRef__":true,"id":47},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(1330.5,232.5)"},"63":{"morph":{"__isSmartRef__":true,"id":47},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(1330.5,280.0)"},"64":{"morph":{"__isSmartRef__":true,"id":47},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(955.5,280.0)"},"65":{"morph":{"__isSmartRef__":true,"id":47},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(580.5,280.0)"},"66":{"morph":{"__isSmartRef__":true,"id":47},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(580.5,232.5)"},"67":{"storedTextString":"obj = {x: 15, y: 0};\nalways: { obj.y == obj.x*2 }\n\n// then try to do\nobj.x = 11\nobj.y","submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":68},"derivationIds":["01EEB685-9B00-41FB-93C8-42A027DA687F","8D3D04EB-8DC1-4EEA-B5FF-8CF9B4E52AA2","261490E9-2372-4753-A8D2-3C3A221EBFAC","30E4F43E-B36B-40A8-8CF2-305C8163E971"],"id":"117C35B1-C63E-401A-90D4-31391DBF8948","grabbingEnabled":false,"droppingEnabled":true,"halosEnabled":true,"_FontSize":12,"_ShowGutter":false,"_TextMode":"javascript","_Theme":"chrome","_LineWrapping":false,"_ShowInvisibles":false,"_ShowPrintMargin":false,"_ShowIndents":false,"_ShowActiveLine":false,"_SoftTabs":true,"storedString":"3 + 4","hasRobertsKeys":true,"_StyleClassNames":["Morph","CodeEditor","ace_editor","emacs-mode","ace_nobold","ace-chrome"],"eventHandler":{"__isSmartRef__":true,"id":69},"layout":{"__isSmartRef__":true,"id":70},"accessibleInInactiveWindow":true,"_isFocused":false,"showsHalos":false,"_Rotation":0,"_Scale":1,"name":"Editor","partsBinMetaInfo":{"__isSmartRef__":true,"id":71},"owner":{"__isSmartRef__":true,"id":6},"_AutocompletionEnabled":false,"_ShowWarnings":false,"allowInput":true,"prevScroll":[0,0],"__serializedExpressions__":["_Position","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.CodeEditor","__SourceModuleName__":"Global.lively.ide.CodeEditor","_Position":"lively.pt(10.0,561.0)","distanceToDragEvent":"lively.pt(510.5,-10.0)"},"68":{"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Extent","_BorderColor","extent"],"__LivelyClassName__":"lively.morphic.CodeEditorShape","__SourceModuleName__":"Global.lively.ide.CodeEditor","_Extent":"lively.pt(731.0,133.0)","_BorderColor":"Color.rgb(95,94,95)","extent":"lively.pt(731.0,133.0)"},"69":{"morph":{"__isSmartRef__":true,"id":67},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"70":{"resizeWidth":true,"resizeHeight":false},"71":{"partName":"Editor","requiredModules":[],"partsSpaceName":"PartsBin/Basic/","comment":"Text based on ajax/ace","changes":[{"__isSmartRef__":true,"id":72},{"__isSmartRef__":true,"id":73}],"migrationLevel":7,"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Mon Jun 17 2013 12:39:05 GMT+0200 (CEST)\")"},"72":{"author":"robertkrahn","message":"no comment","id":"401386FB-ED59-4B2A-B926-EA3424BFCF7E","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 17 2013 12:39:05 GMT+0200 (CEST)\")"},"73":{"author":"robertkrahn","message":"initial","id":"D671F21E-F331-460E-8C16-5DBE3AC9DC23","__serializedExpressions__":["date"],"date":"new Date(\"Tue Jun 11 2013 10:17:18 GMT+0200 (CEST)\")"},"74":{"storedTextString":"pos = this.globalBounds().topRight().addXY(100, 20);\nline = $part('Line', 'PartsBin/Basic').openInWorld(pos);\nmidP = $part('Ellipse', 'PartsBin/Basic').openInWorld(pos);\nmidP.setExtent(pt(10,10));\n\n;(function() {\n return midP.getPosition().eqPt(line.bounds().center());\n}).shouldBeTrue({line: line, midP: midP});\n// Error: Constraint expression returned an object that does not respond to #enable\n//\n// IIRC I had a problem with lines and their bounds in constraint \n// because there was a layer in there somewhere -- Tim\n\n// doit repeatidly to move line:\nline.getControlPoint(0).moveBy(pt(10,0));\n\n// cleanup\n[line,midP].invoke('remove');","submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":75},"derivationIds":["01EEB685-9B00-41FB-93C8-42A027DA687F","8D3D04EB-8DC1-4EEA-B5FF-8CF9B4E52AA2","261490E9-2372-4753-A8D2-3C3A221EBFAC","97D32E9C-DD84-44BF-A620-2A265273BB4F","504CD9D1-B5D3-4AEB-8A8D-55686310A8A4"],"id":"BCB6C84B-3934-48E8-B77C-1884F8CC9782","grabbingEnabled":false,"droppingEnabled":true,"halosEnabled":true,"_FontSize":12,"_ShowGutter":false,"_TextMode":"javascript","_Theme":"chrome","_LineWrapping":false,"_ShowInvisibles":false,"_ShowPrintMargin":false,"_ShowIndents":false,"_ShowActiveLine":false,"_SoftTabs":true,"storedString":"3 + 4","hasRobertsKeys":true,"_StyleClassNames":["Morph","CodeEditor","ace_editor","emacs-mode","ace_nobold","ace-chrome"],"eventHandler":{"__isSmartRef__":true,"id":76},"layout":{"__isSmartRef__":true,"id":77},"accessibleInInactiveWindow":true,"_isFocused":false,"showsHalos":false,"_Rotation":0,"_Scale":1,"name":"Editor1","partsBinMetaInfo":{"__isSmartRef__":true,"id":78},"owner":{"__isSmartRef__":true,"id":6},"_AutocompletionEnabled":false,"_ShowWarnings":false,"allowInput":true,"prevScroll":[0,0],"__serializedExpressions__":["_Position","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.CodeEditor","__SourceModuleName__":"Global.lively.ide.CodeEditor","_Position":"lively.pt(10.0,743.0)","distanceToDragEvent":"lively.pt(510.5,-10.0)"},"75":{"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Extent","_BorderColor","extent"],"__LivelyClassName__":"lively.morphic.CodeEditorShape","__SourceModuleName__":"Global.lively.ide.CodeEditor","_Extent":"lively.pt(731.0,297.0)","_BorderColor":"Color.rgb(95,94,95)","extent":"lively.pt(731.0,297.0)"},"76":{"morph":{"__isSmartRef__":true,"id":74},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"77":{"resizeWidth":true,"resizeHeight":false},"78":{"partName":"Editor","requiredModules":[],"partsSpaceName":"PartsBin/Basic/","comment":"Text based on ajax/ace","changes":[{"__isSmartRef__":true,"id":79},{"__isSmartRef__":true,"id":80}],"migrationLevel":7,"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Mon Jun 17 2013 12:39:05 GMT+0200 (CEST)\")"},"79":{"author":"robertkrahn","message":"no comment","id":"401386FB-ED59-4B2A-B926-EA3424BFCF7E","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 17 2013 12:39:05 GMT+0200 (CEST)\")"},"80":{"author":"robertkrahn","message":"initial","id":"D671F21E-F331-460E-8C16-5DBE3AC9DC23","__serializedExpressions__":["date"],"date":"new Date(\"Tue Jun 11 2013 10:17:18 GMT+0200 (CEST)\")"},"81":{"storedTextString":"$part('sNAKE', 'users/timfelgentreff/PartsBin').openInWorld();","submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":82},"derivationIds":["01EEB685-9B00-41FB-93C8-42A027DA687F","8D3D04EB-8DC1-4EEA-B5FF-8CF9B4E52AA2","261490E9-2372-4753-A8D2-3C3A221EBFAC","30E4F43E-B36B-40A8-8CF2-305C8163E971","ADC38818-C574-4CAF-B390-79F0348B4D1F"],"id":"76EBBD65-7711-4951-9BB7-7D40ACF9126A","grabbingEnabled":false,"droppingEnabled":true,"halosEnabled":true,"_FontSize":12,"_ShowGutter":false,"_TextMode":"javascript","_Theme":"chrome","_LineWrapping":false,"_ShowInvisibles":false,"_ShowPrintMargin":false,"_ShowIndents":false,"_ShowActiveLine":false,"_SoftTabs":true,"storedString":"3 + 4","hasRobertsKeys":true,"_StyleClassNames":["Morph","CodeEditor","ace_editor","emacs-mode","ace_nobold","ace-chrome"],"eventHandler":{"__isSmartRef__":true,"id":83},"layout":{"__isSmartRef__":true,"id":84},"accessibleInInactiveWindow":true,"_isFocused":false,"showsHalos":false,"_Rotation":0,"_Scale":1,"name":"Editor3","partsBinMetaInfo":{"__isSmartRef__":true,"id":85},"_AutocompletionEnabled":false,"_ShowWarnings":false,"allowInput":true,"prevScroll":[0,0],"owner":{"__isSmartRef__":true,"id":6},"__serializedExpressions__":["_Position","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.CodeEditor","__SourceModuleName__":"Global.lively.ide.CodeEditor","_Position":"lively.pt(10.0,215.0)","distanceToDragEvent":"lively.pt(516.0,-7.0)"},"82":{"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Extent","_BorderColor","extent"],"__LivelyClassName__":"lively.morphic.CodeEditorShape","__SourceModuleName__":"Global.lively.ide.CodeEditor","_Extent":"lively.pt(731.0,21.0)","_BorderColor":"Color.rgb(95,94,95)","extent":"lively.pt(731.0,21.0)"},"83":{"morph":{"__isSmartRef__":true,"id":81},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"84":{"resizeWidth":true,"resizeHeight":false},"85":{"partName":"Editor","requiredModules":[],"partsSpaceName":"PartsBin/Basic/","comment":"Text based on ajax/ace","changes":[{"__isSmartRef__":true,"id":86},{"__isSmartRef__":true,"id":87}],"migrationLevel":7,"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Mon Jun 17 2013 12:39:05 GMT+0200 (CEST)\")"},"86":{"author":"robertkrahn","message":"no comment","id":"401386FB-ED59-4B2A-B926-EA3424BFCF7E","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 17 2013 12:39:05 GMT+0200 (CEST)\")"},"87":{"author":"robertkrahn","message":"initial","id":"D671F21E-F331-460E-8C16-5DBE3AC9DC23","__serializedExpressions__":["date"],"date":"new Date(\"Tue Jun 11 2013 10:17:18 GMT+0200 (CEST)\")"},"88":{"storedTextString":"$part('Thermometer', 'users/timfelgentreff/PartsBin').openInWorld();","submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":89},"derivationIds":["01EEB685-9B00-41FB-93C8-42A027DA687F","8D3D04EB-8DC1-4EEA-B5FF-8CF9B4E52AA2","261490E9-2372-4753-A8D2-3C3A221EBFAC","30E4F43E-B36B-40A8-8CF2-305C8163E971","ADC38818-C574-4CAF-B390-79F0348B4D1F","BB07A321-D6C0-4A7D-9455-83739A41FB90"],"id":"640A60A4-3AB5-4095-987B-2309CB282FED","grabbingEnabled":false,"droppingEnabled":true,"halosEnabled":true,"_FontSize":12,"_ShowGutter":false,"_TextMode":"javascript","_Theme":"chrome","_LineWrapping":false,"_ShowInvisibles":false,"_ShowPrintMargin":false,"_ShowIndents":false,"_ShowActiveLine":false,"_SoftTabs":true,"storedString":"3 + 4","hasRobertsKeys":true,"_StyleClassNames":["Morph","CodeEditor","ace_editor","emacs-mode","ace_nobold","ace-chrome"],"eventHandler":{"__isSmartRef__":true,"id":90},"layout":{"__isSmartRef__":true,"id":91},"accessibleInInactiveWindow":true,"_isFocused":false,"showsHalos":false,"_Rotation":0,"_Scale":1,"name":"Editor4","partsBinMetaInfo":{"__isSmartRef__":true,"id":92},"_AutocompletionEnabled":false,"_ShowWarnings":false,"allowInput":true,"prevScroll":[0,0],"owner":{"__isSmartRef__":true,"id":6},"__serializedExpressions__":["_Position","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.CodeEditor","__SourceModuleName__":"Global.lively.ide.CodeEditor","_Position":"lively.pt(10.0,304.0)","distanceToDragEvent":"lively.pt(516.0,-7.0)"},"89":{"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Extent","_BorderColor","extent"],"__LivelyClassName__":"lively.morphic.CodeEditorShape","__SourceModuleName__":"Global.lively.ide.CodeEditor","_Extent":"lively.pt(731.0,21.0)","_BorderColor":"Color.rgb(95,94,95)","extent":"lively.pt(731.0,21.0)"},"90":{"morph":{"__isSmartRef__":true,"id":88},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"91":{"resizeWidth":true,"resizeHeight":false},"92":{"partName":"Editor","requiredModules":[],"partsSpaceName":"PartsBin/Basic/","comment":"Text based on ajax/ace","changes":[{"__isSmartRef__":true,"id":93},{"__isSmartRef__":true,"id":94}],"migrationLevel":7,"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Mon Jun 17 2013 12:39:05 GMT+0200 (CEST)\")"},"93":{"author":"robertkrahn","message":"no comment","id":"401386FB-ED59-4B2A-B926-EA3424BFCF7E","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 17 2013 12:39:05 GMT+0200 (CEST)\")"},"94":{"author":"robertkrahn","message":"initial","id":"D671F21E-F331-460E-8C16-5DBE3AC9DC23","__serializedExpressions__":["date"],"date":"new Date(\"Tue Jun 11 2013 10:17:18 GMT+0200 (CEST)\")"},"95":{"submorphs":[],"scripts":[],"id":"9F072533-FC6F-4FEF-9CEE-07C7DDFB6386","shape":{"__isSmartRef__":true,"id":96},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":120.695652,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":11,"name":"Text12","partsBinMetaInfo":{"__isSmartRef__":true,"id":97},"textChunks":[{"__isSmartRef__":true,"id":103}],"charsReplaced":"","lastFindLoc":15,"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":105},"_ClipMode":"visible","derivationIds":[355,"1EB1674F-8BF2-419B-B054-86129ED70335","63698904-DC05-4341-A9B6-5CC4A219CD04","F6A714BA-4735-41ED-8A2A-45CB153FBDF8","BDF44004-2E50-4F94-B08B-3896F47DF412","B3BC8215-D197-44EA-B38E-DBDBFE9531CE","FE37F64E-7853-4C7D-8980-AC5EE49FD182","FD6C98CD-6AA9-4C04-A158-B33043F7A43D"],"_WhiteSpaceHandling":"pre-wrap","_MinTextWidth":120.695652,"_MinTextHeight":null,"isBeingDragged":false,"moved":true,"layout":{"__isSmartRef__":true,"id":106},"undoSelectionRange":[287,287],"isCopyMorphRef":true,"morphRefId":1,"splittedFrom":{"__isSmartRef__":true,"id":7},"_WordBreak":"normal","evalEnabled":true,"magnets":[{"__isSmartRef__":true,"id":107},{"__isSmartRef__":true,"id":108},{"__isSmartRef__":true,"id":109},{"__isSmartRef__":true,"id":110},{"__isSmartRef__":true,"id":111},{"__isSmartRef__":true,"id":112},{"__isSmartRef__":true,"id":113},{"__isSmartRef__":true,"id":114}],"owner":{"__isSmartRef__":true,"id":6},"_Rotation":0,"_Scale":1,"priorSelectionRange":[14,14],"__serializedExpressions__":["_Position","textColor","_Padding"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(10.0,251.0)","textColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(5,5,0,0)"},"96":{"fill":null,"_BorderWidth":0,"_ClipMode":"visible","_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(731.0,38.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(4,2,0,0)"},"97":{"partsSpaceName":"PartsBin/Basic","migrationLevel":4,"comment":"a simple text morph","partName":"Text","changes":[{"__isSmartRef__":true,"id":98},{"__isSmartRef__":true,"id":99},{"__isSmartRef__":true,"id":100},{"__isSmartRef__":true,"id":101},{"__isSmartRef__":true,"id":102}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Fri Jun 22 2012 15:04:57 GMT+0200 (CEST)\")"},"98":{"author":"robertkrahn","message":"text click was broken?","id":"9D065E14-9653-4B2A-9A2E-3AD84EBBC3E0","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 16:30:30 GMT+0200 (CEST)\")"},"99":{"author":"undefined","message":"Set the inset as: this.setPadding(Rectangle.inset(4,2)). This gives it a more pleasing appearance with a border, and also makes it easier to select near the bounds.","id":"BD5B0E4C-4830-4863-A013-35BB66D5AD6F","__serializedExpressions__":["date"],"date":"new Date(\"Mon Feb 27 2012 06:20:38 GMT+0100 (CET)\")"},"100":{"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"0F4DE333-A551-4961-B29D-70270977EBEF","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 07:31:43 GMT+0200 (CEST)\")"},"101":{"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"785D95BD-7858-43EB-90E6-A1C085E2F2B9","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 07:32:09 GMT+0200 (CEST)\")"},"102":{"author":"timfelgentreff","message":"better text","id":"B904F9AC-6EA0-4A8A-83C9-AFC85AADC194","__serializedExpressions__":["date"],"date":"new Date(\"Tue May 08 2012 14:18:18 GMT+0200 (CEST)\")"},"103":{"style":{"__isSmartRef__":true,"id":104},"chunkOwner":{"__isSmartRef__":true,"id":95},"_id":"_6127","storedString":"C/F converter:\n(Currently throws errors on label update)","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"104":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"105":{"morph":{"__isSmartRef__":true,"id":95},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"106":{"resizeWidth":true},"107":{"morph":{"__isSmartRef__":true,"id":95},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(580.5,185.0)"},"108":{"morph":{"__isSmartRef__":true,"id":95},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(955.5,185.0)"},"109":{"morph":{"__isSmartRef__":true,"id":95},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(1330.5,185.0)"},"110":{"morph":{"__isSmartRef__":true,"id":95},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(1330.5,232.5)"},"111":{"morph":{"__isSmartRef__":true,"id":95},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(1330.5,280.0)"},"112":{"morph":{"__isSmartRef__":true,"id":95},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(955.5,280.0)"},"113":{"morph":{"__isSmartRef__":true,"id":95},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(580.5,280.0)"},"114":{"morph":{"__isSmartRef__":true,"id":95},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(580.5,232.5)"},"115":{"storedTextString":"$world.browseCode(null, null, \"users.timfelgentreff.babelsberg.constraintinterpreter\");\n$world.browseCode(null, null, \"users.timfelgentreff.babelsberg.deltablue_ext\");\n$world.browseCode(null, null, \"users.timfelgentreff.babelsberg.cassowary_ext\");\n\n// tests (include code for examples):\n$world.browseCode(null, null, \"users.timfelgentreff.babelsberg.tests\");","submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":116},"derivationIds":["01EEB685-9B00-41FB-93C8-42A027DA687F","8D3D04EB-8DC1-4EEA-B5FF-8CF9B4E52AA2","261490E9-2372-4753-A8D2-3C3A221EBFAC","30E4F43E-B36B-40A8-8CF2-305C8163E971","ADC38818-C574-4CAF-B390-79F0348B4D1F","BB07A321-D6C0-4A7D-9455-83739A41FB90","0C32D390-E446-4558-AF69-EBEF0DB3CFF4"],"id":"ABDB09EA-85B6-4389-8178-6C5FED7A0C6C","grabbingEnabled":false,"droppingEnabled":true,"halosEnabled":true,"_FontSize":12,"_ShowGutter":false,"_TextMode":"javascript","_Theme":"chrome","_LineWrapping":false,"_ShowInvisibles":false,"_ShowPrintMargin":false,"_ShowIndents":false,"_ShowActiveLine":false,"_SoftTabs":true,"storedString":"3 + 4","hasRobertsKeys":true,"_StyleClassNames":["Morph","CodeEditor","ace_editor","emacs-mode","ace_nobold","ace-chrome"],"eventHandler":{"__isSmartRef__":true,"id":117},"layout":{"__isSmartRef__":true,"id":118},"accessibleInInactiveWindow":true,"_isFocused":false,"showsHalos":false,"_Rotation":0,"_Scale":1,"name":"Editor5","partsBinMetaInfo":{"__isSmartRef__":true,"id":119},"_AutocompletionEnabled":false,"_ShowWarnings":false,"allowInput":true,"prevScroll":[0,0],"owner":{"__isSmartRef__":true,"id":6},"__serializedExpressions__":["_Position","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.CodeEditor","__SourceModuleName__":"Global.lively.ide.CodeEditor","_Position":"lively.pt(10.0,374.0)","distanceToDragEvent":"lively.pt(516.0,-7.0)"},"116":{"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Extent","_BorderColor","extent"],"__LivelyClassName__":"lively.morphic.CodeEditorShape","__SourceModuleName__":"Global.lively.ide.CodeEditor","_Extent":"lively.pt(731.0,101.0)","_BorderColor":"Color.rgb(95,94,95)","extent":"lively.pt(731.0,101.0)"},"117":{"morph":{"__isSmartRef__":true,"id":115},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"118":{"resizeWidth":true,"resizeHeight":false},"119":{"partName":"Editor","requiredModules":[],"partsSpaceName":"PartsBin/Basic/","comment":"Text based on ajax/ace","changes":[{"__isSmartRef__":true,"id":120},{"__isSmartRef__":true,"id":121}],"migrationLevel":7,"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Mon Jun 17 2013 12:39:05 GMT+0200 (CEST)\")"},"120":{"author":"robertkrahn","message":"no comment","id":"401386FB-ED59-4B2A-B926-EA3424BFCF7E","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 17 2013 12:39:05 GMT+0200 (CEST)\")"},"121":{"author":"robertkrahn","message":"initial","id":"D671F21E-F331-460E-8C16-5DBE3AC9DC23","__serializedExpressions__":["date"],"date":"new Date(\"Tue Jun 11 2013 10:17:18 GMT+0200 (CEST)\")"},"122":{"submorphs":[],"scripts":[],"id":"42AAD7E9-1196-4139-A8D7-53C44A584497","shape":{"__isSmartRef__":true,"id":123},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":120.695652,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":11,"name":"Text31","partsBinMetaInfo":{"__isSmartRef__":true,"id":124},"textChunks":[{"__isSmartRef__":true,"id":130}],"charsReplaced":"s","lastFindLoc":1,"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":132},"_ClipMode":"visible","derivationIds":[355,"1EB1674F-8BF2-419B-B054-86129ED70335","63698904-DC05-4341-A9B6-5CC4A219CD04","F6A714BA-4735-41ED-8A2A-45CB153FBDF8","BDF44004-2E50-4F94-B08B-3896F47DF412","C0D4E58E-B8A5-4C6E-B9F1-981B5CB977AE","BF3A8AE0-EDC6-4236-955E-CFBF29D3F56E","68432FDF-37C6-4D5E-8C9D-6763C7D6618B"],"_WhiteSpaceHandling":"pre-wrap","_MinTextWidth":120.695652,"_MinTextHeight":null,"isBeingDragged":false,"moved":true,"layout":{"__isSmartRef__":true,"id":133},"undoSelectionRange":[287,287],"isCopyMorphRef":true,"morphRefId":1,"splittedFrom":{"__isSmartRef__":true,"id":7},"_WordBreak":"normal","magnets":[{"__isSmartRef__":true,"id":134},{"__isSmartRef__":true,"id":135},{"__isSmartRef__":true,"id":136},{"__isSmartRef__":true,"id":137},{"__isSmartRef__":true,"id":138},{"__isSmartRef__":true,"id":139},{"__isSmartRef__":true,"id":140},{"__isSmartRef__":true,"id":141}],"owner":{"__isSmartRef__":true,"id":6},"_Rotation":0,"_Scale":1,"priorSelectionRange":[44,44],"__serializedExpressions__":["_Position","textColor","_Padding"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(10.0,527.0)","textColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(5,5,0,0)"},"123":{"fill":null,"_BorderWidth":0,"_ClipMode":"visible","_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(731.0,19.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(4,2,0,0)"},"124":{"partsSpaceName":"PartsBin/Basic","migrationLevel":4,"comment":"a simple text morph","partName":"Text","changes":[{"__isSmartRef__":true,"id":125},{"__isSmartRef__":true,"id":126},{"__isSmartRef__":true,"id":127},{"__isSmartRef__":true,"id":128},{"__isSmartRef__":true,"id":129}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Fri Jun 22 2012 15:04:57 GMT+0200 (CEST)\")"},"125":{"author":"robertkrahn","message":"text click was broken?","id":"9D065E14-9653-4B2A-9A2E-3AD84EBBC3E0","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 16:30:30 GMT+0200 (CEST)\")"},"126":{"author":"undefined","message":"Set the inset as: this.setPadding(Rectangle.inset(4,2)). This gives it a more pleasing appearance with a border, and also makes it easier to select near the bounds.","id":"BD5B0E4C-4830-4863-A013-35BB66D5AD6F","__serializedExpressions__":["date"],"date":"new Date(\"Mon Feb 27 2012 06:20:38 GMT+0100 (CET)\")"},"127":{"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"0F4DE333-A551-4961-B29D-70270977EBEF","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 07:31:43 GMT+0200 (CEST)\")"},"128":{"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"785D95BD-7858-43EB-90E6-A1C085E2F2B9","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 07:32:09 GMT+0200 (CEST)\")"},"129":{"author":"timfelgentreff","message":"better text","id":"B904F9AC-6EA0-4A8A-83C9-AFC85AADC194","__serializedExpressions__":["date"],"date":"new Date(\"Tue May 08 2012 14:18:18 GMT+0200 (CEST)\")"},"130":{"style":{"__isSmartRef__":true,"id":131},"chunkOwner":{"__isSmartRef__":true,"id":122},"_id":"_3072","storedString":"Setting up a simple (delta blue) constraint:","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"131":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"132":{"morph":{"__isSmartRef__":true,"id":122},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"133":{"resizeWidth":true},"134":{"morph":{"__isSmartRef__":true,"id":122},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(580.5,295.0)"},"135":{"morph":{"__isSmartRef__":true,"id":122},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(955.5,295.0)"},"136":{"morph":{"__isSmartRef__":true,"id":122},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(1330.5,295.0)"},"137":{"morph":{"__isSmartRef__":true,"id":122},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(1330.5,304.5)"},"138":{"morph":{"__isSmartRef__":true,"id":122},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(1330.5,314.0)"},"139":{"morph":{"__isSmartRef__":true,"id":122},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(955.5,314.0)"},"140":{"morph":{"__isSmartRef__":true,"id":122},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(580.5,314.0)"},"141":{"morph":{"__isSmartRef__":true,"id":122},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(580.5,304.5)"},"142":{"submorphs":[],"scripts":[],"id":"D86AFCC2-5FBF-4F19-8462-3CA2CE4731B1","shape":{"__isSmartRef__":true,"id":143},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":120.695652,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":11,"name":"Text32","partsBinMetaInfo":{"__isSmartRef__":true,"id":144},"textChunks":[{"__isSmartRef__":true,"id":150}],"charsReplaced":"Setting up a simple (delta blue) constraint:","lastFindLoc":44,"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":152},"_ClipMode":"visible","derivationIds":[355,"1EB1674F-8BF2-419B-B054-86129ED70335","63698904-DC05-4341-A9B6-5CC4A219CD04","F6A714BA-4735-41ED-8A2A-45CB153FBDF8","BDF44004-2E50-4F94-B08B-3896F47DF412","C0D4E58E-B8A5-4C6E-B9F1-981B5CB977AE","BF3A8AE0-EDC6-4236-955E-CFBF29D3F56E","68432FDF-37C6-4D5E-8C9D-6763C7D6618B","2BD935B1-9E4A-44A5-B514-759768687EE9"],"_WhiteSpaceHandling":"pre-wrap","_MinTextWidth":120.695652,"_MinTextHeight":null,"isBeingDragged":false,"moved":true,"layout":{"__isSmartRef__":true,"id":153},"undoSelectionRange":[287,287],"isCopyMorphRef":true,"morphRefId":1,"splittedFrom":{"__isSmartRef__":true,"id":7},"_WordBreak":"normal","magnets":[{"__isSmartRef__":true,"id":154},{"__isSmartRef__":true,"id":155},{"__isSmartRef__":true,"id":156},{"__isSmartRef__":true,"id":157},{"__isSmartRef__":true,"id":158},{"__isSmartRef__":true,"id":159},{"__isSmartRef__":true,"id":160},{"__isSmartRef__":true,"id":161}],"previousSelection":[60,60],"owner":{"__isSmartRef__":true,"id":6},"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","textColor","_Padding"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(10.0,709.0)","textColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(5,5,0,0)"},"143":{"fill":null,"_BorderWidth":0,"_ClipMode":"visible","_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(731.0,19.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(4,2,0,0)"},"144":{"partsSpaceName":"PartsBin/Basic","migrationLevel":4,"comment":"a simple text morph","partName":"Text","changes":[{"__isSmartRef__":true,"id":145},{"__isSmartRef__":true,"id":146},{"__isSmartRef__":true,"id":147},{"__isSmartRef__":true,"id":148},{"__isSmartRef__":true,"id":149}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Fri Jun 22 2012 15:04:57 GMT+0200 (CEST)\")"},"145":{"author":"robertkrahn","message":"text click was broken?","id":"9D065E14-9653-4B2A-9A2E-3AD84EBBC3E0","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 16:30:30 GMT+0200 (CEST)\")"},"146":{"author":"undefined","message":"Set the inset as: this.setPadding(Rectangle.inset(4,2)). This gives it a more pleasing appearance with a border, and also makes it easier to select near the bounds.","id":"BD5B0E4C-4830-4863-A013-35BB66D5AD6F","__serializedExpressions__":["date"],"date":"new Date(\"Mon Feb 27 2012 06:20:38 GMT+0100 (CET)\")"},"147":{"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"0F4DE333-A551-4961-B29D-70270977EBEF","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 07:31:43 GMT+0200 (CEST)\")"},"148":{"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"785D95BD-7858-43EB-90E6-A1C085E2F2B9","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 07:32:09 GMT+0200 (CEST)\")"},"149":{"author":"timfelgentreff","message":"better text","id":"B904F9AC-6EA0-4A8A-83C9-AFC85AADC194","__serializedExpressions__":["date"],"date":"new Date(\"Tue May 08 2012 14:18:18 GMT+0200 (CEST)\")"},"150":{"style":{"__isSmartRef__":true,"id":151},"chunkOwner":{"__isSmartRef__":true,"id":142},"_id":"_3072","storedString":"Midpoint example, the first straightforward approach failed","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"151":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"152":{"morph":{"__isSmartRef__":true,"id":142},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"153":{"resizeWidth":true},"154":{"morph":{"__isSmartRef__":true,"id":142},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(580.5,295.0)"},"155":{"morph":{"__isSmartRef__":true,"id":142},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(955.5,295.0)"},"156":{"morph":{"__isSmartRef__":true,"id":142},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(1330.5,295.0)"},"157":{"morph":{"__isSmartRef__":true,"id":142},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(1330.5,304.5)"},"158":{"morph":{"__isSmartRef__":true,"id":142},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(1330.5,314.0)"},"159":{"morph":{"__isSmartRef__":true,"id":142},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(955.5,314.0)"},"160":{"morph":{"__isSmartRef__":true,"id":142},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(580.5,314.0)"},"161":{"morph":{"__isSmartRef__":true,"id":142},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(580.5,304.5)"},"162":{"submorphs":[],"scripts":[],"id":"228372FB-3EA4-4FA7-BC30-C0DC05741F87","shape":{"__isSmartRef__":true,"id":163},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":120.695652,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":11,"name":"Text35","partsBinMetaInfo":{"__isSmartRef__":true,"id":164},"textChunks":[{"__isSmartRef__":true,"id":170}],"charsReplaced":"Midpoint example, the first straightfa2nd approach: we were able to \"approximate\" a line (it's endpoints)orward approach failed","lastFindLoc":67,"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":172},"_ClipMode":"visible","derivationIds":[355,"1EB1674F-8BF2-419B-B054-86129ED70335","63698904-DC05-4341-A9B6-5CC4A219CD04","F6A714BA-4735-41ED-8A2A-45CB153FBDF8","BDF44004-2E50-4F94-B08B-3896F47DF412","C0D4E58E-B8A5-4C6E-B9F1-981B5CB977AE","BF3A8AE0-EDC6-4236-955E-CFBF29D3F56E","68432FDF-37C6-4D5E-8C9D-6763C7D6618B","2BD935B1-9E4A-44A5-B514-759768687EE9","8E55F8A2-579F-4A05-93EA-26C5C132D91C"],"_WhiteSpaceHandling":"pre-wrap","_MinTextWidth":120.695652,"_MinTextHeight":null,"isBeingDragged":false,"moved":true,"layout":{"__isSmartRef__":true,"id":173},"undoSelectionRange":[287,287],"isCopyMorphRef":true,"morphRefId":1,"splittedFrom":{"__isSmartRef__":true,"id":7},"_WordBreak":"normal","magnets":[{"__isSmartRef__":true,"id":174},{"__isSmartRef__":true,"id":175},{"__isSmartRef__":true,"id":176},{"__isSmartRef__":true,"id":177},{"__isSmartRef__":true,"id":178},{"__isSmartRef__":true,"id":179},{"__isSmartRef__":true,"id":180},{"__isSmartRef__":true,"id":181}],"owner":{"__isSmartRef__":true,"id":6},"previousSelection":[37,37],"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","textColor","_Padding"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(10.0,1055.0)","textColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(5,5,0,0)"},"163":{"fill":null,"_BorderWidth":0,"_ClipMode":"visible","_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(731.0,19.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(4,2,0,0)"},"164":{"partsSpaceName":"PartsBin/Basic","migrationLevel":4,"comment":"a simple text morph","partName":"Text","changes":[{"__isSmartRef__":true,"id":165},{"__isSmartRef__":true,"id":166},{"__isSmartRef__":true,"id":167},{"__isSmartRef__":true,"id":168},{"__isSmartRef__":true,"id":169}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Fri Jun 22 2012 15:04:57 GMT+0200 (CEST)\")"},"165":{"author":"robertkrahn","message":"text click was broken?","id":"9D065E14-9653-4B2A-9A2E-3AD84EBBC3E0","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 16:30:30 GMT+0200 (CEST)\")"},"166":{"author":"undefined","message":"Set the inset as: this.setPadding(Rectangle.inset(4,2)). This gives it a more pleasing appearance with a border, and also makes it easier to select near the bounds.","id":"BD5B0E4C-4830-4863-A013-35BB66D5AD6F","__serializedExpressions__":["date"],"date":"new Date(\"Mon Feb 27 2012 06:20:38 GMT+0100 (CET)\")"},"167":{"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"0F4DE333-A551-4961-B29D-70270977EBEF","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 07:31:43 GMT+0200 (CEST)\")"},"168":{"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"785D95BD-7858-43EB-90E6-A1C085E2F2B9","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 07:32:09 GMT+0200 (CEST)\")"},"169":{"author":"timfelgentreff","message":"better text","id":"B904F9AC-6EA0-4A8A-83C9-AFC85AADC194","__serializedExpressions__":["date"],"date":"new Date(\"Tue May 08 2012 14:18:18 GMT+0200 (CEST)\")"},"170":{"style":{"__isSmartRef__":true,"id":171},"chunkOwner":{"__isSmartRef__":true,"id":162},"_id":"_3072","storedString":"2nd approach: we were able to \"approximate\" a line (it's endpoints)","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"171":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"172":{"morph":{"__isSmartRef__":true,"id":162},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"173":{"resizeWidth":true},"174":{"morph":{"__isSmartRef__":true,"id":162},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(580.5,295.0)"},"175":{"morph":{"__isSmartRef__":true,"id":162},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(955.5,295.0)"},"176":{"morph":{"__isSmartRef__":true,"id":162},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(1330.5,295.0)"},"177":{"morph":{"__isSmartRef__":true,"id":162},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(1330.5,304.5)"},"178":{"morph":{"__isSmartRef__":true,"id":162},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(1330.5,314.0)"},"179":{"morph":{"__isSmartRef__":true,"id":162},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(955.5,314.0)"},"180":{"morph":{"__isSmartRef__":true,"id":162},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(580.5,314.0)"},"181":{"morph":{"__isSmartRef__":true,"id":162},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(580.5,304.5)"},"182":{"storedTextString":"pos = this.globalBounds().topRight().addXY(100, 20);\nstart = $part('Rectangle', 'PartsBin/Basic').openInWorld(pos);\nend = $part('Rectangle', 'PartsBin/Basic').openInWorld(pos.addXY(100,100));\n[start,end].invoke('applyStyle', {extent: pt(10,10)});\nmidP = $part('Ellipse', 'PartsBin/Basic').openInWorld(pos);\nmidP.setExtent(pt(20,20));\n\n// ugly: we need a script to force render refresh\nmidP.addScript(function update() { this.setPosition(this.getPosition()); });\nmidP.startStepping(100, 'update') // this can be solved with an additional DeltaBlue constraint\n // see the C/F converter label update for code -- Tim\n\n// constraint\nalways: {\n var center = start.getPosition().addPt(end.getPosition()).scaleBy(0.5);\n midP.getPosition().eqPt(center)\n}\n\n// move the start of the \"line\"\nstart.moveBy(pt(10,0));\n\n// cleanup\n[start,end,midP].invoke('remove');","submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":183},"derivationIds":["01EEB685-9B00-41FB-93C8-42A027DA687F","8D3D04EB-8DC1-4EEA-B5FF-8CF9B4E52AA2","261490E9-2372-4753-A8D2-3C3A221EBFAC","97D32E9C-DD84-44BF-A620-2A265273BB4F","504CD9D1-B5D3-4AEB-8A8D-55686310A8A4","5C51465E-3FB7-423C-B44A-42A5361F4744"],"id":"2B4FC97D-3E28-487B-B8FB-9EB679308206","grabbingEnabled":false,"droppingEnabled":true,"halosEnabled":true,"_FontSize":12,"_ShowGutter":false,"_TextMode":"javascript","_Theme":"chrome","_LineWrapping":false,"_ShowInvisibles":false,"_ShowPrintMargin":false,"_ShowIndents":false,"_ShowActiveLine":false,"_SoftTabs":true,"storedString":"3 + 4","hasRobertsKeys":true,"_StyleClassNames":["Morph","CodeEditor","ace_editor","emacs-mode","ace_nobold","ace-chrome"],"eventHandler":{"__isSmartRef__":true,"id":184},"layout":{"__isSmartRef__":true,"id":185},"accessibleInInactiveWindow":true,"_isFocused":false,"showsHalos":false,"_Rotation":0,"_Scale":1,"name":"Editor2","partsBinMetaInfo":{"__isSmartRef__":true,"id":186},"_AutocompletionEnabled":false,"_ShowWarnings":false,"allowInput":true,"owner":{"__isSmartRef__":true,"id":6},"prevScroll":[0,0],"__serializedExpressions__":["_Position","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.CodeEditor","__SourceModuleName__":"Global.lively.ide.CodeEditor","_Position":"lively.pt(10.0,1089.0)","distanceToDragEvent":"lively.pt(509.0,-15.0)"},"183":{"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Extent","_BorderColor","extent"],"__LivelyClassName__":"lively.morphic.CodeEditorShape","__SourceModuleName__":"Global.lively.ide.CodeEditor","_Extent":"lively.pt(731.0,377.0)","_BorderColor":"Color.rgb(95,94,95)","extent":"lively.pt(731.0,377.0)"},"184":{"morph":{"__isSmartRef__":true,"id":182},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"185":{"resizeWidth":true,"resizeHeight":false},"186":{"partName":"Editor","requiredModules":[],"partsSpaceName":"PartsBin/Basic/","comment":"Text based on ajax/ace","changes":[{"__isSmartRef__":true,"id":187},{"__isSmartRef__":true,"id":188}],"migrationLevel":7,"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Mon Jun 17 2013 12:39:05 GMT+0200 (CEST)\")"},"187":{"author":"robertkrahn","message":"no comment","id":"401386FB-ED59-4B2A-B926-EA3424BFCF7E","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 17 2013 12:39:05 GMT+0200 (CEST)\")"},"188":{"author":"robertkrahn","message":"initial","id":"D671F21E-F331-460E-8C16-5DBE3AC9DC23","__serializedExpressions__":["date"],"date":"new Date(\"Tue Jun 11 2013 10:17:18 GMT+0200 (CEST)\")"},"189":{"storedTextString":"bbb.defaultSolver = new ClSimplexSolver()\nhand = $world.firstHand();\n\npos = hand.getPosition().addPt(pt(200, 0));\nstart = $part('Rectangle', 'PartsBin/Basic').openInWorld(pos);\nend = $part('Rectangle', 'PartsBin/Basic').openInWorld(pos.addXY(100,100));\n[start,end].invoke('applyStyle', {extent: pt(10,10)});\nmidP = $part('Ellipse', 'PartsBin/Basic').openInWorld(pos);\nmidP.setExtent(pt(20,20));\n\n// ugly: we need a script to force render refresh\nmidP.addScript(function update() {\n this.setPosition(this.getPosition());\n start.setPosition(start.getPosition());\n});\nmidP.startStepping(100, 'update') // this can be solved with an additional DeltaBlue constraint\n // see the C/F converter label update for code -- Tim\n\n// constraint\nalways: {\n var center = start.getPosition().addPt(end.getPosition()).scaleBy(0.5);\n midP.getPosition().eqPt(center);\n}\n\n// start editing.\n// first argument is the object to be edited, the second a list of accessors or fields\n// note that in the JavaScript implementation, the accessor methods have to return a single value\n// the Ruby version does not have this limitation (so we could write\n// bbb.edit(start, [\"getPosition\"])\n// ), but I haven't ported that, yet.\neditCallback = bbb.edit(start.getPosition(), [\"x\", \"y\"]);\nthis.onMouseMove = function (evt) {\n editCallback(evt.getPosition().addPt(pt(20, 20)));\n}\n\n// end edit by calling callback without values\neditCallback();\neditCallback = null;\n\n// cleanup\nthis.onMouseMove = function (evt) {};\n[start,end,midP].invoke('remove');\nstart = end = midP = hand = null;","submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":190},"derivationIds":["01EEB685-9B00-41FB-93C8-42A027DA687F","8D3D04EB-8DC1-4EEA-B5FF-8CF9B4E52AA2","261490E9-2372-4753-A8D2-3C3A221EBFAC","97D32E9C-DD84-44BF-A620-2A265273BB4F","504CD9D1-B5D3-4AEB-8A8D-55686310A8A4","5C51465E-3FB7-423C-B44A-42A5361F4744","88BA44A3-FC19-483F-82D9-4BAA14527443"],"id":"559C986C-0809-48EF-9215-A2B1B0D9F0F5","grabbingEnabled":false,"droppingEnabled":true,"halosEnabled":true,"_FontSize":12,"_ShowGutter":false,"_TextMode":"javascript","_Theme":"chrome","_LineWrapping":false,"_ShowInvisibles":false,"_ShowPrintMargin":false,"_ShowIndents":false,"_ShowActiveLine":false,"_SoftTabs":true,"storedString":"3 + 4","hasRobertsKeys":true,"_StyleClassNames":["Morph","CodeEditor","ace_editor","emacs-mode","ace_nobold","ace-chrome"],"eventHandler":{"__isSmartRef__":true,"id":191},"layout":{"__isSmartRef__":true,"id":192},"accessibleInInactiveWindow":true,"_isFocused":false,"showsHalos":false,"_Rotation":0,"_Scale":1,"name":"Editor6","partsBinMetaInfo":{"__isSmartRef__":true,"id":193},"_AutocompletionEnabled":false,"_ShowWarnings":false,"allowInput":true,"prevScroll":[0,0],"owner":{"__isSmartRef__":true,"id":6},"__serializedExpressions__":["_Position","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.CodeEditor","__SourceModuleName__":"Global.lively.ide.CodeEditor","_Position":"lively.pt(10.0,1515.0)","distanceToDragEvent":"lively.pt(489.0,-22.0)"},"190":{"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Extent","_BorderColor","extent"],"__LivelyClassName__":"lively.morphic.CodeEditorShape","__SourceModuleName__":"Global.lively.ide.CodeEditor","_Extent":"lively.pt(731.0,654.0)","_BorderColor":"Color.rgb(95,94,95)","extent":"lively.pt(731.0,654.0)"},"191":{"morph":{"__isSmartRef__":true,"id":189},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"192":{"resizeWidth":true,"resizeHeight":false},"193":{"partName":"Editor","requiredModules":[],"partsSpaceName":"PartsBin/Basic/","comment":"Text based on ajax/ace","changes":[{"__isSmartRef__":true,"id":194},{"__isSmartRef__":true,"id":195}],"migrationLevel":7,"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Mon Jun 17 2013 12:39:05 GMT+0200 (CEST)\")"},"194":{"author":"robertkrahn","message":"no comment","id":"401386FB-ED59-4B2A-B926-EA3424BFCF7E","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 17 2013 12:39:05 GMT+0200 (CEST)\")"},"195":{"author":"robertkrahn","message":"initial","id":"D671F21E-F331-460E-8C16-5DBE3AC9DC23","__serializedExpressions__":["date"],"date":"new Date(\"Tue Jun 11 2013 10:17:18 GMT+0200 (CEST)\")"},"196":{"submorphs":[],"scripts":[],"id":"1A0049F7-D5D5-4C7B-B1DC-8DE1C069C3AB","shape":{"__isSmartRef__":true,"id":197},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":120.695652,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":11,"name":"Text36","partsBinMetaInfo":{"__isSmartRef__":true,"id":198},"textChunks":[{"__isSmartRef__":true,"id":204}],"charsReplaced":"2nd approach: we were able to \"approximate\" a line (it's endpoints)","lastFindLoc":67,"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":206},"_ClipMode":"visible","derivationIds":[355,"1EB1674F-8BF2-419B-B054-86129ED70335","63698904-DC05-4341-A9B6-5CC4A219CD04","F6A714BA-4735-41ED-8A2A-45CB153FBDF8","BDF44004-2E50-4F94-B08B-3896F47DF412","C0D4E58E-B8A5-4C6E-B9F1-981B5CB977AE","BF3A8AE0-EDC6-4236-955E-CFBF29D3F56E","68432FDF-37C6-4D5E-8C9D-6763C7D6618B","2BD935B1-9E4A-44A5-B514-759768687EE9","8E55F8A2-579F-4A05-93EA-26C5C132D91C","3AD58136-EC8C-4629-9046-AE6D28E71ABC"],"_WhiteSpaceHandling":"pre-wrap","_MinTextWidth":120.695652,"_MinTextHeight":null,"isBeingDragged":false,"moved":true,"layout":{"__isSmartRef__":true,"id":207},"undoSelectionRange":[287,287],"isCopyMorphRef":true,"morphRefId":1,"splittedFrom":{"__isSmartRef__":true,"id":7},"_WordBreak":"normal","magnets":[{"__isSmartRef__":true,"id":208},{"__isSmartRef__":true,"id":209},{"__isSmartRef__":true,"id":210},{"__isSmartRef__":true,"id":211},{"__isSmartRef__":true,"id":212},{"__isSmartRef__":true,"id":213},{"__isSmartRef__":true,"id":214},{"__isSmartRef__":true,"id":215}],"owner":{"__isSmartRef__":true,"id":6},"priorSelectionRange":[16,16],"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","textColor","_Padding"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(10.0,1481.0)","textColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(5,5,0,0)"},"197":{"fill":null,"_BorderWidth":0,"_ClipMode":"visible","_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(731.0,19.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(4,2,0,0)"},"198":{"partsSpaceName":"PartsBin/Basic","migrationLevel":4,"comment":"a simple text morph","partName":"Text","changes":[{"__isSmartRef__":true,"id":199},{"__isSmartRef__":true,"id":200},{"__isSmartRef__":true,"id":201},{"__isSmartRef__":true,"id":202},{"__isSmartRef__":true,"id":203}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Fri Jun 22 2012 15:04:57 GMT+0200 (CEST)\")"},"199":{"author":"robertkrahn","message":"text click was broken?","id":"9D065E14-9653-4B2A-9A2E-3AD84EBBC3E0","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 16:30:30 GMT+0200 (CEST)\")"},"200":{"author":"undefined","message":"Set the inset as: this.setPadding(Rectangle.inset(4,2)). This gives it a more pleasing appearance with a border, and also makes it easier to select near the bounds.","id":"BD5B0E4C-4830-4863-A013-35BB66D5AD6F","__serializedExpressions__":["date"],"date":"new Date(\"Mon Feb 27 2012 06:20:38 GMT+0100 (CET)\")"},"201":{"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"0F4DE333-A551-4961-B29D-70270977EBEF","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 07:31:43 GMT+0200 (CEST)\")"},"202":{"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"785D95BD-7858-43EB-90E6-A1C085E2F2B9","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 07:32:09 GMT+0200 (CEST)\")"},"203":{"author":"timfelgentreff","message":"better text","id":"B904F9AC-6EA0-4A8A-83C9-AFC85AADC194","__serializedExpressions__":["date"],"date":"new Date(\"Tue May 08 2012 14:18:18 GMT+0200 (CEST)\")"},"204":{"style":{"__isSmartRef__":true,"id":205},"chunkOwner":{"__isSmartRef__":true,"id":196},"_id":"_3072","storedString":"Edit Constraints","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"205":{"fontWeight":"bold","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"206":{"morph":{"__isSmartRef__":true,"id":196},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"207":{"resizeWidth":true},"208":{"morph":{"__isSmartRef__":true,"id":196},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(580.5,295.0)"},"209":{"morph":{"__isSmartRef__":true,"id":196},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(955.5,295.0)"},"210":{"morph":{"__isSmartRef__":true,"id":196},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(1330.5,295.0)"},"211":{"morph":{"__isSmartRef__":true,"id":196},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(1330.5,304.5)"},"212":{"morph":{"__isSmartRef__":true,"id":196},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(1330.5,314.0)"},"213":{"morph":{"__isSmartRef__":true,"id":196},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(955.5,314.0)"},"214":{"morph":{"__isSmartRef__":true,"id":196},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(580.5,314.0)"},"215":{"morph":{"__isSmartRef__":true,"id":196},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(580.5,304.5)"},"216":{"submorphs":[],"scripts":[],"id":"585FE0B2-C4D5-4BFD-9C15-25452C1F10D6","shape":{"__isSmartRef__":true,"id":217},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":120.695652,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":11,"name":"Text20","partsBinMetaInfo":{"__isSmartRef__":true,"id":218},"textChunks":[{"__isSmartRef__":true,"id":224}],"charsReplaced":"Modules","lastFindLoc":7,"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":226},"_ClipMode":"visible","derivationIds":[355,"1EB1674F-8BF2-419B-B054-86129ED70335","63698904-DC05-4341-A9B6-5CC4A219CD04","F6A714BA-4735-41ED-8A2A-45CB153FBDF8","BDF44004-2E50-4F94-B08B-3896F47DF412","68847EFD-E5CC-4328-935B-25EC0B2209F3","255A2A31-3D48-4681-901E-41B0385F6298","FA734C36-5E34-4DEA-AD78-BF789C8BC497","1DF13E84-0CE7-4A43-84C0-B979B8AC8C17"],"_WhiteSpaceHandling":"pre-wrap","_MinTextWidth":120.695652,"_MinTextHeight":null,"isBeingDragged":false,"moved":true,"layout":{"__isSmartRef__":true,"id":227},"undoSelectionRange":[287,287],"isCopyMorphRef":true,"morphRefId":1,"_WordBreak":"normal","owner":{"__isSmartRef__":true,"id":6},"magnets":[{"__isSmartRef__":true,"id":228},{"__isSmartRef__":true,"id":229},{"__isSmartRef__":true,"id":230},{"__isSmartRef__":true,"id":231},{"__isSmartRef__":true,"id":232},{"__isSmartRef__":true,"id":233},{"__isSmartRef__":true,"id":234},{"__isSmartRef__":true,"id":235}],"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","textColor","_Padding"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(10.0,490.0)","textColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(5,5,0,0)"},"217":{"fill":null,"_BorderWidth":0,"_ClipMode":"visible","_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(731.0,22.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(4,2,0,0)"},"218":{"partsSpaceName":"PartsBin/Basic","migrationLevel":4,"comment":"a simple text morph","partName":"Text","changes":[{"__isSmartRef__":true,"id":219},{"__isSmartRef__":true,"id":220},{"__isSmartRef__":true,"id":221},{"__isSmartRef__":true,"id":222},{"__isSmartRef__":true,"id":223}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Fri Jun 22 2012 15:04:57 GMT+0200 (CEST)\")"},"219":{"author":"robertkrahn","message":"text click was broken?","id":"9D065E14-9653-4B2A-9A2E-3AD84EBBC3E0","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 16:30:30 GMT+0200 (CEST)\")"},"220":{"author":"undefined","message":"Set the inset as: this.setPadding(Rectangle.inset(4,2)). This gives it a more pleasing appearance with a border, and also makes it easier to select near the bounds.","id":"BD5B0E4C-4830-4863-A013-35BB66D5AD6F","__serializedExpressions__":["date"],"date":"new Date(\"Mon Feb 27 2012 06:20:38 GMT+0100 (CET)\")"},"221":{"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"0F4DE333-A551-4961-B29D-70270977EBEF","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 07:31:43 GMT+0200 (CEST)\")"},"222":{"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"785D95BD-7858-43EB-90E6-A1C085E2F2B9","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 07:32:09 GMT+0200 (CEST)\")"},"223":{"author":"timfelgentreff","message":"better text","id":"B904F9AC-6EA0-4A8A-83C9-AFC85AADC194","__serializedExpressions__":["date"],"date":"new Date(\"Tue May 08 2012 14:18:18 GMT+0200 (CEST)\")"},"224":{"style":{"__isSmartRef__":true,"id":225},"chunkOwner":{"__isSmartRef__":true,"id":216},"_id":"_3072","storedString":"Simple examples","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"225":{"fontSize":13,"fontWeight":"bold","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"226":{"morph":{"__isSmartRef__":true,"id":216},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"227":{"resizeWidth":true},"228":{"morph":{"__isSmartRef__":true,"id":216},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(580.5,644.0)"},"229":{"morph":{"__isSmartRef__":true,"id":216},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(955.5,644.0)"},"230":{"morph":{"__isSmartRef__":true,"id":216},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(1330.5,644.0)"},"231":{"morph":{"__isSmartRef__":true,"id":216},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(1330.5,655.0)"},"232":{"morph":{"__isSmartRef__":true,"id":216},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(1330.5,666.0)"},"233":{"morph":{"__isSmartRef__":true,"id":216},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(955.5,666.0)"},"234":{"morph":{"__isSmartRef__":true,"id":216},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(580.5,666.0)"},"235":{"morph":{"__isSmartRef__":true,"id":216},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(580.5,655.0)"},"236":{"submorphs":[],"scripts":[],"id":"18D68A94-0580-4EB7-870F-FE73E87DC05C","shape":{"__isSmartRef__":true,"id":237},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":120.695652,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":11,"name":"Text1","partsBinMetaInfo":{"__isSmartRef__":true,"id":238},"textChunks":[{"__isSmartRef__":true,"id":244}],"charsReplaced":"Tim's examples","lastFindLoc":14,"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":246},"_ClipMode":"visible","derivationIds":[355,"1EB1674F-8BF2-419B-B054-86129ED70335","63698904-DC05-4341-A9B6-5CC4A219CD04","F6A714BA-4735-41ED-8A2A-45CB153FBDF8","BDF44004-2E50-4F94-B08B-3896F47DF412","894B0070-3C28-4DB5-BBB6-58E7A1C40D6A","6BFAEB7D-0E9A-4E61-9FAA-2500C148979C"],"_WhiteSpaceHandling":"pre-wrap","_MinTextWidth":120.695652,"_MinTextHeight":null,"isBeingDragged":false,"moved":true,"layout":{"__isSmartRef__":true,"id":247},"undoSelectionRange":[287,287],"isCopyMorphRef":true,"morphRefId":1,"#startLetters":"set","_WordBreak":"normal","magnets":[{"__isSmartRef__":true,"id":248},{"__isSmartRef__":true,"id":249},{"__isSmartRef__":true,"id":250},{"__isSmartRef__":true,"id":251},{"__isSmartRef__":true,"id":252},{"__isSmartRef__":true,"id":253},{"__isSmartRef__":true,"id":254},{"__isSmartRef__":true,"id":255}],"owner":{"__isSmartRef__":true,"id":6},"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","textColor","_Padding"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(10.0,10.0)","textColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(5,5,0,0)"},"237":{"fill":null,"_BorderWidth":0,"_ClipMode":"visible","_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(731.0,22.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(4,2,0,0)"},"238":{"partsSpaceName":"PartsBin/Basic","migrationLevel":4,"comment":"a simple text morph","partName":"Text","changes":[{"__isSmartRef__":true,"id":239},{"__isSmartRef__":true,"id":240},{"__isSmartRef__":true,"id":241},{"__isSmartRef__":true,"id":242},{"__isSmartRef__":true,"id":243}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Fri Jun 22 2012 15:04:57 GMT+0200 (CEST)\")"},"239":{"author":"robertkrahn","message":"text click was broken?","id":"9D065E14-9653-4B2A-9A2E-3AD84EBBC3E0","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 16:30:30 GMT+0200 (CEST)\")"},"240":{"author":"undefined","message":"Set the inset as: this.setPadding(Rectangle.inset(4,2)). This gives it a more pleasing appearance with a border, and also makes it easier to select near the bounds.","id":"BD5B0E4C-4830-4863-A013-35BB66D5AD6F","__serializedExpressions__":["date"],"date":"new Date(\"Mon Feb 27 2012 06:20:38 GMT+0100 (CET)\")"},"241":{"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"0F4DE333-A551-4961-B29D-70270977EBEF","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 07:31:43 GMT+0200 (CEST)\")"},"242":{"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"785D95BD-7858-43EB-90E6-A1C085E2F2B9","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 07:32:09 GMT+0200 (CEST)\")"},"243":{"author":"timfelgentreff","message":"better text","id":"B904F9AC-6EA0-4A8A-83C9-AFC85AADC194","__serializedExpressions__":["date"],"date":"new Date(\"Tue May 08 2012 14:18:18 GMT+0200 (CEST)\")"},"244":{"style":{"__isSmartRef__":true,"id":245},"chunkOwner":{"__isSmartRef__":true,"id":236},"_id":"_3072","storedString":"Setup","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"245":{"fontSize":13,"fontWeight":"bold","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"246":{"morph":{"__isSmartRef__":true,"id":236},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"247":{"resizeWidth":true},"248":{"morph":{"__isSmartRef__":true,"id":236},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(580.5,148.0)"},"249":{"morph":{"__isSmartRef__":true,"id":236},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(955.5,148.0)"},"250":{"morph":{"__isSmartRef__":true,"id":236},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(1330.5,148.0)"},"251":{"morph":{"__isSmartRef__":true,"id":236},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(1330.5,159.0)"},"252":{"morph":{"__isSmartRef__":true,"id":236},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(1330.5,170.0)"},"253":{"morph":{"__isSmartRef__":true,"id":236},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(955.5,170.0)"},"254":{"morph":{"__isSmartRef__":true,"id":236},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(580.5,170.0)"},"255":{"morph":{"__isSmartRef__":true,"id":236},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(580.5,159.0)"},"256":{"submorphs":[],"scripts":[],"id":"C751ED74-5D2B-461F-9502-B710E3813987","shape":{"__isSmartRef__":true,"id":257},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":120.695652,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":11,"name":"Text33","partsBinMetaInfo":{"__isSmartRef__":true,"id":258},"textChunks":[{"__isSmartRef__":true,"id":264}],"charsReplaced":"First, w","lastFindLoc":16,"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":266},"_ClipMode":"visible","derivationIds":[355,"1EB1674F-8BF2-419B-B054-86129ED70335","63698904-DC05-4341-A9B6-5CC4A219CD04","F6A714BA-4735-41ED-8A2A-45CB153FBDF8","BDF44004-2E50-4F94-B08B-3896F47DF412","C0D4E58E-B8A5-4C6E-B9F1-981B5CB977AE","BF3A8AE0-EDC6-4236-955E-CFBF29D3F56E","68432FDF-37C6-4D5E-8C9D-6763C7D6618B","2E8D9878-B9A6-49D1-83B3-28237EAF2A53"],"_WhiteSpaceHandling":"pre-wrap","_MinTextWidth":120.695652,"_MinTextHeight":null,"isBeingDragged":false,"moved":true,"layout":{"__isSmartRef__":true,"id":267},"undoSelectionRange":[287,287],"isCopyMorphRef":true,"morphRefId":1,"splittedFrom":{"__isSmartRef__":true,"id":7},"_WordBreak":"normal","magnets":[{"__isSmartRef__":true,"id":268},{"__isSmartRef__":true,"id":269},{"__isSmartRef__":true,"id":270},{"__isSmartRef__":true,"id":271},{"__isSmartRef__":true,"id":272},{"__isSmartRef__":true,"id":273},{"__isSmartRef__":true,"id":274},{"__isSmartRef__":true,"id":275}],"previousSelection":[7,9],"owner":{"__isSmartRef__":true,"id":6},"_Rotation":0,"_Scale":1,"priorSelectionRange":[1,1],"__serializedExpressions__":["_Position","textColor","_Padding"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(10.0,47.0)","textColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(5,5,0,0)"},"257":{"fill":null,"_BorderWidth":0,"_ClipMode":"visible","_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(731.0,19.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(4,2,0,0)"},"258":{"partsSpaceName":"PartsBin/Basic","migrationLevel":4,"comment":"a simple text morph","partName":"Text","changes":[{"__isSmartRef__":true,"id":259},{"__isSmartRef__":true,"id":260},{"__isSmartRef__":true,"id":261},{"__isSmartRef__":true,"id":262},{"__isSmartRef__":true,"id":263}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Fri Jun 22 2012 15:04:57 GMT+0200 (CEST)\")"},"259":{"author":"robertkrahn","message":"text click was broken?","id":"9D065E14-9653-4B2A-9A2E-3AD84EBBC3E0","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 16:30:30 GMT+0200 (CEST)\")"},"260":{"author":"undefined","message":"Set the inset as: this.setPadding(Rectangle.inset(4,2)). This gives it a more pleasing appearance with a border, and also makes it easier to select near the bounds.","id":"BD5B0E4C-4830-4863-A013-35BB66D5AD6F","__serializedExpressions__":["date"],"date":"new Date(\"Mon Feb 27 2012 06:20:38 GMT+0100 (CET)\")"},"261":{"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"0F4DE333-A551-4961-B29D-70270977EBEF","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 07:31:43 GMT+0200 (CEST)\")"},"262":{"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"785D95BD-7858-43EB-90E6-A1C085E2F2B9","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 07:32:09 GMT+0200 (CEST)\")"},"263":{"author":"timfelgentreff","message":"better text","id":"B904F9AC-6EA0-4A8A-83C9-AFC85AADC194","__serializedExpressions__":["date"],"date":"new Date(\"Tue May 08 2012 14:18:18 GMT+0200 (CEST)\")"},"264":{"style":{"__isSmartRef__":true,"id":265},"chunkOwner":{"__isSmartRef__":true,"id":256},"_id":"_3072","storedString":"We're going to use Cassowary in these examples","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"265":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"266":{"morph":{"__isSmartRef__":true,"id":256},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"267":{"resizeWidth":true},"268":{"morph":{"__isSmartRef__":true,"id":256},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(580.5,295.0)"},"269":{"morph":{"__isSmartRef__":true,"id":256},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(955.5,295.0)"},"270":{"morph":{"__isSmartRef__":true,"id":256},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(1330.5,295.0)"},"271":{"morph":{"__isSmartRef__":true,"id":256},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(1330.5,304.5)"},"272":{"morph":{"__isSmartRef__":true,"id":256},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(1330.5,314.0)"},"273":{"morph":{"__isSmartRef__":true,"id":256},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(955.5,314.0)"},"274":{"morph":{"__isSmartRef__":true,"id":256},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(580.5,314.0)"},"275":{"morph":{"__isSmartRef__":true,"id":256},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(580.5,304.5)"},"276":{"storedTextString":"module('users.timfelgentreff.babelsberg.constraintinterpreter').load(true);\nbbb.defaultSolver = new ClSimplexSolver();","submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":277},"derivationIds":["01EEB685-9B00-41FB-93C8-42A027DA687F","8D3D04EB-8DC1-4EEA-B5FF-8CF9B4E52AA2","261490E9-2372-4753-A8D2-3C3A221EBFAC","30E4F43E-B36B-40A8-8CF2-305C8163E971","DF7417CF-230B-4C33-ABEA-ABD8466C7CC7"],"id":"91D905FA-62E2-4C28-91D5-117DD1048AED","grabbingEnabled":false,"droppingEnabled":true,"halosEnabled":true,"_FontSize":12,"_ShowGutter":false,"_TextMode":"javascript","_Theme":"chrome","_LineWrapping":false,"_ShowInvisibles":false,"_ShowPrintMargin":false,"_ShowIndents":false,"_ShowActiveLine":false,"_SoftTabs":true,"storedString":"3 + 4","hasRobertsKeys":true,"_StyleClassNames":["Morph","CodeEditor","ace_editor","emacs-mode","ace_nobold","ace-chrome"],"eventHandler":{"__isSmartRef__":true,"id":278},"layout":{"__isSmartRef__":true,"id":279},"accessibleInInactiveWindow":true,"_isFocused":false,"showsHalos":false,"_Rotation":0,"_Scale":1,"name":"Editor7","partsBinMetaInfo":{"__isSmartRef__":true,"id":280},"_AutocompletionEnabled":false,"_ShowWarnings":false,"allowInput":true,"prevScroll":[0,0],"owner":{"__isSmartRef__":true,"id":6},"__serializedExpressions__":["_Position","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.CodeEditor","__SourceModuleName__":"Global.lively.ide.CodeEditor","_Position":"lively.pt(10.0,81.0)","distanceToDragEvent":"lively.pt(510.5,-10.0)"},"277":{"_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Extent","_BorderColor","extent"],"__LivelyClassName__":"lively.morphic.CodeEditorShape","__SourceModuleName__":"Global.lively.ide.CodeEditor","_Extent":"lively.pt(731.0,29.0)","_BorderColor":"Color.rgb(95,94,95)","extent":"lively.pt(731.0,29.0)"},"278":{"morph":{"__isSmartRef__":true,"id":276},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"279":{"resizeWidth":true,"resizeHeight":false},"280":{"partName":"Editor","requiredModules":[],"partsSpaceName":"PartsBin/Basic/","comment":"Text based on ajax/ace","changes":[{"__isSmartRef__":true,"id":281},{"__isSmartRef__":true,"id":282}],"migrationLevel":7,"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Mon Jun 17 2013 12:39:05 GMT+0200 (CEST)\")"},"281":{"author":"robertkrahn","message":"no comment","id":"401386FB-ED59-4B2A-B926-EA3424BFCF7E","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 17 2013 12:39:05 GMT+0200 (CEST)\")"},"282":{"author":"robertkrahn","message":"initial","id":"D671F21E-F331-460E-8C16-5DBE3AC9DC23","__serializedExpressions__":["date"],"date":"new Date(\"Tue Jun 11 2013 10:17:18 GMT+0200 (CEST)\")"},"283":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(751.0,2179.0)","_BorderColor":"Color.rgb(240,240,240)","_Fill":"Color.rgb(255,255,255)","_Padding":"lively.rect(0,0,0,0)"},"284":{"partsSpaceName":"PartsBin/Basic","comment":"A morph hierarchy visualization with bundle view simulation of attribute connections.","migrationLevel":4,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":285},{"__isSmartRef__":true,"id":286},{"__isSmartRef__":true,"id":287},{"__isSmartRef__":true,"id":288},{"__isSmartRef__":true,"id":289},{"__isSmartRef__":true,"id":290},{"__isSmartRef__":true,"id":291},{"__isSmartRef__":true,"id":292},{"__isSmartRef__":true,"id":293},{"__isSmartRef__":true,"id":294},{"__isSmartRef__":true,"id":295}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Wed Jan 30 2013 06:56:06 GMT+0100 (CET)\")"},"285":{"author":"jenslincke","message":"added legend","id":"7ADA3049-56C1-4D32-874B-F664A79DDB20","__serializedExpressions__":["date"],"date":"new Date(\"Fri Jan 18 2013 16:47:05 GMT+0100 (CET)\")"},"286":{"author":"jenslincke","message":"no comment","id":"A4B86A7E-A398-4C29-BEE0-4AA045ABABD2","__serializedExpressions__":["date"],"date":"new Date(\"Fri Jan 18 2013 16:42:31 GMT+0100 (CET)\")"},"287":{"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205","__serializedExpressions__":["date"],"date":"new Date(\"Thu Nov 22 2012 10:35:51 GMT+0100 (CET)\")"},"288":{"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 18 2012 19:35:08 GMT+0200 (CEST)\")"},"289":{"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350","__serializedExpressions__":["date"],"date":"new Date(\"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)\")"},"290":{"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7","__serializedExpressions__":["date"],"date":"new Date(\"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)\")"},"291":{"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B","__serializedExpressions__":["date"],"date":"new Date(\"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)\")"},"292":{"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2","__serializedExpressions__":["date"],"date":"new Date(\"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)\")"},"293":{"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 03 2012 15:51:30 GMT+0200 (CEST)\")"},"294":{"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 03 2012 15:51:36 GMT+0200 (CEST)\")"},"295":{"author":"jenslincke","message":"no comment","id":"AEB2F41B-2C88-4BBA-8875-93CD17CBA1C8","__serializedExpressions__":["date"],"date":"new Date(\"Wed Jan 23 2013 12:57:18 GMT+0100 (CET)\")"},"296":{"morph":{"__isSmartRef__":true,"id":6},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"297":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":298}},"298":{"test01IsMorph":{"__isSmartRef__":true,"id":299}},"299":{"varMapping":{"__isSmartRef__":true,"id":300},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":301},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"300":{"this":{"__isSmartRef__":true,"id":297}},"301":{},"302":{"layouter":{"__isSmartRef__":true,"id":303},"__serializedExpressions__":["extentWithoutPlaceholder"],"extentWithoutPlaceholder":"lively.pt(751.0,2110.0)"},"303":{"defaultBorderSize":10,"defaultSpacing":15,"borderSize":10,"spacing":15,"container":{"__isSmartRef__":true,"id":6},"__LivelyClassName__":"lively.morphic.Layout.JournalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"304":{"morph":{"__isSmartRef__":true,"id":6},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)","cachedGlobalPosition":"lively.pt(570.5,138.0)"},"305":{"morph":{"__isSmartRef__":true,"id":6},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)","cachedGlobalPosition":"lively.pt(955.5,138.0)"},"306":{"morph":{"__isSmartRef__":true,"id":6},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)","cachedGlobalPosition":"lively.pt(1340.5,138.0)"},"307":{"morph":{"__isSmartRef__":true,"id":6},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)","cachedGlobalPosition":"lively.pt(1340.5,1450.5)"},"308":{"morph":{"__isSmartRef__":true,"id":6},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)","cachedGlobalPosition":"lively.pt(1340.5,2763.0)"},"309":{"morph":{"__isSmartRef__":true,"id":6},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)","cachedGlobalPosition":"lively.pt(955.5,2763.0)"},"310":{"morph":{"__isSmartRef__":true,"id":6},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)","cachedGlobalPosition":"lively.pt(570.5,2763.0)"},"311":{"morph":{"__isSmartRef__":true,"id":6},"connectedControlPoints":[],"__serializedExpressions__":["position","cachedGlobalPosition"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)","cachedGlobalPosition":"lively.pt(570.5,1450.5)"},"312":{"traitName":"users.robertkrahn.WorldMenuTrait","options":{"__isSmartRef__":true,"id":313}},"313":{"override":["morphMenuItems"]},"314":{"requiredModules":["users.timfelgentreff.babelsberg.tests"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"isSimplifiedRegistry":true}}</script></body></html>