================================================================================ TODO list for glaciers ================================================================================ HIGHEST PRIORITY: HIGH PRIORITY: - [727] glacier growth from zero length still takes a long time, and then speeds up - [766] add snow to valley floor above ELA - [850] flags can be put in the cross-section of the ice - [851] flags can't be dragged from valley floor to ice surface while glacier is moving MEDIUM PRIORITY: LOW PRIORITY: - [725] finalize Help items - [735] improve smoothness of DistanceAxisNode (x-axis for coordinates feature) - [558] edges of thermometer & ice thickness tool icons are clipped - [734] dragging out and immediately into the toolbox doesn't delete tool - [736] ticks & labels on sliders should be white, code to set their color is not working (Mac OS 10.4 only?) - [735] Spanish translation - YAW_X_OFFSET should be computed as a function of YAW_ROTATION and PITCH_Y_OFFSET - remove registration points from background image in any versions published to PhET website - make sure everything works properly when clock is paused DEFERRED FOR INTERVIEWS: - [728] change color of glacier cross-section - [731] change label on steady state button - behavior of glacial budget meter (snap-to-ice) is hard to discover - do we want to show values or relative ranges (temperature=cold-to-hot,snowfall=none-to-lots) for Intro climate controls? DEFERRED FOR FUTURE VERSION: - [724] make borehole drill fire every N years - [729] "steady state" feature needs to fill glacier with debris and surface ripples - "steady state" feature needs to advance clock to the time at which the glacier would reach its steady state - "steady state" feature needs to fill in missing data in time-dependent graphs - climate experiments interface (start with a time estimate) - Experiments module - always collect data for time-based graphs, keep "latest" & "historical" data points, compress historical, limit historical size - add zoom in/out button for time-based graphs; show scrolling "latest" data or complete "historical" REFACTOR: - eliminate code duplication in modules - GlaciersModel is too big - PlayArea is too big - generalize all charts, there's too much duplicated code - PlayArea.verticallyAlignZoomedViewport makes a change to viewport and results in itself being called again (it works, but not very elegant) - delete trash can code & image file if we're sure we'll never need it PERFORMANCE OPTIMIZATIONS: - Valley.getX uses divide-and-conquer - Climate.updateELA uses divide-and-conquer - Glacier.findSurfaceAtELA does divide-and-conquer - Glacier.getIceSpeed(x,z) doesn't reuse speed at x values - Valley.getElevationLeftOfHeadwall does lookup and interpolation MIGRATE TO PHETCOMMON: - DoubleSpinner - SliderOnlyLayoutStrategy - HorizontalLayoutStrategy CLEANUP: - setPickable(false) on non-interactive nodes - rescale image files to minimize file size - disable all debug output - optimize memory management by reusing mutable objects - remove unused images ================================================================================