20,741
edits
m (→Background)  | 
				m (→Ideas)  | 
				||
| Line 23: | Line 23: | ||
* add support for persistence, i.e. to serialize a Canvas.Group structure to disk ($FG_HOME) and use caching from then on  | * add support for persistence, i.e. to serialize a Canvas.Group structure to disk ($FG_HOME) and use caching from then on  | ||
* run parsexml in a Nasal worker thread (problematic: while parsing/loading can happen asynchronously, the parser needs a handle to the canvas group to draw into, so need to synchronize access to that) <ref>https://forum.flightgear.org/viewtopic.php?f=4&t=34571&p=368880#p368707</ref>  | * run parsexml in a Nasal worker thread (problematic: while parsing/loading can happen asynchronously, the parser needs a handle to the canvas group/canvas FBO to draw into, so need to synchronize access to that) <ref>https://forum.flightgear.org/viewtopic.php?f=4&t=34571&p=368880#p368707</ref>  | ||
* Stuart suggested to port svg.nas to C++ (that would still not give us any threading benefits) - also, custom   | * Stuart suggested to port svg.nas to C++ (that would still not give us any threading benefits) - also, our custom parser is really trivial, i.e. only supports a subset of SVG  | ||
* create a new/dedicated canvas element specifically for handling SVG files, without going through Nasal space (at least not inside the main loop), possibly adopting an existing SVG rendering back-end that is OpenGL/OSG compatible  | * create a new/dedicated canvas element specifically for handling SVG files in native code, without going through Nasal space (at least not inside the main loop), possibly adopting an existing SVG rendering back-end that is OpenGL/OSG compatible (see James' Ski/QQ2 comments)  | ||
* use an existing SVG back-end that renders into a scene graph, i.e. something like [https://github.com/vega/vega-scenegraph vega scenegraph]  | * use an existing SVG back-end that renders into a scene graph, i.e. something like [https://github.com/vega/vega-scenegraph vega scenegraph] (see Scott's comments regarding nanovg)  | ||
== Status ==  | == Status ==  | ||