# 1.0.0-dev.13 7/23/14 7/23/14 #50 fix exclusions feature in game, add debug output (enabled via 'console' query parameter) 7/23/14 #85 instantiate bar charts and balances scales on demand, ensure that their bounds are never empty to prevent 'Martix was suspicious' assertion failure 7/23/14 #84 use different shades of 'black' to differentiate between 'over' and 'activated' for pickers # 1.0.0-dev.12 7/22/14 7/22/14 Intro: right-align Tools combo box with products box 7/22/14 #83 fix IntroductionModel.reset 7/21/14 fix level-completed dialog so that it shows time when timer is enabled # 1.0.0-dev.11 7/21/14 7/21/14 #82 bug fixes to GamePlayNode 7/21/14 #81 BoxNode: add molecules on demand, use visibility to display the correct number of molecules 7/21/14 #82 clean up of GamePlayNode and GameView 7/21/14 #82 factor out GamePlayNode, create it on demand (when first level-selection is made) 7/21/14 #82 optimize start up: initialize 'bar charts' and 'balance scales' representations on demand # 1.0.0-dev.10 7/21/14 7/21/14 #69 BalanceScaleNode: optimization fixes, refactoring and cleanup 7/21/14 #69 BalanceScaleNode: create atoms on demand, use visibility to display the correct number of atoms 7/21/14 #69 rebuild scales only when equation changes, otherwise update counts for each scale 7/21/14 #69 reuse everything except atoms in BalanceScaleNode 7/21/14 #69 handle highlighting correctly in BalanceScaleNode 7/20/14 #70 add AACT to credits 7/18/14 #80 expand touchArea for radio buttons in Introduction screen 7/18/14 #69 clean up BalanceScaleNode constructor 7/18/14 #69 pass properties to BalanceScaleNode for number of atoms on each side of the scale (properties not observed yet) 7/18/14 #69 defer creation of 'Show Why' content until the button is pressed 7/18/14 #79 fix horizontal layout of bars that have arrows at top 7/18/14 #69 update numberOfAtomProperty instead of rebuilding bars when equation coefficients change 7/18/14 add Equation.toString to make inspection easier in debugger 7/18/14 #69 BarNode: fix vertical position whenever bar changes, wire up to numberOfAtomsProperty after VBox.call 7/18/14 #69 eliminate unnecessary computation of atom counts in BarChartsNode, clean up 7/18/14 add horizontal strut to BarNode, to prevent things from shifting horizontally when #atoms is zero vs non-zero 7/18/14 #69 move responsibility for observing Equation.balanced into EqualityOperatorNode 7/18/14 #69 move responsibility for observing equation terms into BoxNode 7/18/14 clean up wiring of coefficients observer 7/18/14 move responsibility for observing Equation.balanced into RightArrowNode 7/18/14 wire BCEFaceNode to Equation.balancedProperty instead of coefficients 7/18/14 #78 Equation: don't call observer until it has been added to all coefficients 7/16/14 #69 make BarNode mutable (but not used yet in BarChartsNode) 7/16/14 game: order equations in pools so that layout special-cases are at the beginning of the pools, to simplify testing 7/16/14 move utility for counting atoms from Equation to AtomCount 7/16/14 delete Equation.createName, specify names in IntroductionModel 7/16/14 inherit(Object,AtomCount) 7/16/14 make Equation.setAtomCounts private static 7/16/14 doc and renaming in BarChartsNode 7/16/14 clean up vertical positioning of BarChartsNode 7/16/14 move happy-face logic into BCEFaceNode 7/16/14 clean up vertical positioning of BalanceScalesNode 7/16/14 clean up BoxNode and BoxesNode 7/16/14 clean up BarNode 7/16/14 clean up FulcrumNode 7/16/14 simplify how equation interactivity is disabled in the game, use pickable:false 7/16/14 #77 balance scale: specify {transformBounds:true} for beam and pile of atoms, so that bounds are accurate for layout 7/15/14 #29 factor out duplicate code in GameFeedbackDialog # 1.0.0-dev.9 7/15/14 7/15/14 #77 add debug code for shown bounds of the 'balance scales' representation 7/14/14 fix in GameModel.startGame: reset currentEquationIndex before using it to choose currentEquation 7/14/14 #29 move Next, Try Again, and Show Answer buttons into game feedback dialog (when appropriate), remove from play area 7/14/14 #76 replace complicated game popup types (5 files) with a single type, GameFeedbackDialog 7/14/14 #69 use visible instead of add/removeChild to transition between level-selection and game-play interfaces 7/14/14 #69 update bar charts and balance scales only when they are visible 7/14/14 remove erroneous font option from Image constructors in ToolsComboBox 7/14/14 misc doc and formatting 7/14/14 remove unnecessary equation field in nodes that observe equationProperty, get value from equationProperty 7/14/14 GameModel: rename some properties 7/14/14 Game: move challengesPerGame property from view to model 7/14/14 remove coupling between EquationChoiceNode and IntroductionModel 7/14/14 rename IntroductionModel.currentEquation to equation 7/14/14 remove coupling between BoxesNode and models 7/14/14 give GameModel.currentEquation a non-null initial value, to prevent the recurring problems that this had been causing 7/14/14 Game: convert Properties that are not observed to simple fields (currentPoints, attempts, balancedRepresentation, isNewBestTime) 7/14/14 fix in GameView, where current equation is undefined until a level is selected (on startup and on reset) 7/14/14 Game: move timerEnabled property to view 7/14/14 Intro: move balancedRepresentation property from model to view 7/14/14 move view-specific properties out of models (soundEnabled, reactantsBoxExpanded, productsBoxExpanded) 7/14/14 change Equation.balancedAndSimplified from a Property to a field, nothing observes it 7/14/14 #27 change minX for reactant terms to left-edge of box, to fix layout problem with C2H5OH + 3O2 -> 2CO2 + 3H2O 7/14/14 remove weird couplings where HorizontalAligner was providing information about vertical dimension 7/14/14 completed HorizontalAligner refactor 7/14/14 first phase of HorizontalAligner refactor 7/14/14 internal cleanup of HorizontalAligner 7/14/14 fill in correct coefficients only when 'playAll' query parameter is set 7/14/14 encapsulate and document query parameters in BCEQueryParameters 7/14/14 #66 remove 'move' feature from game dialog # 1.0.0-dev.8 7/11/14 7/11/14 remove erroneous RSC credit, no funding was provided for this sim according to KP 7/11/14 #27 move initial position of game dialog up, to account for shorter game boxes, so that dialog doesn't cover buttons 7/11/14 #27 reduce height of game boxes from 360 to 340, which still looks comfortable for PCl5 7/11/14 #27 move reverse of C2H5OH equation to 2nd location in level-3 pool # 1.0.0-dev.7 7/11/14 7/11/14 #27 move equations that present layout problems to the beginning of their pools, so that they are displayed first in dev testing 7/11/14 when running in dev mode, fill in the correct coefficients in all pickers 7/11/14 #74 add 'Skip' button to game in dev mode 7/11/14 #71 scale diameter of starts in LevelCompletedNode for levels with lots of stars 7/11/14 #71 support different numbers of equations per game level, to support 'playAll' query parameter 7/11/14 #72 show correct coefficients when running in dev mode 7/11/14 #71 add 'playAll' query parameter, to iterate over all possible challenges in the game 7/10/14 #55 check that both timerID and intervalID are null, so that vegas.NumberPicker doesn't get stuck # 1.0.0-dev.6 7/7/14 7/7/14 #27 add option to specify font size for equations, so that we can have screen-specific sizes 7/7/14 adjust layout of pickers relative to symbols 7/7/14 fix: when pressing 'Continue' button at end of game, remove reward only if it exists 7/7/14 move initial position of game dialog down slightly 7/7/14 #67 more sophisticated drag bounds for game dialog, accounts for dialog dimensions 7/7/14 #67 crude drag bounds for game dialog 7/7/14 #67 clean up how location of game dialog is handled, in preparation for enforcing drag bounds 7/7/14 rename GameModel.gameState to GameModel.states 7/7/14 factor out private constants in game model 7/7/14 rename Molecule.imageConstructor to nodeConstructor, since molecules are scenery Nodes, not images 7/7/14 pull out Molecule into its own js file, since its public interface is used outside of MoleculeFactory 7/7/14 remove width and height from the model, it is relevant only to the view 7/7/14 #68 scale game buttons uniformly to fit the horizontal space between the boxes 7/7/14 fix Tools combo box, so that its pop-up list is always on top 7/7/14 use relative layout for IntroductionView 7/7/14 reorder IntroductionView to correspond to top-to-bottom layout of nodes 7/7/14 clean up implementation of 'Tools' combo box 7/7/14 Introduction: left-align radio buttons with reactants box 7/7/14 Introduction: remove Reset All button from equation-choice control 7/7/14 rename StartGameLevelNode to LevelSelectionNode, fix constructor name 7/7/14 use named constructors for subtypes of GamePopupNode 7/7/14 simplify implementation of GamePopupNode 7/7/14 add subtle shadow to game dialog, so that it looks like a dialog and stands out from the reactants/products boxes 7/7/14 increase x-margin on game dialog # 1.0.0-dev.5 7/7/14 7/7/14 #58 replace scoreboard 'panel' with 'bar' # 1.0.0-dev.4 7/7/14 7/2/14 #60 align bottom of game buttons with bottom of boxes 7/2/14 #37 implemented the game reward 7/2/14 restructure GameFactory as a singleton 7/2/14 fix an assertion bug in BarChartsNode 7/2/14 #57 use inherit(Object,...) instead of prototype assignment 7/2/14 replace 'Author:' with @author annotation in JSdoc 7/2/14 fix an assertion bug in BalanceScalesNode 7/2/14 add/remove blank lines to match typical PhET formatting 7/2/14 #45 replace obtuse method of calling game initializer with a switch statement 7/2/14 #56 add a smiley face to Introduction screen that appears when equation is balanced 7/2/14 #62 relocate 'move' icon to upper-left of game dialog 6/25/14 #29 game dialogs: reduce font size, reduce vertical spacing, reduce size of X and check mark # 1.0.0-dev.3 6/23/14 6/23/14 #27 uniformly reduce size of terms and arrow in equations 6/23/14 #29 address space problems with 'balanced / not balanced' dialog 6/23/14 change color of game buttons to 'yellow' 6/19/14 design decision: default to game timer off in all sims 6/19/14 replace Check-Mark-u2713.png and Heavy-Ballot-X-u2718.png with ShadowText 6/19/14 #41 create icon for 'Introduction' screen programmatically 6/19/14 #41 create icon for 'Game' screen programmatically 6/19/14 EquationTerm: change unused constructor parameter (actualCoefficient) to an option 6/19/14 Equation: replace overriding of getName with options.name 6/19/14 #36 add credits for About dialog 6/19/14 #33 disable the 'Check' button in the game when all coefficients are zero 6/17/14 #42 add missing entries in images/license.txt 6/17/14 #22 remove unused strings from balancing-chemical-equations_en.strings # 1.0.0-dev.2 6/16/14 6/16/14 #17 use default "Start Over" for button label on scoreboard # 1.0.0-dev.1 6/16/14 6/3/14 #13 stroke atoms 3/20/14 port images and strings from Java SVN repository 3/20/14 create basic directory structure and top-level files 3/20/14 created GitHub repository