136 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			136 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
 | |
| Feature roadmap for OpenRocket 2.0
 | |
| ----------------------------------
 | |
| 
 | |
| Must have:
 | |
| 
 | |
| - Logging system into use
 | |
| - Reduce memory footprint
 | |
| - Reduce memory leakage
 | |
| 
 | |
| 
 | |
| 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
 | |
| 
 | |
| 
 | |
| 
 | |
| More ideas:
 | |
| -----------
 | |
| 
 | |
| 
 | |
| Memory usage:
 | |
| 
 | |
| - Store data as floats instead of doubles
 | |
| - 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?)
 | |
| - Warn user when 90% of memory is used, offer to send info to server
 | |
| 
 | |
| 
 | |
| Motor support:
 | |
| 
 | |
| - Integration with thrustcurve.org (syncing?)
 | |
| - Water rocket modeling
 | |
| 
 | |
| 
 | |
| 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.
 | |
| 
 | |
| 
 | |
| Running:
 | |
| 
 | |
| - Windows executable wrapper (launch4j?)
 | |
| - Allow only one instance of OpenRocket running (RMI communication?)
 | |
| - Running/simulating from command line
 | |
| 
 | |
| 
 | |
| UI issues:
 | |
| 
 | |
| - Easy/intuitive zooming of plots
 | |
| - Open recent designs
 | |
| - Only schedule rocket figure update instead of each time updating it
 | |
| - Importing flight data (file/altimeter)
 | |
| - Saving as SVG
 | |
| - Implement setDefaults() method for RocketComponent
 | |
| - BUG: Inner tube cluster rotation, edit with spinner arrows, slider wrong
 | |
| - NAR/CNES/etc competition validity checking
 | |
| - Print support
 | |
| - Drag and drop of components / other table items
 | |
| - Ctrl+scroll wheel to zoom in/out
 | |
| - Move components by dragging on the figure
 | |
| - Add tool tips to component tree and figure, display component comment
 | |
| - Make simulation table columns configurable
 | |
| 
 | |
| 
 | |
| Simulation:
 | |
| 
 | |
| - Landing scatter plots
 | |
| - Simulate other branches
 | |
| - Remove need for 5m launch rod in real-time simulations (reduces apogee)
 | |
|   A simulation listener that checks when sufficient velocity has been reached?
 | |
| - [BUG] Take single-fin cant yaw effect into account
 | |
| 
 | |
| 
 | |
| 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
 | |
| 
 | |
| 
 | |
| Component support:
 | |
| 
 | |
| - Screw weights for nose cones / transitions
 | |
| - Support for external pods
 | |
| - Support for tube fins
 | |
| - Allow ejecting mass components (or all components?) at specific flight events
 | |
| 
 | |
| 
 | |
| File support:
 | |
| 
 | |
| - Reading (and writing?) SpaceCad format
 | |
| - Writing .RKT format ?
 | |
| 
 | |
| 
 | |
| Refactoring tasks:
 | |
| 
 | |
| - 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)
 | |
| 
 | |
| 
 |