5/28/13 {resize: false} for control panels that shouldn't resize 5/28/13 workaround for layout of invisible SaturatedIndicator, due to change in semantics of scenery bounds 5/24/13 migrate ComboBox from beers-law-lab to sun 5/24/13 remove ComboBoxItem from ComboBox API, document the "item" contract 5/23/13 rename BLLStrings.fixed to BLLStrings.preset 5/21/13 generalize DebugOriginNode 5/21/13 remove uses of Color.toCSS in Beam and ConcentrationSlider 5/21/13 resize wavelength control panel when slider is shown/hidden 5/21/13 delete questionable tags that were supposedly for mobile Safari cache busting 5/21/13 remove lib/font-awesome, not used 5/20/13 scrub my email address from source files 5/20/13 temporarily restore CSS to remove browser window margins, should be handled by joist#6 5/20/13 ComboBoxNode: add "click to dismiss" feature, by attaching a 'down' listener to the scene 5/20/13 remove lousy solution for dragging the dropper by its button, investigate other approaches 5/20/13 ComboBoxNode: support for listParent (and coordinate-frame transforms this requires) so that combo box list is always on top 5/20/13 remove Color.toCSS calls from places where a Color is supported 5/20/13 remove Font.toCSS calls from places where a Font is supported 5/15/13 encapsulate fonts in BLLFont, use scenery.Font, provide a fallback family and limited options (size and weight) 5/15/13 switch from beers-law-lab.Color to scenery.Color (major change) 5/15/13 JSDoc parameters and return types 5/15/13 use "_" prefix for methods that are not intended to be part of public interface 5/15/13 review TODO items in code, delete some that have been done # 0.0.0-2 5/14/13 5/14/13 event batching added to joist.Sim, resolves lag time when dragging text 5/14/13 make AT detector radio buttons smaller until we get a bigger graphic 5/14/13 remove "Node" suffix from type names that are UI components or clearly have no analogous model element 5/14/13 fixed scenery#38 with JO (combo box popup works every other time) 5/14/13 fix: orientation of shaker node was being set in degrees, should use radians 5/14/13 fix: shaker particle go up, incorrect shaker orientation set incorrect initial velocity 5/14/13 replace ControlPanelNode with sun.PanelNode 5/14/13 move ruler to front, so it won't get lost behind things 5/14/13 move Solute control panel to the right a bit, so it doesn't interfere with shaker 5/14/13 move ruler down and left a tad 5/14/13 make wavelength slider thumbs bigger so it's easier to grab on tablets 5/14/13 make ruler taller so that it's more tablet-friendly 5/14/13 increase default size of radio buttons to work better on tablets 5/14/13 add a "hit area" to radio buttons, so we don't have a dead spot between button and node 5/14/13 make evaporation and concentration slider thumbs bigger so that they are easier to grab on tablets 5/14/13 scenery.DOMLayer fixed so that HTML text doesn't wrap 5/14/13 scenery.Text boundsMethod was changed to "fastCanvas", resulting in fewer layers, and able to run nicely on iPad # 0.0.0-1 5/13/13 5/13/13 increase performance of wavelength spectrum image by drawing it directly to a canvas 5/10/13 replace build.config with package.json 5/10/13 move Gruntfile.js and build.sh to chipper 5/8/13 make Gruntfile independent of sim project by reading project name from package.json 5/8/13 build.sh 5/8/13 set up Grunt.js and package.json 5/8/13 use a single listener instance for all items in combo box list 5/8/13 replace "new Array()" with "[]" to appease Crockford disciples 5/8/13 fix various jshint warnings 5/7/13 == to === throughout 5/7/13 fix equilateral triangles in slider buttons 5/7/13 add up/down glyph to combo box button 5/7/13 add fill highlighting to ComboBoxNode 5/7/13 delete list alignment feature from ComboBoxNode, "left" is sufficient 5/7/13 format all BLL code again with correct PhetStyle.xml (after restarting IDEA) 5/7/13 install latest PhetStyle.xml and format all BLL code 5/6/13 align baselines of labels and values 5/6/13 add optional label to left of combo box 5/6/13 get rid of SolutionChoiceNode, fold into SolutionControlNode 5/6/13 delete vestigial CSS related to bootstrap UI components 5/6/13 switch from RequireJS.images to jQuery.imagesLoaded for loading images 5/6/13 prevent dropper from being dragged by on/off button 5/6/13 add support for list alignment to combo box 5/6/13 add ComboBoxItem combo box, eliminate "selectedItem" delegate property, push boilerplate code into ComboBoxNode 5/6/13 add color chips to Solute and Solution combo boxes 5/6/13 fix default assignment of BeersLawSolution.saturatedColor 5/6/13 handle reset for Solution combo box 5/6/13 handle reset for Solute combo box 5/6/13 move wavelength value display from slider to control panel 5/6/13 add increment/decrement buttons to concentration slider, rewire when solution changes 5/6/13 use left/right arrows instead of +/- buttons for wavelength slider 5/6/13 move concentration value between label and slider 5/6/13 concentration slider: move ticks above track 5/6/13 evaporation slider: move ticks above track, make knob point up 5/6/13 change "fixed" to "preset" in wavelength control panel 5/6/13 fix shaker rotation angle 5/1/13 ******* FEATURE COMPLETE ******** 5/1/13 delete bootstrap from beers-law-lab, no longer used 5/1/13 replace bootstrap with ComboBoxNode in implementation of solute combo box 5/1/13 display correct format of solution names in combo box 5/1/13 add remaining solution types to "Beer's Law" model 5/1/13 wire up combo box for selecting solution 5/1/13 primitive combo box 5/1/13 delete assertion-disabling code from config.js 5/1/13 adjust ruler drag bounds 5/1/13 make ticks and label larger on evaporation slider 5/1/13 make ticks and thumb larger on concentration slider 5/1/13 add highlighting to evaporation slider thumb 5/1/13 made cuvette drag handle 50% larger 5/1/13 vertically flip AT detector body, so that value display is at the top 5/1/13 change connection points and control points for AT detector, so that body can be in upper-right of play area 5/1/13 move things around in "Beer's Law" tab to correspond to layout in design doc 4/30/13 fix initial location of concentration slider thumb 4/30/13 update numeric value in concentration control panel, rewire observer when solution changes 4/30/13 completed port of concentration slider 4/30/13 add track with linear gradient to concentration slider 4/30/13 stubs for solution and concentration controls 4/30/13 use _.isUndefined 4/30/13 slightly better +/- buttons for sliders 4/30/13 use double quotes consistently 4/30/13 fix layout of dropper label, increase font size 4/30/13 add query-parameters.js and check-assertions.js to html file 4/30/13 migrate RulerNode to scenery-phet 4/30/13 complete port of Java RulerNode 4/30/13 replace DOMText with Text and HTMLText, as appropriate 4/30/13 placeholder for ruler node 4/30/13 use scenery's coordinate-frame transform methods in input listeners 4/30/13 handle click offset for thumb in wavelength slider and evaporation slider 4/30/13 add option to clamp value to range for LinearFunction 4/29/13 add + and - buttons to wavelength slider 4/29/13 fully-functional wavelength slider 4/29/13 first pass at wavelength slider 4/29/13 rename RadioButtonNode to RadioButton, add options and doc 4/29/13 use scenery-phet.ResetAllButton 4/29/13 replace "Remove Solute" button with sun.Button 4/29/13 tweak layout of text in concentration meter and AT detector 4/29/13 replace bootstrap radio buttons with RadioButtonNode ("solid" and "solution") 4/29/13 generalize RadioButtonNode to use a Node instead of text string 4/25/13 attempt to resize wavelength control panel as slider is show/hidden 4/25/13 first pass at wavelength control panel, with stub for wavelength slider 4/25/13 fix wires that connect probe to meters (this was apparently not generalized in the Java sim for good reason) 4/25/13 add radio buttons to AT detector, for selecting mode 4/25/13 implemented basic radio button 4/25/13 display value in AT detector 4/25/13 pickable=false for solution in cuvette, because AT detector probe goes behind it 4/25/13 add "Saturated" indicator to Concentration tab 4/25/13 fix transparency of solution in cuvette 4/25/13 fix positioning of AT detector probe 4/25/13 use DOMText node in DropperNode 4/25/13 use identify mvt in Concentration tab 4/25/13 adjust how faucet pipe length is computed, in model and view 4/25/13 correct some mvt errors in Concentration tab, by testing with non-identify mvt 4/25/13 switch to ModelViewTransform2 4/25/13 create temporary DOMText node, for use until Text node supports HTML 4/24/13 generalize WireNode, for use in both concentration meter and AT detector 4/24/13 partial port of ATDetectorNode 4/24/13 handle 'up' in FillHighlighter by attaching a listener to 'down' pointer (yuck) 4/23/13 reposition "Reset All" button 4/23/13 default to "Beer's Law" tab for development 4/23/13 fix beam gradient 4/23/13 fix positioning of light 4/23/13 first pass at port of BeamNode, some bugs 4/23/13 add double-headed arrow drag handle to cuvette 4/23/13 add cuvette drag handler 4/23/13 port CuvetteNode, no resize behavior yet 4/23/13 add toggle button to light 4/23/13 port LightNode 4/23/13 add missing license.txt entries for images 4/23/13 move contrib/ to lib/ 4/23/13 delete tpl.js, this sim no longer uses templates 4/23/13 delete stuff associated with PerformanceMonitor 4/23/13 validate various function args using assert 4/23/13 load strings once, in BLLStrings 4/23/13 compute fill color for Beam using scenery.LinearGradient 4/23/13 use scenery/Rectangle instead of Kite/Shape.rect for particles, to improve performance 4/23/13 add has.js to contrib/ and html, disable assertions in config.js 4/22/13 ported parts of VisibleColor needed by this sim 4/22/13 changed "module" to "tab" throughout, to use joist terminology 4/22/13 Sim framework moved to joist 4/19/13 remove "scene" div, it is automatically created by Sim.js with proper CSS 4/19/13 add temp icons for modules 4/19/13 rework module and view in order to use scenery-phet/Sim framework 4/17/13 partial port of beam model (need to port VisibleColor and figure out gradient paint) 4/17/13 port of absorbance/transmittance detector 4/17/13 port of absorbance model 4/17/13 ported most of model for Beer's Law module, loads with require.js, instantiates without errors, but untested 4/17/13 added modules (in the PhET sim sense), created skeleton for "Beer's Law" module 4/16/13 call invalidateDOM when changing value in concentration meter, so that DOM node bounds are correct 4/16/13 use a non-empty