- From: <mike.rizzo@bankofamerica.com>
- Date: Tue, 10 Oct 2000 10:51:43 -0500
- To: jferraio@adobe.com, svg-developers@egroups.com, www-svg@w3.org
- Cc: mike.rizzo@bankofamerica.com
Jon, et.al.: Just wanted to get some wish-list items in for SVG 2. Here they are in order of thought/importance (to us at least :) 1) Connectors and ports -Connectors have the following properties: -Line, Curve, object-like entities like pipe (w/filter effects) -Orthogonal with multiple knee points -use markers as end types -named types definable such as 'arrow', etc. -labelable -flow direction indicator. Ties in with node/edge detection. -Ports have the following properties: -Specific point ports. -Generic side/slide port. -Translates last visible point to outermost part of object to avoid connector over-draw of object components. -Snap to gravity. -visibility property. -use unique shape, color, etc. 2) Symbols Be able to manipulate a symbol as though it were a single object. This may be a failing of the Adobe plug-in or SVG 1 but a symbol does not appear to be manipulatable as though it was a single object. 3) True Layer support For example, <g>...</g> remains for grouping but <layer id='design'>...</layer> represents a layer element with it's own properties. It could then be used (perhaps) like filter elements are now. For example: ********************************************************************* <svg xml:space='preserve' width='500' height='400' > <defs> <layer id='Electrical' z-order='2' visible='yes' style='fill:green'> </layer> <layer id='Wall' z-order='3' visible='no' style='fill:none;stroke:black;stroke-width:4'> </layer> <layer id='Dimensions' z-order='1' visible='no' style='fill:blue'> </layer> </defs> <g id='OuterWalls' style='layer:url(#Wall)'> <rect x='10' y='10' width='480' height='380'/> ... </g> <g id='OuterDoors' ...> ... </g> <g id='InnerWalls' style='layer:url(#Wall)'> </g> </svg> ********************************************************************* Then, through scripting or other means the 'visible' attribute could be toggled on/off or the 'z-order' could be changed for all elements that belonged to this layer regardless of position within the svg document. Note: the z-order and visible attributes could be part of the CSS style attribute. I'm not as concerned about where they go, as long as they are part of this object. 4) Node/edge detection -Be able to identify what objects are incoming and which are outgoing. -Be able to activate/animate the edges leading into or out of an object. 5) Gravity and repulsion properties/attributes Specify gravity level relative to an object or the page. Gravity allows sink to port location for interactive CAD/diagramming applications. Repulsion also useful to indicate objects that can not be connected. This property/attribute has uses for other graphic applications too (stating the obvious I know). 6) Grid element -This type object can be used to create CASE diagram objects, background grid/graph paper, etc. -Has to allow more dynamic capabilities than the HTML <table> element. -Something similar to MS-Word's table object. -allow port connections at mid point on outer cells -permit animation within cells. -support multiple aspects (log, Cartesian, etc.) -options for major and minor axis (different CSS properties, etc.) -poss. 3D x,y,z and 4D x,y,z,t where the time dimension hooks in with SMIL animation effects. 7) Property Cache Mechanism -Named properties for style attributes. This appears to be possible within class or entity definitions but does not work consistently. 8) Text selection as lower priority More of a concern with the SVG 1 implementation of text. Although it is nice to have the text be selectable. It would also be nice if this didn't affect the use of a text object as a label for some graphic object -- and thus didn't effect on mouse over events (or any of the other on mouse events). Perhaps text selection could be a result of a double click or (preferably) done when in a selection mode for the document. 9) Text Labels as attribute of objects Objects in CAD, CASE and Flowchart type application usually have a textual label associated with the object. For example: ******************************************************************* <svg width='600' height='480'> <rect x='20' y='20' width='100' height='100' style='fill:blue; text-align:left; text-restriction:clip'> </label id='brect-label'>This is the text label for the blue rectangle</label> </rect> <rect x='120' y='120' width='100' height='100' style='fill:green; text-align:center; text-restriction:wrap'> <label id='grect-label'>This is the green rectangle label. It will wrap w/in the rectangle. </label> </rect> </svg> ******************************************************************* Note: It might make more sense to have the text-* style attributes as part of the label tag, I'm just trying to illustrate one idea for how this might be represented within SVG. 10) Text wrapping This appears to be on everyone's list. Here's my two cents. Offer text wrapping within a bounding object (ellipse, rect, etc.). Also offer an expansion of bounding object as text increases so the text is always bordered by it's bounding object. Last, offer text justification attributes (left, right, center, vcenter, hcenter, full, etc.) 11) Arc basic shape Stated before to Jon directly. Would like to see an arc basic shape element like most other graphic primitive systems provide. I know the argument can be made that a path element can be used to create an arc but the same argument can be made for a rect, line, etc. In fact the SVG 1 spec states as much. However, for size considerations for the svg file and to make translation of other graphic types easier, it would be helpful. Here's an example (creates a red pie wedge starting at angle 0 degrees sweeping through angle 55 degrees counterclockwise using radius a and b equal to 30 pixels: ******************************************************************* <svg width='600' height='480'> <arc x='10' y='10' ra='30' rb='30' start='0' end='55' type='closed' style='fill:red; stroke-fill:black; stroke-width:1; direction:ccw'> </arc> </svg> ******************************************************************* Thanks, Michael Rizzo (mikeri@crt.com) Vice President, Distributed Systems Management Bank of America Corporation
Received on Tuesday, 10 October 2000 11:51:50 UTC