X-Git-Url: https://git.gag.com/?a=blobdiff_plain;ds=sidebyside;f=TODO;h=ec1e28876b5c54e261f19f83cfd9390a00cf19d8;hb=6db4fec8a7ff65b40f1d8b38a2fb254255e740af;hp=a39c66479410db9237b6d0c74920972819d590de;hpb=720d4935bc6bec453e6478ad5227356c626610a2;p=debian%2Fopenrocket diff --git a/TODO b/TODO index a39c6647..ec1e2887 100644 --- a/TODO +++ b/TODO @@ -1,126 +1,169 @@ -GUI: +Feature roadmap for OpenRocket 1.0 +---------------------------------- -- Preferences dialog +Must-have: -BUGS: +- Go through thrust curves and select best ones +- Updated splash screen -COMPUTATION: +Maybe: -FILE/STORAGE: -OTHER: +Postponed: +---------- -- web-sivut +Memory usage: -DIPPA: +- 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 -------------------- -LATER: +Motor support: -- Simulation delete/copy/paste hotkeys - (either component or simulation selected, but not both) -- Add BodyComponent at end of rocket when no component is selected -- Showing events in plot (maybe future) -- Search field in motor selection dialog -- Through-the-wall fins -- Store materials +- Integration with thrustcurve.org (syncing?) +- Reading thrust curves from external directory +- Plot motor thrust curve +- Water rocket modelling -- Streamer CD estimation -- exporting (maybe later) +Optimization: -- Make ThicknessRingComponent implement RadialParent and allow - attaching components to a TubeCoupler +- 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: -DONE: +- 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 +- Progress bar during startup -- Automatic diameters of body components -- Copy/paste -18.4.: -- Esc, Ctrl-Z and Y etc. -- Look and feel +Simulation: -19.4.: -- Nose cone and transition shoulders in GUI -- zoom, cut/copy/paste etc. icons +- 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? -23.4.: -- Figure or rocket not updating when using a new BasicFrame -24.4.: -- File save and load -- Motor configuration editing (pre-alpha) -- Save simulations +Structural analysis: -25.4.: -- Multi-stages simulation (pre-alpha) -- Make sure simulations end -- Mass and CG overrides (pre-alpha) -- General loader +- 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 -26.4.: -- Centering ring inner diameter automatics (pre-alpha) -- Landing simulation (pre-alpha ??) -- Parachute/Streamer editing in GUI (pre-alpha) -- Launch lug editing in GUI (pre-alpha) -29.4.: -- Actual plotting done -- Refactored source code packages +Component support: -2.5.: -- Plotting (pre-alpha) -- Gravity model -- More units and specific custom units (angle, temperature, ...) -- Transition/Nose cone description text wrapping -- Fin set CP jumps at Mach 0.9 +- Screw weights for nose cones / transitions +- Support for external pods +- Support for tube fins -- Error dialogs for load/save/etc -3.5.: -- More materials (pre-alpha) -- File opening from command line +File support: -9.5.: -- Rocket configuration dialog -- Warnings in poor conditions (transition supersonic) -- New or old fin-body interference? -- poista tiedot laminaarisesta vastuksesta -- vertailuosio +- Reading (and writing) .RKT format -11.5.: -- Better default values for components -- Component analysis dialog show zero total mass and CG -- Compression support in save -- Simulation storage options -12.5.: -- Load simulations -- Update file version to 1.0 +Refactoring tasks: -13.5.: -- statistiikat softasta +- 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) -17.5.: -- jonkin verran TODOja -- conclusion -- viitteet -- Draw the component icons -- splashscreen -18.5.: -- About dialog + version number + +Done: +----- +- Search field in motor selection dialog +- Motor selection/editing from Edit configurations dialog +- Change FreeformFinSet to throw checked exceptions +- Fix engine block icons +- Exporting flight data +- Split cluster into separate components +- Create application icon and take into use +- Error dialog for uncaught exceptions +- Check where plot data ends (all rest NaN) +- Example rocket designs (hybrid w/ dual deployment, staged rocket) +- Better error/warning dialogs when reading/writing files +- Store custom materials +- 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