First of all, let me say how awesome it is to see the FXG
capabilities added to Flex. It opens up a new class of applications
and new model for creating UI elements based on vector graphics,
which is common in "my world" of industrial applications.
A few thoughts/comments:
It would be helpful to clarify which objects will be capable
of hit-testing, focus, and generation of mouse and keyboard events.
Interactivity is essential to the utility of FXG. Also, requiring
shapes and paths to be wrapped in a Group in order to achieve
interactivity could be problematic, as it would create a potential
disconnect between the designer/coder/animator workflow.
It would be helpful to clarify methods and support for
dynamic addition/removal of objects and the rendering rules
associated this this type of behavior. It may also be desirable to
provide methods to suppress/enable re-rendering if a large number
of runtime/dynamic changes to the graphic structure need to be
made, so that rendering can be
On a related note, an FXG container element/object that
allowed its contents to be serialized/deserialized at runtime would
be extremely valuable for a range of applications where vector
graphics can dynamically be loaded/combined at runtime, not just
In terms of efficiency of design and compactness of
description of a vector drawing, elemental shapes, lines, and such
need to support styling of some type so that reusable styles can be
declared and references. Additionally, it would be ideal if these
"styles" were themselves addressible and modifiable at runtime.
This was a very useful aspect of SVG that enabled animation to be
implemented much more easily in certain use cases.
A declarative Arc element type (or perhaps extensions to the
Ellipse element type) would GREATLY simplify creation of many
common types of UI components (pie wedges, circular gauge ranges,
and so on).
A very, VERY powerful attribute of text elements within SVG
was the concept of the text-anchor (and autosizing), which allowed
the text object to properly align itself automatically in cases
where the anchor point was not the upper left corner. To implement
truly centered or right aligned placement requires a-priori
knowledge of the text dimensions or script-driven sizing logic that
greatly complicates things. It would be a big improvement if FXG
could make it possible to achieve this declaratively, as with SVG.
Hope this is helpful, and I welcome comments and ideas.