openrocket/TODO

147 lines
4.1 KiB
Plaintext
Raw Normal View History

2009-05-31 17:23:49 +00:00
2010-03-12 23:09:54 +00:00
Feature roadmap for OpenRocket 2.0
2009-11-28 14:28:39 +00:00
----------------------------------
2009-05-31 17:23:49 +00:00
2010-03-12 23:11:59 +00:00
Must have:
2009-05-31 17:23:49 +00:00
2010-03-12 23:09:54 +00:00
- Logging system into use
- Reduce memory footprint
- Reduce memory leakage
- Load thrust curves from external directory
- Support duplicate motor definitions
2009-05-31 17:23:49 +00:00
2010-03-12 23:11:59 +00:00
Maybe:
2009-05-31 17:23:49 +00:00
2010-03-12 23:11:59 +00:00
- Water rocket modeling
2009-05-31 17:23:49 +00:00
2009-11-28 14:28:39 +00:00
2010-03-12 23:11:59 +00:00
More ideas:
-----------
2009-11-28 14:28:39 +00:00
2010-02-17 20:37:35 +00:00
Memory usage:
2010-03-10 22:58:31 +00:00
- Store data as floats instead of doubles
2010-02-17 20:37:35 +00:00
- Reduce memory leakage when closing windows
- Make simulation data immutable, don't store copies in undo/redo
- Profile memory usage during operation (send data to server?)
2010-03-10 22:58:31 +00:00
- Warn user when 90% of memory is used, offer to send info to server
2010-02-17 20:37:35 +00:00
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
2009-11-28 14:28:39 +00:00
Motor support:
2009-05-31 17:23:49 +00:00
2010-03-10 22:58:31 +00:00
- 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
2009-11-24 19:56:40 +00:00
- Integration with thrustcurve.org (syncing?)
- Reading thrust curves from external directory
- Plot motor thrust curve
2009-11-28 14:28:39 +00:00
- Water rocket modelling
2009-11-24 19:56:40 +00:00
2009-11-28 14:28:39 +00:00
2010-02-17 20:37:35 +00:00
Optimization:
- Automatic general rocket optimizer (for altitude, velocity, duration etc)
that allows changing any rocket parameters for optimization
- Analysis of various motors for the rocket. Search all motors by
diameter, impulse range, manufacturer, simulate them and present the
results.
2009-11-28 14:28:39 +00:00
Running:
2009-11-24 19:56:40 +00:00
2009-10-10 13:13:32 +00:00
- Windows executable wrapper (launch4j)
2009-08-27 14:44:33 +00:00
- Allow only one instance of OpenRocket running (RMI communication)
2010-02-17 20:37:35 +00:00
- Running/simulating from command line
2009-11-28 14:28:39 +00:00
UI issues:
2010-03-10 22:58:31 +00:00
- Easy/intuitive zooming of plots
2009-08-27 14:44:33 +00:00
- Only schedule rocket figure update instead of each time updating it
2009-09-24 19:43:08 +00:00
- Importing flight data (file/altimeter)
2009-11-28 14:28:39 +00:00
- Saving as SVG
2009-09-24 19:43:08 +00:00
- Implement setDefaults() method for RocketComponent
- BUG: Inner tube cluster rotation, edit with spinner arrows, slider wrong
- NAR/CNES/etc competition validity checking
2009-10-04 15:46:32 +00:00
- Print support
2010-02-17 20:37:35 +00:00
- 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
2009-11-28 14:28:39 +00:00
Simulation:
- Landing scatter plots
- Simulate other branches
2010-02-17 20:37:35 +00:00
- Remove need for 5m launch rod in real-time simulations (reduces apogee)
A simulation listener that checks when sufficient velocity has been reached?
2010-03-10 22:58:31 +00:00
- [BUG] Take single-fin cant yaw effect into account
2010-02-17 20:37:35 +00:00
Structural analysis:
- Run a simulation with each step doing a component analysis
- Compute the force between different components:
- between body components (pushing against and pulling apart)
- inner tubes and the parent body tubes
- lateral forces on fins
- individual fin normal forces?
- Take into account acceleration, drag, gravity
- Plot forces against time
2009-11-28 14:28:39 +00:00
Component support:
- Screw weights for nose cones / transitions
- Support for external pods
- Support for tube fins
2010-02-17 20:37:35 +00:00
File support:
2009-11-28 14:28:39 +00:00
2010-02-17 20:37:35 +00:00
- Reading (and writing) .RKT format
2009-09-24 19:43:08 +00:00
Refactoring tasks:
2010-03-20 13:36:07 +00:00
- Change databases and icon loading to bean instances, implement stubs
for unit tests
2009-10-04 15:46:32 +00:00
- Move startup class to src14 directory, remove reflection
2009-09-24 19:43:08 +00:00
- Remove database etc. initialization from class initialization,
create separate set of test motors
- Extract event rules and data saving from Simulator into listeners
2010-02-17 20:37:35 +00:00
- How to handle different simulation situations elegantly
(launch rod, free flight, recovery)
2009-09-24 19:43:08 +00:00
- Change SimulationStatus to include methods for obtaining basic
2009-10-04 15:46:32 +00:00
position (maybe even change to an interface, implements Cloneable)
2010-02-17 20:37:35 +00:00
- Modularize calculators, simulators, atmospheric conditions, etc.
2009-09-24 19:43:08 +00:00
- Change Motor (immutable) to be a factory of MotorInstance (stateful)
2009-05-31 17:23:49 +00:00
Done:
2009-11-28 14:28:39 +00:00
-----
2010-03-12 23:09:54 +00:00
- Reading .RKT format