Feature roadmap for OpenRocket 2.0
----------------------------------
+Must have:
- Logging system into use
- Reduce memory footprint
- Reduce memory leakage
-- Load thrust curves from external directory
-- Support duplicate motor definitions
+Maybe:
+
+- Water rocket modeling
+Done:
+
+In 1.1.0:
+- Reading .RKT
+- Central logging system
+- Simulation refactoring
+In 1.1.1:
+- Load thrust curves from external directory
+- Support duplicate motor definitions
+- Combine duplicates into one display in the selection dialog
+ - A single manufacturer/designation can contain multiple thrust curves
+ - Delays are combined
+ - Type is selected based on any not-unknown type
+ - Hybrid type always includes P delay
+ - Default delay selected based on heuristics
+ - Store recently used motors, use in default selection
+- Plot motor thrust curve
+- Change databases and icon loading to bean instances, implement stubs
+ for unit tests
+- Remove database etc. initialization from class initialization,
+ create separate set of test motors
+
-Postponed:
-----------
+More ideas:
+-----------
Memory usage:
- Warn user when 90% of memory is used, offer to send info to server
-Logging:
-
-- Implement a central logging system
- - takes messages with different priorities
- - converts them into LogLine's that are passed to log handlers
- - printing log handler and storing log handler
- - bug reports to contain last ~50 log lines
-- LogLine
- - contains TraceException for log position information
- - contains sequential number
-- log storing handler stores separately debug and info/warn levels
-- remove all System.out/err writing, replace with logging
-
-
Motor support:
-- Combine duplicates into one display in the selection dialog
- - A single manufacturer/designation can contain multiple thrust curves
- - Delays are combined
- - Type is selected based on any not-unknown type
- - Hybrid type always includes P delay
- - Default delay selected based on heuristics
- - Store recently used motors, use in default selection
- Integration with thrustcurve.org (syncing?)
-- Reading thrust curves from external directory
-- Plot motor thrust curve
-- Water rocket modelling
+- Water rocket modeling
Optimization:
Running:
-- Windows executable wrapper (launch4j)
-- Allow only one instance of OpenRocket running (RMI communication)
+- Windows executable wrapper (launch4j?)
+- Allow only one instance of OpenRocket running (RMI communication?)
- Running/simulating from command line
- Drag and drop of components / other table items
- Ctrl+scroll wheel to zoom in/out
- Move components by dragging on the figure
-- Progress bar during startup
+- Add tool tips to component tree and figure, display component comment
+- Make simulation table columns configurable
Simulation:
File support:
-- Reading (and writing) .RKT format
+- Reading (and writing?) SpaceCad format
+- Writing .RKT format ?
Refactoring tasks:
-- Move startup class to src14 directory, remove reflection
-- Remove database etc. initialization from class initialization,
- create separate set of test motors
-- Extract event rules and data saving from Simulator into listeners
-- How to handle different simulation situations elegantly
- (launch rod, free flight, recovery)
+- Extract event rules and data saving from Simulator into listeners?
- Change SimulationStatus to include methods for obtaining basic
position (maybe even change to an interface, implements Cloneable)
-- Modularize calculators, simulators, atmospheric conditions, etc.
-- Change Motor (immutable) to be a factory of MotorInstance (stateful)
-
-Done:
------
-
-- Reading .RKT format
\ No newline at end of file