# 1.0.0-dev.7 4/7/14 4/7/14 #97 remove all scenery.HTMLText from 'Solutions' control panel, it was causing out-of-memory problems 4/7/14 #81 new artwork for light bulb, new implementation of LightBulbNode required 4/7/14 #98 Conductivity tester's brightness property should be zero when the circuit is open, delete redundant isClosed property 4/7/14 create subtypes for each screen 4/7/14 #96 create the 'Custom Solution' screen icon programmatically, so that molecule colors are correct 4/7/14 #5 improve quality of molecule images in magnifier; store at 2x their needed size, scale down when drawing to canvas # 1.0.0-dev.6 4/6/14 4/6/14 copy model.txt and implementation-notes.txt from Java version, modify as needed 4/6/14 #5 position molecules at the centers of their images, reduce drawing region by half the lineWidth used to stroke the lens 4/6/14 change computation of magnifier radius 4/6/14 #5 scale and crop solvent.png, reduce its size from 730K to 128K 4/6/14 #5 add debug flag to show origin of magnifier 4/6/14 #5 delete common/view/magnifier/*, replaced with direct-to-Canvas implementation 4/6/14 #5 add debug flag to turn off clipping, to see how molecules are being positioned inside lens 4/6/14 #5 generate the set of molecule images needed by iterating over all solutions and their molecules 4/6/14 #5 first pass at drawing large numbers of molecules directly to canvas (no clipping) 4/6/14 #5 wire up MagnifierNode to the solution that is currently selected 4/6/14 #5 add clipping for solvent and molecules to MagnifierNode 4/6/14 draw beaker icon programmatically, delete image file 4/6/14 #94 restore concentration observer that I accidentally removed from CustomSolutionModel 4/6/15 #95 draw reaction equation arrows programmatically, so they don't look fuzzy/jagged/shifted 4/4/14 #94 back out change that keeps concentration of all solutions synchronized, since this may have performance implications 4/4/14 #94 keep strength of weak solutions synchronized at all times 4/4/14 #94 make strength slider operate on weak solutions only; never change strength of strong solutions 4/4/14 #94 delete unused isValidStrength property throughout; validate all attempts to change strength 4/4/14 #94 fix implementation of isValidStrength for strong acid and strong base 4/4/14 adjust pH meter location so that it doesn't go behind graph 4/4/14 clean up ReactionEquationFactory # 1.0.0-dev.5 4/3/14 4/3/14 #92 reset pH paper when strength or concentration are changed in 'Custom Solution' screen 4/3/14 #86 compute color of pH paper by interpolating between colors used in pH color key 4/3/14 rename ABSControlPanel to AcidBaseSolutionsControlPanel 4/3/14 #51 factor out common stuff for main control panel into ABSControlPanel 4/3/14 #51 move 'Reset All' button to right of 'Tools' panel 4/3/14 #74 expand touch areas for all radio buttons and check boxes, increase vertical spacing in 'Solutions' and 'Views' panels 4/3/14 fix graph on 'Custom' screen so that it updates, remove vestigial viewMode and toolMode args from ConcentrationGraph constructor calls 4/3/14 #88 tweak conductivity probe locations to account for smaller beaker size 4/3/14 #88 make beaker 10% smaller, reposition it 4/3/14 #88 make reaction equations 50% larger 4/3/14 #83 change OH color to rgb(90,90,255), so that text is more visible on graph bars 4/3/14 #82 reset view properties 4/3/14 #74 expand touch area of conductivity probes 4/3/14 #91 constrain probes so that they can only be dragged part-way into the solution 4/3/14 #90 increase size of conductivity probes 4/3/14 #74 expand touch area of pH paper 4/3/14 #89 make pH paper 2 pixels wider, increase font size of pH numbers on color key 4/3/14 #91 don't disable 'Views' control panel when conductivity tester is selected 4/3/14 #84 move pH numbers above color chips in color key, title below chips 4/3/14 #85 use a lighter gray for pH meter background, rgb(225,225,225) 4/3/14 #77 change delta for concentration arrow buttons to 0.001 4/3/14 make solvent less opaque so that molecules stand out more against it # 1.0.0-dev.4 4/2/14 4/1/14 #81 programmatically create the pH meter icon for the 'Tools' control panel 4/1/14 move creation of graph icon to ConcentrationGraphNode 4/1/14 move colors to ABSColor 4/1/14 #81 programmatically create the pH paper icon for the 'Tools' control panel 4/1/14 #79 revert change to PHPaper.indicatorHeight, making it a derived property is messy and introduces a reset problem 4/1/14 #79 make PHPaper.indicatorHeight a derived property 4/1/14 improve behavior of probe wires by adjusting first control point, fix sign 4/1/14 #5, #80 prevent updates when invisible in new implementation of MagnifierNode 4/1/14 #82 move view-specific properties out of the model (solventVisible, viewMode, toolMode, visibility) 3/31/14 #80 update the graph only when it's visible 3/31/14 cleanup of ConcentrationGraphBarNode 3/31/14 optimize graph background by reusing 1 tick mark and 1 dashed line, instead of 11 of each 3/31/14 #60 replace molecule node types with factory 3/31/14 #5, #60 move reuse of molecule nodes into MagnifierMoleculesLayer; delete duplicated caching from molecule subtypes 3/31/14 #5, #60, #62, move Atom to AtomNode, remove gradient caching 3/31/14 #62 move molecule nodes to common/view/molecules/ 3/31/14 #62 move magnifier-related nodes to common/view/magnifer/ 3/31/14 #62 move graph-related nodes to common/view/graph/, rename to 'ConcentrationGraph' throughout 3/31/14 #62 move MagnifierModel to common/model/Magnifier 3/31/14 #62 move BarChartModel to common/model/ConcentrationGraph # 1.0.0-dev.3 3/31/14 3/31/14 #51 make it possible to adjust vertical spacing for panel titles 3/31/14 #51 move titles outside of panels, as shown in mockups 3/31/14 move reaction equations to common/view/ 3/31/14 change to factory pattern for reaction equations 3/31/14 'formula' -> 'reaction equation' throughout, to use proper terminology for this domain 3/31/14 simplify internal doc for formula nodes 3/31/14 #62 move formula nodes to common/view/formulas/ 3/31/14 #50 add italics to A,B,M symbols in reaction equations 3/31/14 #80 update conductivity tester when it becomes visible by overriding setVisible 3/31/14 #80 remove model dependencies from LightRaysNode 3/28/14 #67 hide origin debugging for conductivity tester 3/27/14 fix 'Reset All' for AB-switches in 'Solution' control panel 3/27/14 #51 replace weak/strong radio buttons with AB-switch 3/27/14 move formula-related constants to Formula, since they are used only there 3/27/14 move pH paper size into model 3/27/14 replace min/max constants with Range for pH 3/27/14 #79 move brightness property from main model to ConductivityTester, where it's derived from pH 3/27/14 #67 add 'Property' suffix on probe location properties 3/27/14 #79 use DerivedProperty in PHPaper, PHMeter, ConductivityTester 3/27/14 #79 use DerivedProperty in BarChartModel and MagnifierModel 3/27/14 delete FormulaModel, it adds nothing 3/27/14 #63 move nodes related to conductivity to common/view/conductivity/ 3/27/14 #78 fix implementation of light bulb 'glow' 3/27/14 tweak initial location of conductivity tester 3/27/14 #67 set wire control points based on comparison of startX and endX 3/27/14 #63 move ConductivityTestModel to common/model/ConductivityTester 3/27/14 #67 clean up code related to wires in the conductivity tester 3/27/14 #67 connect negative wire to left edge of bulb base 3/27/14 #67 attach wires correctly in conductivity tester, remove hard-coded constants 3/27/14 #67 add probe size to model, so that wires can be attached properly 3/27/14 #67 fix origin of conductivity bulb and battery (wires messed up) 3/27/14 #67 fix origin of conductivity probes in model and view (bulb and battery in wrong location, wires messed up) 3/27/14 move constrained dragging of pH meter to view 3/27/14 allow pH paper to be dragged anywhere inside beaker, handle drag constraint in view 3/27/14 #67 add red dot at origin of probes, to show origin problem 3/27/14 #67 add red dot at origin of conductivity tester, to show origin problem 3/27/14 put a very light gray stroke on concentration value background, to make the edges more crips 3/27/14 #51 replace radio buttons with AB-switch for acid/base choice 3/27/14 #71 absorb SolutionMenuModel into 'Solution' control panel 3/27/14 #71 remove isAcid and isWeak properties from 'Custom Solution' model, move them to model for 'Solution' control panel 3/27/14 #51 absorb ConcentrationControl into 'Solution' control panel to get desired alignment of titles 3/27/14 #51 increase length of concentration slider track 3/27/14 #51 move 'mol/L' label next to 'Initial Concentration' 3/27/14 #51 add white background behind concentration value 3/27/14 #51 add tick labels to concentration slider 3/27/14 #51 factor ConcentrationSlider out of ConcentrationControl 3/27/14 #51 center weak/strong radio buttons above strength slider 3/27/14 #76 compute length of separators in 'Solution' control panel 3/27/14 #75 remove scaling of concentration control panel 3/27/14 factor out duplicate code form formatting concentration value 3/27/14 rename ConcentrationSlider to ConcentrationControl, since it includes more than a slider 3/27/14 #73 disable concentration arrow buttons, make it possible to get to min value with slider thumb 3/27/14 pass range to strength slider constructor 3/27/14 #72 fix arrows for concentration slider so that they increment by 0.1 3/27/14 #71 make model for concentration slider internal to the control 3/27/14 #71 make model for strength slider internal to the control 3/27/14 add missing doc and missing dependency in StrengthSliderModel 3/27/14 remove model dependencies in StrengthSlider, pass in only the properties needed 3/27/14 #51 put ticks above strength slider 3/27/14 update all copyright headers to 2014 3/26/14 #3 disable 'Views' control panel when conductivity tester is selected 3/25/14 rename various panels that aren't sun.Panel, call this controls 3/25/14 #51 make subpanels visually separate 3/25/14 #51 make controls panels fit on screen 3/25/14 #51 use 'white' screen backgrounds 3/25/14 #51 set proper fill color for control panels 3/25/14 #51 switch to sun.InOutRadioButton for 'Tools' panel 3/25/14 #51 "Tests" to "Tools" throughout 3/25/14 #70 use singular names for enums 3/25/14 #62 rename ABSColors to MoleculeColors, since there's a dependency here in AqueousSolution.molecules 3/25/14 remove odd color computation for H2O 3/25/14 #62 move MoleculeColors to common/ABSColors 3/25/14 #62 move Constants to common/ABSConstants 3/25/14 #62 move enums to common/enum 3/25/14 format all code 3/25/14 clean up PHMeter and PHPaper 3/25/14 #66 decouple PHColorKeyNode from PHPaper model 3/25/14 #62 move PHPaperModel to common/model/PHPaper 3/25/14 #68 use single quotes around 'use strict' 3/25/14 #66 decouple pH paper from color key in model and view, they are not related 3/25/14 #66 fix pH paper model and view so that location is at bottom-center of paper 3/25/14 #69 fix bad drag handler for pH paper 3/25/14 #62 move PHMeterModel to common/model/PHMeter 3/25/14 #65 internationalize the pH meter's display 3/25/14 #64 fix pH meter model and view so that location is at the probe's tip 3/24/14 #5 skeleton of MagnifierNode, which will draw molecules directly to Canvas 3/24/14 #3 gray out 'Solvent' check box test and icon when disabled 3/24/14 replace Beaker.width and height with Beaker.size 3/24/14 #62 move BeakerModel to common/model/Beaker 3/24/14 #63 make TestModesMenuModel and ViewModesMenuModel obsolete, delete them 3/24/14 #63 subtypes for screen-specific control panels 3/24/14 #63 make ControlPanel, ControlPanelTypes, SolutionsMenuModel obsolete, delete them (ugly control panels for now) 3/24/14 #62 move PHMeterTest to common/view/PHMeterNode 3/24/14 #62 move PHPaperTest to common/view/PHPaperNode 3/24/14 #63 convert Workspace to common/view/AcidBaseSolutionsView, base type for all ScreenViews 3/24/14 #62 move Beaker to common/view/BeakerNode 3/24/14 #62 move control panel to proper subdirs, rename with 'Panel' suffix 3/24/14 #61 bad image imports in main.js 3/24/14 #63 create ScreenView subtypes for each screen 3/24/14 #62 create 'introduction' and 'customsolution' subdirs, move screen-specific model subtypes there 3/24/14 #63 rename screen-specific model types 3/24/14 #62 create 'common' subdir, move some model types 3/24/14 #62 remove unnecessary 'Abstract' from some long type names 3/24/14 #51 simplify SolutionsControl in preparation for UI changes 3/24/15 #56 changes to credits 3/24/14 #51 simplify ViewsControl in preparation for UI changes 3/24/14 #51 simplify TestsControl in preparation for UI changes 3/24/14 #51 delete strings for 'Test' controls, these will be icons only 3/24/14 #51 change strings in control panels 3/21/14 #60 partial cleanup of molecule node constructors 3/21/14 delete unnecessary intermediate associative array in bar graph 3/21/14 model: collapse this.SOLUTIONS and this.components to this.solutions (2 arrays are unnecessary) 3/21/14 move initialization of solutionType and molecules fields to AqueousSolutionAbstract, pass values in constructor 3/21/14 change field names of 'relations' data structure that describes a solution's molecules 3/21/14 #57 rename 'solution' property to 'solutionType' 3/21/14 #58 property naming convention is not followed 3/21/14 move pH paper colors into PHPaperTest, document the order dependency in the color array 3/21/14 rename ControlPanels enum to ControlPanelTypes 3/21/14 #59 rename solventProperty to solventVisibleProperty 3/21/14 rename Solutions enum to SolutionTypes 3/21/14 #53 fix import of Constants that was incorrectly named (CONSTANTS) and not located with other imports 3/21/14 #56 add credits 3/21/14 change 'Acid Base Solutions' to 'Acid-Base Solutions' throughout comments 3/21/14 #53 fix malformed imports # 1.0.0-dev.2 3/21/14 (MLL baseline) 3/21/14 MLL fixes and enhancements completed, handed off to PhET 3/6/14 check in images and assets related to upcoming UI changes # 1.0.0-dev.1 2/7/14 12/16/13 Initial creation of the repository on GitHub.