- thinking about it, I would probably prefer extending the core canvas.nas API to provide a function that renders an existing canvas in a dialog/window, or that returns a callback (or hash) that can be customized by the user (i.e. to add buttons, styles etc) - simply, because that's going to be a pretty common use-case, i.e. showing some aircraft-specific MFD in a dialog for usability reasons.
- regarding the EICAS group, I wasn't necessarily referring to the actual SVG file, but rather to the representation in the property tree - so that each page ends up being a separate group, that you can easily show/hide as required.
- regarding multiple PFD/ND/MFD instances, I think that can be easily accomplished by doing what I suggested earlier, i.e. turning your global variables into instance variables (members), as shown above.
Ultimately I'd prefer to have seperate dialogs for all displays, so one can for example show the PFD, EICAS fuel page and EICAS hydraulics page at the same time.
Not sure what Tom thinks, but I would suggest to make this a core part of the canvas APIs, so that such dialogs can be created procedurally, and automatically - with an option to customize them as needed, so that there's a single call to get a proper canvas dialog/window for an existing canvas.