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