File: TODO

package info (click to toggle)
planets 0.1.13-19
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 512 kB
  • sloc: ml: 4,541; makefile: 207; ansic: 38
file content (59 lines) | stat: -rw-r--r-- 2,177 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
* Physics

 - implement better approximation --- 4th order runge kutta would be a nice
   start, but there's a lot of stuff to do under this rubric, such as
   varying the step size depending on the conditions.

 - add in solar system snapshot.

 - Better bouncing:
    + repulsion field that drops off more quickly (nearly to zero outside of
      radius bound?) so as not to affect normal physics.

 - Redo COM-follow mode so it computes an offset for the COM, and then uses
   those to reposition before display.  By keeping a record of the COM
   offsets, tracing could be made to do something reasonable in COM-follow
   mode. 

 - Make 3D?  Could be done with a 2D-display and a simple
   projection.... Use 2d-mouse movement for changing angle, maybe a scrollbar
   for depth.  Could be done...

 - Make 3D for real:  using LablGL.  This will hurt portability and
   performance, however

* Display

  - Consider breaking up traces into lots of little line segments.  Whether
    this is an improvement depends on the internals of Tcl/Tk, but it does
    avoid the need for a linear scan (both in OCaml and in Tcl/Tk) every time
    a planet moves.

  - Consider using built-in Tcl/Tk scaling when zooming in and out.  It's not
    clear, though, if that would really help performance.

  - Port to LablGtk?  Canvas performance should be higher, there is
    anti-aliasing, and gtk can be linked in to make a small windows
    executable.

    This would be a lot of work, unfortunately.  Also, what about
    portability?  Should wait until LablGtkļæ½is more clearly the standard for
    OCaml, or at least until it's better supported.

  - Allow for display of planet names next to planets

* UI

 - improved GUI controls for optionbox
    + exponential control
    + Little up-and-down arrows on the entry controls would be nice.

* Config Files

 - Allow files to refrain from setting some variables, like G and G-exp.
   This should be controllable from the UI.  Perhaps add a keyword to
   indicate that the current values should not be overwritten.

 - Modify lexer to enable forward and backward compatibility. i.e.,
   non-understood entries are simply dropped.