Canvas-hackers: Difference between revisions

Jump to navigation Jump to search
m
more pm2wiki
m (pm2wiki)
m (more pm2wiki)
Line 6: Line 6:


-----------
-----------
While there is a [[Mailing list]] in comparison to the forum, it's fairly inactive these days and it's primarily about C++ level CORE development.
While there is a [[Mailing list]], in comparison to the forum, it's fairly inactive these days and it's primarily about C++ level CORE development.


For Canvas related things, we often also discuss core changes on the forum, because we have a dedicated subforum here, and because TheTom, as the main Canvas core developer, is very active on the forum and usually handles support requests or feature requests pretty promptly.
For Canvas related things, we often also discuss core changes on the forum, because we have a dedicated subforum here, and because TheTom, as the main Canvas core developer, is very active on the forum and usually handles support requests or feature requests pretty promptly.


Regarding wiki articles and Canvas related priorities.  
Regarding wiki articles and Canvas related priorities. the focus/manpower is mostly on 1) re-implementing our existing GUI on top of Canvas through custom (scripted) widgets: [[Canvas Widgets]] (mostly handled by TheTom & Zakalawe, both of them core devs).
 
Currently, the focus/manpower is mostly on 1) re-implementing our existing GUI on top of Canvas through custom (scripted) widgets: [[Canvas Widgets]] (mostly handled by TheTom & Zakalawe, both of them core devs).


And then, we're busy re-implementing existing hard-coded "glass" instruments using Canvas, i.e. stuff like the ND, PFD etc.
And then, we're busy re-implementing existing hard-coded "glass" instruments using Canvas, i.e. stuff like the ND, PFD etc.
Line 20: Line 18:


But also frameworks for other MFD related purposes, such as: 1) MFDs in general, 2) PFDs, 3) NDs, 4) CDUs and 5) EFBs
But also frameworks for other MFD related purposes, such as: 1) MFDs in general, 2) PFDs, 3) NDs, 4) CDUs and 5) EFBs
These are intended to be just tiny wrappers to help localize key functionality (e.g. MFD page/mode handling), so that we can easily update and optimize things, without having to touch a ton of places (aircraft/instruments/dialogs).
These are intended to be just tiny wrappers to help localize key functionality (e.g. MFD page/mode handling), so that we can easily update and optimize things, without having to touch a ton of places (aircraft/instruments/dialogs).  


The long-term idea is to provide scripted frameworks on top Canvas, e.g. for MFDs - and each kind of MFD would implement the corresponding MFD interface.
The long-term idea is to provide scripted frameworks on top Canvas, e.g. for MFDs - and each kind of MFD would implement the corresponding MFD interface.
Line 49: Line 47:
Feel free to get in touch via the canvas forum to get more pointers.  
Feel free to get in touch via the canvas forum to get more pointers.  


We'd suggest to get started with just Nasal/Canvas, because there isn't much of an entry barrier - and we're still looking to port a few layers: [[Canvas MapStructure Layers]].
We'd suggest to get started with just Nasal/Canvas, because there isn't much of an entry barrier - and we're still looking to port a few layers: [[Canvas MapStructure Layers]]: We have a few "old" layers that do not yet use the new system, i.e. they work already, but are not yet ported - which would be good for performance reasons.
That is something that we would help with, and also "mentor", because it would be useful for FG as a whole, because all MapStructure layers can be used on all aircraft/dialogs, so not aircraft specific. The MapStructure Layers article should provide a rough overview.
 
The lowest hanging fruit there would be porting the "tower.draw" file to become a MapStructure layer with a proper lcontroller/symbol file.
That one should be even simpler than the AA work. "Parking" would be another simple layer to get started.
 
And then there are 3-4 others that will undoubtedly require a little more help from our side, but otherwise it should be straightforward, and a good exercise to learn more about creating your own maps/charts - which should also come in handy for any more sophisticated efforts.
 
Also, in the process, we'd like to improve the wiki docs accordingly - because our goal is to provide all the docs to enable newcomers to create their own mapping layers.


But for starters, creating/porting a few MapStructure layers should be a good learning exercise, and the whole experience should help you once you want to get involved in other Canvas areas.


{{Note|People don't need to have fgdata commit privileges to contribute. However, you should obviously know a little about [[Nasal]] scripting, OOP and [[Canvas]].
{{Note|People don't need to have fgdata commit privileges to contribute. However, you should obviously know a little about [[Nasal]] scripting, OOP and [[Canvas]].

Navigation menu