[CREATE] OpenRaster core XML pondering (Re: OpenRaster page)

Jon Phillips jon at rejon.org
Fri Aug 25 22:58:14 PDT 2006


On Sun, 2006-08-20 at 05:50 -0400, Øyvind Kolås wrote:
> On 8/10/06, Øyvind Kolås <pippin at gimp.org> wrote:
> > On 8/10/06, Alexandre Prokoudine <alexandre.prokoudine at gmail.com> wrote:
> > > On 8/10/06, Jon Phillips wrote:
> > > I'd like to elaborate on e). We can't design a flawless new file
> > > format just theoretically, because as soon as we start implementing
> > > support for it, we shall struggle with all kinds of issues. And we
> > > clearly don't want revisions of specifications submitted to OASIS,
> > > don't we?
> > ..
> >
> > GEGL doesn't need integration into GIMP to be used as a testbed, in I
> > am already using it as a testbed to develop my ideas for how to
> > implement a layer tree structure.
> > ..
> 
> I've sketched an XML model which I'll try to implement a renderer for next week.
> 
> The code sample is a jpg with an svg layer with a proceduraly
> generated drop-shadow as  a group layer.
> We can use clones (instead of referencing gegl.svg twice), then all
> directed acyclic graphs using just sources, filters, and composer
> nodes can be expressed (thus making the graph equivalent of multiple
> output or >2 inputs the only capability not supported.
> 
> <image>
>   <layers>
>     <layer x='128' y='128'>
>       <layer x='15' y='15' composite-op='under' opacity='0.6'>
>         <filter class='gaussian-blur' radius='20'/>
>         <filter class='set-luminance' value='0.0'/>
>         <layer src='gegl.svg'/>
>       </layer>
>       <layer src='gegl.svg'/>
>     </layer>
>     <layer src='carstack.jpg'/>
>   </layers>
> </image>
> 
> Any comments or suggestions?
> 
> /Øyvind K.


I started to look at this section of your example:

>      <layer x='15' y='15' composite-op='under' opacity='0.6'>
>         <filter class='gaussian-blur' radius='20'/>
>         <filter class='set-luminance' value='0.0'/>
>         <layer src='gegl.svg'/>
>       </layer>

Also, I would like to bring up how metadata should be dealt with both
globally and on a more incremental level.

The SVG spec defines global and specific per object metadata:

SVG 1.1 standard
http://www.w3.org/TR/SVG11/metadata.html

SVG 1.2 working draft
http://www.w3.org/TR/2004/WD-SVG12-20041027/nonvisual.html#external-metadata


So, to copy svg, we could do:

<image>
    <metadata>
        <!-- any namespaced metadata, likr rdf:rdf -->
    </metadata>
    <layer>
        <metadata>
            <!-- namespaced metadata -->
        </metadata>
    </layer>
</image>


That would seem to cover both the global and specific metadata needs for
this file format as well...

Also, should define in the dtd later that the metadata element can be
added to other elements...we can decide that later...

What do you all think?

-- 
Jon Phillips

San Francisco, CA
USA PH 510.499.0894
jon at rejon.org
http://www.rejon.org

MSN, AIM, Yahoo Chat: kidproto
Jabber Chat: rejon at gristle.org
IRC: rejon at irc.freenode.net

Inkscape (http://inkscape.org)
Open Clip Art Library (www.openclipart.org)
Creative Commons (www.creativecommons.org)
San Francisco Art Institute (www.sfai.edu)



More information about the CREATE mailing list