Plan-zakalawe

From FlightGear wiki
Jump to navigation Jump to search

Task List

Core properties and subsystems

  • Work with Thorsten to re-write re-init to be a normal sim-startup
  • USB-HID support, support for more HID devices (also see issue #619)
    • Add a hidapi backend to event-input code
    • Write a loader to use existing joystick configs with event-input
    • Remove PLIB JS dependency
  • Migrate Nasal geo.Coord to be implemented in C++, and hence agree with SGGeodesy functions for courses, distances and so on.

Usability

The following all relate to testing and feedback:

  • Show shader / rendering errors somewhere so we can trap shader compile errors more easily
  • Log out various strings and the /sim/rendering sub-tree, eg shader quality level settings, MSAA level

The following relate to interaction feedback:

  • Tooltips, both on mouse-hover and when interacting with a pick control
  • Customisable cursors on mouse-move, especially for pickable items. (This could potentially make the yellow highlight effect obsolete, which would simplify the pick scene-graph)
  • Change default mouse interaction modes to be spring-loaded so users don't get trapped

Data / deployment

  • Finish libSvn replacement code
  • Support a list of 'hangar' repositories and synchronising aircraft from them
  • Investigate making other optional base-package data be dynamically loaded - AI-models, high-res textures, winter textures, DDS vs uncompressed textures, ATC chatter

GUI / renderer

  • Adapt the 2D panel code to build Canvas nodes

GPS / FMS / Route-planning

  • Make a 'GPS receiver' instrument which models the physical GPS instrument
  • Make an 'IRS' instrument which models an inertial reference platform
  • Make a radio-positioning module (DME triangulation)
  • GPS Restructuring
    • Make the current 'GPS' instrument use a selectable position source - sim position, GPS, or INS.
    • Break the C++ GPS into various discrete modules, which can be selected or combined from Nasal
    • Bug-fix the various LNAV path controllers (DME arcs, DME intercepts)
    • Move many current C++ GPS functions to Nasal (searching for waypoints, etc)
    • Make a VNAV module for FMS use (compute climb and descent profiles)

Using the above, more real-world GPS and FMC units can be created with Nasal to combine C++ core modules.

  • Create a generic Boeing CDU instrument, using the existing keypad model, but with the Canvas for the content. Various people have done parts of this, it's mostly a collating and refactoring job to get a solution that will scale to the 747-400, 777 and 737NG. Once that's done should discuss with Scott about any Airbus MCDU overlap (but likely not much is possible)

Instruments / displays

  • Port NavDisplay to use the Canvas internally