Initializing Nasal early: Difference between revisions

Jump to navigation Jump to search
m
no edit summary
m (http://forum.flightgear.org/viewtopic.php?f=71&t=23542)
mNo edit summary
Line 18: Line 18:
This is a summary of all discussions relating to:
This is a summary of all discussions relating to:
* initializing the Nasal scripting interpreter earlier {{Progressbar|30}}
* initializing the Nasal scripting interpreter earlier {{Progressbar|30}}
* moving $FG_ROOT/Nasal initialization out of C++ into scripting space (aka "bootstrapping") while introducing proper dependency resolution (inter- and intra-modular) {{Progressbar|20}}
* moving subsystem-specific initialization of Nasal APIs into each subsystem's bind methods, as per [http://forum.flightgear.org/viewtopic.php?f=71&p=214436#p214436] {{Progressbar|50}}  
* moving subsystem-specific initialization of Nasal APIs into each subsystem's bind methods, as per [http://forum.flightgear.org/viewtopic.php?f=71&p=214436#p214436] {{Progressbar|50}}  
* extending [[Nasal/CppBind|cppbind]] to keep track of added symbols, to easily remove them on demand {{Pending}}
* extending [[Nasal/CppBind|cppbind]] to keep track of added symbols, to easily remove them on demand {{Pending}}
* providing an integrated GUI front-end/launcher using [[Canvas]] and [[Nasal]]: [[Aircraft Center]]  
* providing an integrated GUI front-end/launcher using [[Canvas]] and [[Nasal]]: [[Aircraft Center]]  
* moving $FG_ROOT/Nasal initialization out of C++ into scripting space (aka "bootstrapping") while introducing proper dependency resolution (inter- and intra-modular) {{Progressbar|20}}
* decoupling FlightGear initialization such that certain subsystems can be optionally disabled right at the beginning (e.g. FDM, sound, replay, scenery) {{Progressbar|10}}
* decoupling FlightGear initialization such that certain subsystems can be optionally disabled right at the beginning (e.g. FDM, sound, replay, scenery) {{Progressbar|10}}
* grouping related subsystems into '''SGSubsystemGroup''' instances to manage them holistically (e.g. xml-autopilot & route-manager) {{Progressbar|20}}
* simplifying the fg_init.cxx/main.cxx initialization logic and exposing it to scripting space {{Pending}}
* allowing argument processing to be delegated to scripting space (e.g. options, startup position handling, presets etc.)
* grouping related subsystems into '''SGSubsystemGroup''' instances to manage them holistically {{Progressbar|20}}  - analogous to [[FlightGear Run Levels|run-levels]], e.g.:
** AUDIO: sound, voice (TTS), fgcom
** AIRCRAFT: aircraft-model, controls, flight (FDM), xml-autopilot, route-manager
** VIDEO: gui, canvas, canvasGUI
* making the initialization process/splash screen more responsive by using Nasal/Canvas instead of hard-coded GL code [http://forum.flightgear.org/viewtopic.php?f=71&t=23542] [http://forum.flightgear.org/viewtopic.php?f=71&t=22021] ({{Issue|1456}}) {{Pending}}
* making the initialization process/splash screen more responsive by using Nasal/Canvas instead of hard-coded GL code [http://forum.flightgear.org/viewtopic.php?f=71&t=23542] [http://forum.flightgear.org/viewtopic.php?f=71&t=22021] ({{Issue|1456}}) {{Pending}}
* allowing custom startup profiles/modes to be implemented via Nasal helper scripts, for example: {{Not done}}
* allowing custom startup profiles/modes to be implemented via Nasal helper scripts, for example: {{Not done}}

Navigation menu