# 0.00.33 (45314) Oct 21, 2010 10/21/10 dev version for discussion with Noah P. 10/21/10 simplified field detector for Introduction tab (hide vector check boxes, show only Plate vector) 10/21/10 make "Show Values" its own PSwing so that it will always be at lower-left of field detector 10/21/10 try a simplified naming scheme for string keys, hopefully easier for translators 10/21/10 i18n of vector labels in E-field detector 10/21/10 snapshot of design doc in SVN, for working offline 10/20/10 add vectors to E-field detector 10/19/10 derive negative orientation of current indicator 10/19/10 remove polarity from current indicator, it was misused here 10/19/10 add polarity property to battery 10/18/10 add E-field detector to model, using Property notification 10/18/10 add stubs to BatteryCapacitorCircuit for determining E-field at a Point3D 10/13/10 properly initialize "Show Values" in field detector 10/12/10 add vector values to field detector, wire up to controls 10/12/10 add wire that connects field detector probe to meter 10/12/10 put components of field detector directly on the canvas, so that their locations can be adjusted independently as the canvas size changes 10/12/10 provide PNode interface to meters control panel, specific type of meter doesn't need to be known 10/12/10 enable voltmeter check box for development 10/12/10 decided not to update bar meters only when they are visible, not worth it (insignificant performance gain, significant code complication) 10/12/10 will not be using phetcommon's ModelViewTransform2D because it doesn't handle 3D needed for this sim 10/12/10 revised ModelViewTransform to handle deltas in 2D-view and 3D-model coordinate frames 10/12/10 removed unused code from ModelViewTransform 10/12/10 migrate GridPanel to phetcommon, deprecate EasyGridBagLayout 10/12/10 add support for relative anchors to GridPanel, doc where to add Java 1.6 baseline anchors 10/12/10 migrate FadeOutActivity to piccolo-phet 10/12/10 decided to keep unused IPlateChargeGridSizeStrategies for historical purposes, noted in javadoc 10/12/10 decided not to factor out duplicate code in drag handles, doing so would obfuscate 10/12/10 tweak drag handle nodes to use less space 10/12/10 clean up drag handlers, doc and clearer variable names 10/11/10 refine how IntroductionModule subclasses DieletricModule 10/11/10 specify explicit default values for ranges in CLConstants 10/7/10 enable Electric Field Detector check box (again) for feature development # 0.00.32 (44871) Oct 7, 2010 10/7/10 development version to share with KSU 10/7/10 instead of using dielectric=air in Introduction tab, use custom dielectric with a huge offset 10/7/10 disable Electric Field Detector check box (again) 10/7/10 rotate field probe 10/7/10 enable Electric Field Detector check box (again) for feature development # 0.00.31 (44860) Oct 7, 2010 10/7/10 development version to share with KSU 10/7/10 fix: custom dielectric constant not reset by Reset All 10/7/10 gray out Voltmeter and Electric Field Detector check boxes, since they are not yet implemented 10/7/10 default custom dielectric constant to 5 10/7/10 default dielectric charge view to "all" 10/7/10 default Plate Charge view to "on", as specified in the design doc 10/7/10 default dielectric offset to just outside the capacitor, as specified in the design doc 10/7/10 fix: reverse polarity of charges on the dielectric 10/7/10 create body of field detector 10/7/10 adjust origin of field detector probe to be at center of crosshairs 10/7/10 enable Electric Field Detector check box for feature development # 0.00.30 (44840) Oct 7, 2010 10/7/10 development version to share with KSU # 0.00.29 (44839) Oct 7, 2010 10/7/10 absorb color strategy into BoxNode, delete IBoxColorStrategy 10/7/10 delete unused box coloring strategies, since we seem to have settled on this 10/7/10 order dielectrics in combo box by increasing dielectric constant 10/7/10 increase max spacing between positive and negative charges in dielectric charge pairs 10/7/10 increase spacing between dielectric charge pairs so that we have 3 rows when plate separation is 10mm 10/7/10 fix BatteryCapacitorCircuit.getMaxDielectricEField, it wasn't the max, and this was affecting dielectric "all charges" view 10/7/10 don't change the transparency of transparent dielectrics when field view (etc) is selected 10/7/10 change dielectric colors, per Noah P 10/7/10 change box color strategy to preserve alpha channel 10/7/10 replace polystyrene with glass # 0.00.28 (44772) Oct 6, 2010 10/6/10 document model symbols used in design doc 10/6/10 change dielectric "Show All Charges" to be proportional to E_dielectric 10/6/10 clean up encapsulation of pitch and yaw properties for 3D mvt 10/6/10 move dielectric colors to CLPaints 10/6/10 move dielectric constants to CLConstants 10/6/10 use bold font for Plate Charge control title, to be consistent with bar meters 10/6/10 cleanup and doc grid-based views (plate charge, field lines, dielectric charge) # 0.00.27 (44751) Oct 6, 2010 10/6/10 change E-field display algorithm so that lines smoothly appear/disappear at edges of plate 10/6/10 default to Dieletric tab for dev version 10/6/10 gray out Voltmeter and Electric Field Detector check boxes until they are implemented 10/5/10 add localized strings used by E-Field Detector 10/5/10 remove some dependencies on DielectricModel 10/5/10 specify default locations for meters in CLConstants # 0.00.26 (44729) Oct 5, 2010 10/5/10 remove stubs for Save/Load feature, not necessary per Noah P 10/5/10 start up with Introduction tab selected 10/5/10 fix: make View controls reset properly 10/5/10 implemented Introduction tab (subclass of Dielectric tab) 10/5/10 implemented Reset All feature 10/5/10 fix: knob on voltage slider and Plate Charge slider jumps to center when you mouseDown on it 10/5/10 decided not to add curvature to field lines on perimeter of plates 10/5/10 make battery voltage slider and Plate Charge slider snap to zero 10/5/10 when E_effective is zero, use zero spacing between +- pairs on dielectric # 0.00.25 (44692) Oct 4, 2010 10/4/10 first version of dielectric "all charges" view 10/4/10 add convenience method for getting dielectric width, use in views # 0.00.24 (44686) Oct 4, 2010 10/4/10 use the same min/max for representing top plate charge and dielectric excess charge 10/4/10 make number of excess charges on dielectric proportional to sqrt(Q_excess_dielectric) 10/4/10 move plate charge grid strategy into its own top-level class file # 0.00.23 (44668) Oct 4, 2010 10/4/10 increase max field lines to 900, per Noah P 10/4/10 first working version of excess dielectric charge view 10/4/10 use better plate charge layout strategy, developed by Sam Reid 10/4/10 factor out nodes for positive and negative charges 10/4/10 first pass at excess dielectric charge, not working yet # 0.00.22 (44657) Oct 4, 2010 10/4/10 make spacing between e-field lines change continuously as E_effective changes 10/4/10 only update views (charges, field) when visible # 0.00.21 (44648) Oct 4, 2010 10/4/10 demo new field density algorithm 10/4/10 smaller arrows on field lines 10/4/10 compute field density based on minimum plate area, not based on plate side length 10/4/10 simplify PlateChargeNode.getNumberOfCharges 10/4/10 remove Multiple Capacitors tab, will be included in a future (post 1.0?) version 10/4/10 check in new (larger) e-field probe image created by Noah P 10/1/10 get rid of "non-zero minimum" for E-field lines, it's not doing anything but complicating computations # 0.00.20 (44619) Oct 1, 2010 10/1/10 fix: density (not number) of field lines is proportional to E_effective 10/1/10 make physical parts of the capacitor transparent when E-field, Voltmeter or Field Detector is selected 10/1/10 add placeholder node for E-Field Detector, wire up visibility to control panel 10/1/10 check in field detector probe image created by Noah P 10/1/10 change "Field Detector" to "Electric Field Detector" # 0.00.19 (44601) Oct 1, 2010 10/1/10 demonstrate E-field lines 10/1/10 make capacitor plates and dielectric transparent when E-field is selected 10/1/10 add E-field view 10/1/10 move responsibility for dielectric color into DielectricNode # 0.00.18 (44586) Sep 30, 2010 9/30/10 demo fix to current indicator, and improved plate charge layout 9/30/10 add margin along z axis for plate charges, hack to keep them on the plate with 3D perspective 9/30/10 keep plate charges from falling off the edges of the plate 9/30/10 ensure that at least one charge is shown if number of plate charges is non-zero 9/30/10 TestPlateChargeLayout, test harness for plate charge layout 9/30/10 fix: current indicator should point counterclockwise for +dV, clockwise for -dV 9/30/10 tweak tick marks on Plate Charge slider, make thumb line up precisely with zero 9/29/10 remove debug value node from PlateChargeControlNode, this info is shown in ModelValuesPanel 9/29/10 when "Remove Wires" is pressed, set Plate Charge control to the plate charge with the battery connected 9/29/10 change range of Plate Charge slider to go from "lots (+)" to "lots (-)" # 0.00.17 (44526) Sep 29, 2010 9/29/10 demo first pass at grid layout for plate charges 9/29/10 layout charges in a grid using algorithm from CCK's CapacitorNode (lines 270-230) 9/29/10 handle partially-inserted dielectric for Plate Charges view 9/29/10 make battery have no affect when disconnected 9/29/10 fixed another plate charge polarity issue # 0.00.16 (44502) Sep 29, 2010 9/29/10 another dev version to demo plate charge, fixed polarity issues 9/28/10 create infrastructure for dielectric charge views, wire up to control panel 9/28/10 pull PlateChargeNode out of PlateNode, bad idea to merge them 9/28/10 merge PlateChargeNode into PlateNode # 0.00.15 (44492) Sep 28, 2010 9/28/10 dev version to demonstrate problems with plate charge representation 9/28/10 keep charges fully inside the plate by taking the charge size into account 9/28/10 reduce size of charges to match Noah's mock up 9/28/10 fixed plate area drag handle 9/28/10 fixed plate separation drag handle 9/28/10 a rough version of showing plate charges, to demonstrate that this design does not scale well 9/28/10 converted everything to use 3D MVT to create perspective (big change, broke 2 drag handles) [44484] 9/28/10 first attempt at adding 3D model to 2D view transform to MVT (untested) 9/28/10 straighten out some things in BoxNode related to 3D perspective 9/28/10 reset the battery slider on Reset All 9/28/10 ensure that all meters remain in the play area when the main window is resized 9/28/10 hook up "Plate Charges" check box # 0.00.14 (44465) Sep 28, 2010 9/28/10 display the number of plate charges, to check that this representation is going to work # 0.00.13 (44455) Sep 28, 2010 9/28/10 change dielectric constant range to 1-5, per Noah P. 9/28/10 change battery voltage range to +-1.5V, per Noah P. 9/27/10 rename ScaleButtonNode to ZoomButtonNode, since my people are calling it a "zoom button" 9/27/10 create nodes for positive and negative charges, use in other places that require + and - 9/27/10 create scale button programmatically, image files looked lousy because these buttons are so small # 0.00.12 (44365) Sep 24, 2010 9/24/10 replace PText("-") with PPath(Rectangle2D) on current indicator, so that "-" can be precisely centered # 0.00.11 (44358) Sep 23, 2010 9/23/10 make current indicator fade out faster (500 ms) 9/23/10 change current indicator to use a constant transparency (0.75f) rather than proportional to dV/dt # 0.00.10 (44355) Sep 23, 2010 9/23/10 modulate transparency of current indicator proportional to dV/dt, fade out when dV/dt=0 9/23/10 hide clock control panel, this sim contains no animations that should be pausable 9/23/10 make sim clock accessible to model 9/23/10 fix Add/Remove Wires button layout so that it doesn't overlap current indicator 9/23/10 create current indicator node, place on canvas, not wired up 9/23/10 increase value font size for bar meters 9/23/10 allow separate fonts for label and value on capacitor drag handles 9/23/10 use bold font for bar meter titles 9/23/10 reduce number of decimal places to 2 for all bar meters 9/23/10 use the same exponent for bar meter value and label, with max label format 10^N # 0.00.09 (44322) Sep 22, 2010 9/22/10 use the same exponent for bar meter value and label, with max label format 10x10^N [44320] # 0.00.08 (44318) Sep 22, 2010 9/22/10 use the same exponent for bar meter value and label, with max label format 1x10^N [44316] # 0.00.07 (44315) Sep 22, 2010 9/22/10 remove tool tip and flashing max label from bar meters # 0.00.06 (44263) Sep 21, 2010 9/21/10 dev version to discuss scale button on bar meters 9/21/10 use + and - magnifying glass images to indicate what the meter scale button will do 9/21/10 new images for the meter scale button, enable/disable button as appropriate 9/21/10 add ticks outside the bar meter track for min and max labels 9/21/10 add tooltip to meter scale button 9/21/10 add scale button to bar meters, flash max range label when it changes 9/21/10 move meter nodes to new capacitorlab.view.meters package 9/7/10 fixed plate area drag handler, use only x drag coordinate because y dimension is foreshortened for pseudo-3D perspective 9/7/10 resolve ordering problem with plate area drag handle offset 9/7/10 doc and consolidate duplicate code in BoxNode 9/7/10 replace EasyGridBagLayout with GridPanel throughout 9/7/10 created GridPanel, will test it here than migrate to phetcommon 9/2/10 move all drag code to new capacitorlab.drag package 9/2/10 make dielectric directly draggable, use same handler as drag arrow 9/2/10 promote drag handlers from inner classes to top-level types 8/31/10 move "Model Values" check box to Developer Controls panel 8/31/10 migrate ColoredSeparator to phetcommon 8/31/10 replace borders with separators in subpanels 8/31/10 replace CLTitledControlPanel with PhetTitledPanel 8/26/10 add stubs for Multiple Capacitors tab 7/9/10 attempt to fix plate area drag handle, still broken 7/9/10 move model listener responsibilities into drag handle nodes 7/9/10 fix drag handles for dielectric offset and plate separation 7/8/10 add overload indicator to bar meters 5/21/10 started work on a model-independent voltmeter (incomplete, see TODO.txt) 5/20/10 copy voltmeter image files from CCK, confirmed licensing with Sam R. 5/20/10 capacitance meter 5/20/10 create base class for bar meters, refactor existing meters # 0.00.05 (40913) May 19, 2010 5/19/10 dev version to verify model changes 5/19/10 implement new model of charge, surface charge density, and E-field, as specified by NP 5/19/10 change variable names in ModelValuesPanel to match variable names in design doc 5/19/10 rework model assertions and arg checking 5/19/10 new model of surface charge density, to avoid divide-by-zero errors when area=0 5/19/10 assert necessary model conditions 5/19/10 add support for negative dielectric offset 5/19/10 add Stored Energy meter 5/19/10 consolidate meter range constants in CLConstants # 0.00.04 (40879) May 19, 2010 5/19/10 new model, plate charge meter, disconnect plate charge control 5/18/10 reorganize model to be similar to specification 5/18/10 add dielectric offset to model values display 5/18/10 add descriptions to model values display via tool tips 5/18/10 display model values in a dialog, too crowded in the play area 5/18/10 implement new model provided by NP, using "2 parallel capacitors" approach 5/17/10 display plate charge value the same way in control and meter 5/17/10 add background to plate charge control 5/17/10 custom Piccolo slider for plate charge, first pass 5/17/10 change model so that user can set either voltage or charge 5/17/10 create spreadsheet version of model, for verification and debugging 5/17/10 revise model description 5/17/10 change format of values in Developer meter 5/15/10 concise model description in doc/model.txt # 0.00.03 (40785) May 15, 2010 5/15/10 add surface charge density to Developer Meter 5/13/10 handle battery connection properly, move it out of battery and into circuit 5/13/10 add constants to Developer meter 5/13/10 fix Qexcess model 5/13/10 Plate Charge meter: change label, show +- value, red/blue bar based on +- # 0.00.02 (40610) May 11, 2010 5/11/10 dev version to demonstrate a couple of meters 5/11/10 format numbers in developer meter 5/11/10 add check box, background and close button for developer meter 5/11/10 make meters invisible by default 5/11/10 fix dragging of Plate Charge meter, constrain to canvas, keep visible when canvas is resized 5/11/10 first pass at Plate Charge meter, meter works, close button works, drag behavior is broken 5/11/10 implement questionable model for Qexcess 5/11/10 move dielectric constant for air to Air class # 0.00.01 (40556) May 10, 2010 5/10/10 dev version for verifying physical model specification 5/10/10 implement Qexcess, but the specification appears to be wrong 5/10/10 identified bugs in physical model specification, fixed in code 5/10/10 add some things to DevModelDisplayNode 5/10/10 use max plate separate for default, so that we have min model values 5/10/10 bug fix in capacitance model 5/10/10 set all default values to mins 5/10/10 don't show dielectric constant in combo box for custom dielectric material, since it's mutable 5/10/10 update DevModelDisplayNode when custom dielectric constant is modified 5/10/10 show full precision of values in DevModelDisplayNode, so we can see which digits are changing 5/10/10 change plate separation range to 5-10mm, so that dielectric has a substantial thickness 5/10/10 use ranges specified by Noah P, recalibrate locations and model-view transform 5/10/10 developer node for displaying various model values 5/10/10 remove obsolete developer controls so I don't have to convert them from mm to meters 5/10/10 reduce width of Dielectric Constant text field 5/10/10 add air as a dielectric material 5/10/10 convert model from millimeters to meters throughout, to match the specification 5/10/10 utilities for converting between model and view units 5/10/10 implement battery-capacitor circuit model 5/10/10 add dielectric inside/outside area to capacitor model 5/10/10 add arg checks to capacitor model 5/6/10 change meter name from "Charge" to "Plate Charge" 5/6/10 change "Disconnect/Connect" button to "Add/Remove Wires" button, center above top wire 5/5/10 add cursor handler to disconnect/connect button 5/5/10 make voltage slider knob larger, use same colors as drag handles 5/5/10 remove developer control panel from Dielectric module control panel 5/5/10 implement handlers for drag handles (still has some coordinate frame conversion issues) 5/5/10 use strategy pattern for determining how to color the faces of a box 5/5/10 custom renderer for combo box that provides choice of dielectric materials 5/5/10 add wire to model 5/5/10 fix positioning of plate area drag handle 5/5/10 change layout of plate area drag handle to line up with plate surface diagonal 5/4/10 add drag handles for plate area and separation (not wired up) 5/4/10 generalize components of drag handles 5/4/10 migrate HighlightHandler to piccolo-phet 5/4/10 generalize the handler for highlight nodes, see HighlightHandler 5/4/10 add offset value display to drag handle 5/4/10 doc capacitor properties 5/4/10 add dielectric gap to model and view 5/3/10 first pass at drag handle for dielectric offset (not wired up) 5/3/10 add more horizontal space between battery and capacitor 5/3/10 add connect/disconnect button 5/3/10 add battery connectivity to model 5/3/10 add wires, no model, purely visual representation 5/3/10 change origin marker to a bullseye, so it won't be confused with a positive charge 5/3/10 align capacitor's geometric center with the origin of the model coordinate system 5/3/10 wire up more controls to model 5/3/10 wired up developer controls to model 5/3/10 added developer controls for direct-manipulation properties that aren't implemented yet 5/3/10 simplified the model, deleted Plate and Dielectric classes 4/30/10 change viewing angle to match design document 4/30/10 adjust mvt offsets 4/30/10 add model origin marker to scenegraph 4/30/10 add location to battery and capacitor models 4/30/10 add model-view transform 4/30/10 utilities for find the area and centroid of a polygon 4/30/10 make custom dielectric material mutable 4/30/10 i18n of dielectric material names 4/29/10 quick-and-dirty first pass at pseudo-3D representation of plates and dielectric 4/28/10 add control for selecting specific dielectric materials 4/27/10 add control panel for dielectric properties (not wired up) 4/27/10 make all control panels the same width 4/27/10 add control panels for Introduction module (not wired up) 4/27/10 add various localized strings 4/27/10 i18n of units in voltage slider 4/27/10 clean up and rename battery slider 4/27/10 add interactivity to battery slider 4/26/10 more work on battery slider (incomplete) 4/26/10 check in battery slider knob images, copied from faraday 4/26/10 framework for modules, canvases, control panels, etc. 4/26/10 battery node with no slider 4/26/10 check in battery images and assets received from Noah P. 4/26/10 start modeling size attributes 4/15/10 create project skeleton in SVN