X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=TODO;h=ec1e28876b5c54e261f19f83cfd9390a00cf19d8;hb=6db4fec8a7ff65b40f1d8b38a2fb254255e740af;hp=6bcc1be1f3e57fd4b914bf442299b47c89a44c76;hpb=84086eec3f20c7af0c4817548de4e8296c7674f8;p=debian%2Fopenrocket diff --git a/TODO b/TODO index 6bcc1be1..ec1e2887 100644 --- a/TODO +++ b/TODO @@ -1,46 +1,132 @@ Feature roadmap for OpenRocket 1.0 +---------------------------------- Must-have: -- Draw remaining event icons (for 0.9.3) -- Change automatic exception reporting success code to 202 (for 0.9.3) -- Test automatic exception reporting (for 0.9.3) +- Go through thrust curves and select best ones +- Updated splash screen -- Allow editing user-defined materials -- Go through thrust curves and correct errors -- Add styrofoam and depron materials -- Through-the-wall fins -- Update "About" dialog with icon and source info +Maybe: -Bugs: -- Simulation plot dialog forces dialog one button row too high (All/None) -- JTree text is cropped unnecessarily -- BUG: Inner tube cluster rotation, edit with spinner arrows, slider wrong -Maybe: +Postponed: +---------- -- Make ThicknessRingComponent implement RadialParent and allow - attaching components to a TubeCoupler + +Memory usage: + +- 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?) + + +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 + + +Motor support: + +- Integration with thrustcurve.org (syncing?) - Reading thrust curves from external directory +- Plot motor thrust curve +- Water rocket modelling -Postponed: +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: + - Only schedule rocket figure update instead of each time updating it -- Reading (writing) .RKT format -- Importing flight data -- Water rocket modelling +- 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 +- Progress bar during startup + + +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? -Done: +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 + + +File support: + +- Reading (and writing) .RKT format + + +Refactoring tasks: +- Move startup class to src14 directory, remove reflection +- Remove database etc. initialization from class initialization, + create separate set of test motors +- Extract event rules and data saving from Simulator into listeners +- How to handle different simulation situations elegantly + (launch rod, free flight, recovery) +- Change SimulationStatus to include methods for obtaining basic + position (maybe even change to an interface, implements Cloneable) +- Modularize calculators, simulators, atmospheric conditions, etc. +- Change Motor (immutable) to be a factory of MotorInstance (stateful) + + + +Done: +----- - Search field in motor selection dialog - Motor selection/editing from Edit configurations dialog - Change FreeformFinSet to throw checked exceptions @@ -56,4 +142,28 @@ Done: - Read more thrust curve formats - Showing events in plots - Table boolean selecting by clicking label - +- Test automatic exception reporting (for 0.9.3) +- Draw remaining event icons (for 0.9.3) +- Update "About" dialog with icon and source info +In 0.9.4: +- Through-the-wall fins +- Make ThicknessRingComponent implement RadialParent and allow + attaching components to a TubeCoupler (for 0.9.4) +- Save file as oldest OpenRocket format possible (for 0.9.4) +- Non-exception bug handling +- JTree text is cropped unnecessarily +- Allow editing user-defined materials +- [BUG] All configuration dialogs too high +- Simulation plot dialog forces dialog one button row too high (All/None) +- Add styrofoam and depron materials +- Inform user about software updates +In 0.9.5: +- Add label to motor panel to tell current number of stages +In 0.9.6: +- Take into account all fins in interference effects +- Two-fin rocket stable at large number of roll angles?! +- Add slight randomness to yaw moment +- Update simulation time step filtering from exponential MA to + exponential growth until time step is reached (t1 = 1.5*t0) +- Limit time step during while on launch rod +- Re-investigate 15% reduction of three-fin CNa