X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=TODO;h=f3f97c5b5ff56bd3891b44d2ea5c4c3ba380d374;hb=23b96c50e7906f26dd5f6108ac5de673b950563a;hp=ef866a76699f4c1529fabe634abf4b511f840d7d;hpb=bf76931b27b597f7bc1dd5a0e7e2460ac065415b;p=debian%2Fopenrocket diff --git a/TODO b/TODO index ef866a76..f3f97c5b 100644 --- a/TODO +++ b/TODO @@ -1,18 +1,45 @@ -Feature roadmap for OpenRocket 1.0 +Feature roadmap for OpenRocket 2.0 ---------------------------------- +Must have: -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 -Postponed: ----------- + + +More ideas: +----------- Memory usage: @@ -24,33 +51,10 @@ Memory usage: - Warn user when 90% of memory is used, offer to send info 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: -- 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 - Integration with thrustcurve.org (syncing?) -- Reading thrust curves from external directory -- Plot motor thrust curve -- Water rocket modelling +- Water rocket modeling Optimization: @@ -64,14 +68,15 @@ Optimization: Running: -- Windows executable wrapper (launch4j) -- Allow only one instance of OpenRocket running (RMI communication) +- 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 @@ -82,7 +87,8 @@ UI issues: - 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 +- Add tool tips to component tree and figure, display component comment +- Make simulation table columns configurable Simulation: @@ -111,72 +117,19 @@ 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) .RKT format +- Reading (and writing?) SpaceCad format +- 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) +- 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) -- 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 -- 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 -In 1.0.0: -- BUG: Simulation table max. acceleration takes into account parachute deceleration -- Go through thrust curves and select best ones -- Updated splash screen -- BUG: Invalid fin points possible when removing points