update to 0.9.7pre
[debian/openrocket] / TODO
1
2 Feature roadmap for OpenRocket 1.0
3 ----------------------------------
4
5
6 Must-have:
7
8 - Go through thrust curves and select best ones
9 - Updated splash screen
10
11
12 Maybe:
13
14
15
16
17 Postponed:
18 ----------
19
20
21 Memory usage:
22
23 - Reduce memory leakage when closing windows
24 - Make simulation data immutable, don't store copies in undo/redo
25 - Profile memory usage during operation (send data to server?)
26
27
28 Logging:
29
30 - Implement a central logging system
31   - takes messages with different priorities
32   - converts them into LogLine's that are passed to log handlers
33   - printing log handler and storing log handler
34   - bug reports to contain last ~50 log lines
35 - LogLine
36   - contains TraceException for log position information
37   - contains sequential number
38 - log storing handler stores separately debug and info/warn levels
39 - remove all System.out/err writing, replace with logging
40
41
42 Motor support:
43
44 - Integration with thrustcurve.org (syncing?)
45 - Reading thrust curves from external directory
46 - Plot motor thrust curve
47 - Water rocket modelling
48
49
50 Optimization:
51
52 - Automatic general rocket optimizer (for altitude, velocity, duration etc)
53   that allows changing any rocket parameters for optimization
54 - Analysis of various motors for the rocket.  Search all motors by
55   diameter, impulse range, manufacturer, simulate them and present the
56   results.
57
58
59 Running:
60
61 - Windows executable wrapper (launch4j)
62 - Allow only one instance of OpenRocket running (RMI communication)
63 - Running/simulating from command line
64
65
66 UI issues:
67
68 - Only schedule rocket figure update instead of each time updating it
69 - Importing flight data (file/altimeter)
70 - Saving as SVG
71 - Implement setDefaults() method for RocketComponent
72 - BUG: Inner tube cluster rotation, edit with spinner arrows, slider wrong
73 - NAR/CNES/etc competition validity checking
74 - Print support
75 - Drag and drop of components / other table items
76 - Ctrl+scroll wheel to zoom in/out
77 - Move components by dragging on the figure
78 - Progress bar during startup
79
80
81 Simulation:
82
83 - Landing scatter plots
84 - Simulate other branches
85 - Remove need for 5m launch rod in real-time simulations (reduces apogee)
86   A simulation listener that checks when sufficient velocity has been reached?
87
88
89 Structural analysis:
90
91 - Run a simulation with each step doing a component analysis
92 - Compute the force between different components:
93   - between body components (pushing against and pulling apart)
94   - inner tubes and the parent body tubes
95   - lateral forces on fins
96   - individual fin normal forces?
97 - Take into account acceleration, drag, gravity
98 - Plot forces against time
99
100
101 Component support:
102
103 - Screw weights for nose cones / transitions
104 - Support for external pods
105 - Support for tube fins
106
107
108 File support:
109
110 - Reading (and writing) .RKT format
111
112
113 Refactoring tasks:
114
115 - Move startup class to src14 directory, remove reflection
116 - Remove database etc. initialization from class initialization,
117   create separate set of test motors
118 - Extract event rules and data saving from Simulator into listeners
119 - How to handle different simulation situations elegantly
120   (launch rod, free flight, recovery)
121 - Change SimulationStatus to include methods for obtaining basic
122   position (maybe even change to an interface, implements Cloneable)
123 - Modularize calculators, simulators, atmospheric conditions, etc.
124 - Change Motor (immutable) to be a factory of MotorInstance (stateful)
125
126
127
128 Done:
129 -----
130 - Search field in motor selection dialog
131 - Motor selection/editing from Edit configurations dialog
132 - Change FreeformFinSet to throw checked exceptions
133 - Fix engine block icons
134 - Exporting flight data
135 - Split cluster into separate components
136 - Create application icon and take into use
137 - Error dialog for uncaught exceptions
138 - Check where plot data ends (all rest NaN)
139 - Example rocket designs (hybrid w/ dual deployment, staged rocket)
140 - Better error/warning dialogs when reading/writing files
141 - Store custom materials
142 - Read more thrust curve formats
143 - Showing events in plots
144 - Table boolean selecting by clicking label
145 - Test automatic exception reporting (for 0.9.3)
146 - Draw remaining event icons (for 0.9.3)
147 - Update "About" dialog with icon and source info
148 In 0.9.4:
149 - Through-the-wall fins
150 - Make ThicknessRingComponent implement RadialParent and allow
151   attaching components to a TubeCoupler  (for 0.9.4)
152 - Save file as oldest OpenRocket format possible  (for 0.9.4)
153 - Non-exception bug handling
154 - JTree text is cropped unnecessarily
155 - Allow editing user-defined materials
156 - [BUG] All configuration dialogs too high
157 - Simulation plot dialog forces dialog one button row too high (All/None)
158 - Add styrofoam and depron materials
159 - Inform user about software updates
160 In 0.9.5:
161 - Add label to motor panel to tell current number of stages
162 In 0.9.6:
163 - Take into account all fins in interference effects
164 - Two-fin rocket stable at large number of roll angles?!
165 - Add slight randomness to yaw moment
166 - Update simulation time step filtering from exponential MA to
167   exponential growth until time step is reached (t1 = 1.5*t0)
168 - Limit time step during while on launch rod
169 - Re-investigate 15% reduction of three-fin CNa