Things That Would Be Nice
These changes aren't currently scheduled to be done, and may not even make sense. This is just a list of things that at some point I've thought might be nice to have.
Addins
- Integrate Mathematica as a plotter
- Make an evaluation tab that sends commands to Mathematica
Backend
- Implement disk caching for individual parts of a data elements
- Migrate compare.config to system preferences service
- Allow tabs to have multiple possible print destinations
- Allow clipboard sharing with other VMs
- Allow elements to store the original element class when serializing a data element in order to use a more efficient implementation when reconstituting
- Fire more specific change messages when a generator is updated to reduce the amount of recomputation done for trivial tasks
Compare^2
- Add view filter for rows with/without a specified number of results of a particular type in Compare^2
- Add ability to increase and decrease filter fuzziness in Compare^2
- Add printing support to Compare^2
- Add clipboard support to Compare^2
Debugging
- Add option to close a Console
- Add option to clear Console
- Add command history to Console
- Add command completion to Console
Documentation
- Create documentation for using a plotter
- Create documentation for adding a new plotter
- Create documentation for adding a new view colorer
- Create documentation for adding a new data source
Objectives
- Add more boolean value tests to BooleanRelational objective
- Implement objective that performs algebraic manipulations on inputs
- Implement WOSS with a selectable metric (and metrics to go with it!)
- Implement WOSS with arbitrary precision arithmetic for intermediate calculations
- Implement arbitrary precision data elements to avoid having to round final result
- Add Reciprocal Squared Plus One to element weight choices for WOSS and Minkowski objective functions
Transforms
- Implement transform that performs boolean valued tests on two or more inputs
- Implement transform that clears the evaluation stream
- Implement transform that returns a constant value
- Implement transform that performs algebraic manipulations on two or more inputs
- Implement transform that selects every nth row starting from some offset and continuing to a specified position (or end of data)
- Implement element based data slices to make the selecting every nth element transform fast
- Implement transform that returns a transpose (FlippedDataElement) of the input
- Implement a transform container that tests for a condition and iterates through its transforms until the condition is satisfied
- Implement a transform container that evaluates each transform independently and concatenates all of the results
- Implement a transform container that evaluates only one of its transforms depending on the result of an expression
- Implement a transform that checks each row of input for the value of a selected column to have some relationship with a specified value and output either that row, the previous row, or a combination of those two rows
- Add DataElement creating loose transforms to dispatching framework
- Implement very loose conversions for the method dispatching framework
- TransformEvaluationTransform should detect whether it's part of an infinite loop
Views
- Make Compare^2 and SeriesView remember the order of existing columns when changing the table structure
- Add printing support to ProgrammableDataGeneratorEditor
- Disable delete selected icon in ProgrammableDataGeneratorEditor when the currently selected item cannot be deleted by that editor
- Add support for dropping to EditableSeriesView
- Hide transforms in CellCycleModelView unless ready to evaluate
- Make newly added rows of ExperimentSeriesView have unique names
- Add clipboard support to ProgrammableDataGeneratorEditor