create changelog entry
[debian/openrocket] / core / TODO
1
2 Feature roadmap for OpenRocket 2.0
3 ----------------------------------
4
5 Must have:
6
7 - Logging system into use
8 - Reduce memory footprint
9 - Reduce memory leakage
10
11
12 Maybe:
13
14 - Water rocket modeling
15
16
17 Done:
18
19 In 1.1.0:
20 - Reading .RKT
21 - Central logging system
22 - Simulation refactoring
23 In 1.1.1:
24 - Load thrust curves from external directory
25 - Support duplicate motor definitions
26 - Combine duplicates into one display in the selection dialog
27   - A single manufacturer/designation can contain multiple thrust curves
28   - Delays are combined
29   - Type is selected based on any not-unknown type
30   - Hybrid type always includes P delay
31   - Default delay selected based on heuristics
32   - Store recently used motors, use in default selection
33 - Plot motor thrust curve
34 - Change databases and icon loading to bean instances, implement stubs
35   for unit tests
36 - Remove database etc. initialization from class initialization,
37   create separate set of test motors
38
39
40
41 More ideas:
42 -----------
43
44
45 Memory usage:
46
47 - Store data as floats instead of doubles
48 - Reduce memory leakage when closing windows
49 - Make simulation data immutable, don't store copies in undo/redo
50 - Profile memory usage during operation (send data to server?)
51 - Warn user when 90% of memory is used, offer to send info to server
52
53
54 Motor support:
55
56 - Integration with thrustcurve.org (syncing?)
57 - Water rocket modeling
58
59
60 Optimization:
61
62 - Automatic general rocket optimizer (for altitude, velocity, duration etc)
63   that allows changing any rocket parameters for optimization
64 - Analysis of various motors for the rocket.  Search all motors by
65   diameter, impulse range, manufacturer, simulate them and present the
66   results.
67
68
69 Running:
70
71 - Windows executable wrapper (launch4j?)
72 - Allow only one instance of OpenRocket running (RMI communication?)
73 - Running/simulating from command line
74
75
76 UI issues:
77
78 - Easy/intuitive zooming of plots
79 - Open recent designs
80 - Only schedule rocket figure update instead of each time updating it
81 - Importing flight data (file/altimeter)
82 - Saving as SVG
83 - Implement setDefaults() method for RocketComponent
84 - BUG: Inner tube cluster rotation, edit with spinner arrows, slider wrong
85 - NAR/CNES/etc competition validity checking
86 - Print support
87 - Drag and drop of components / other table items
88 - Ctrl+scroll wheel to zoom in/out
89 - Move components by dragging on the figure
90 - Add tool tips to component tree and figure, display component comment
91 - Make simulation table columns configurable
92
93
94 Simulation:
95
96 - Landing scatter plots
97 - Simulate other branches
98 - Remove need for 5m launch rod in real-time simulations (reduces apogee)
99   A simulation listener that checks when sufficient velocity has been reached?
100 - [BUG] Take single-fin cant yaw effect into account
101
102
103 Structural analysis:
104
105 - Run a simulation with each step doing a component analysis
106 - Compute the force between different components:
107   - between body components (pushing against and pulling apart)
108   - inner tubes and the parent body tubes
109   - lateral forces on fins
110   - individual fin normal forces?
111 - Take into account acceleration, drag, gravity
112 - Plot forces against time
113
114
115 Component support:
116
117 - Screw weights for nose cones / transitions
118 - Support for external pods
119 - Support for tube fins
120 - Allow ejecting mass components (or all components?) at specific flight events
121
122
123 File support:
124
125 - Reading (and writing?) SpaceCad format
126 - Writing .RKT format ?
127
128
129 Refactoring tasks:
130
131 - Extract event rules and data saving from Simulator into listeners?
132 - Change SimulationStatus to include methods for obtaining basic
133   position (maybe even change to an interface, implements Cloneable)
134
135