- From: Cameron McCormack <cam@mcc.id.au>
- Date: Tue, 05 Feb 2013 17:27:49 +1100
- To: "www-svg@w3.org" <www-svg@w3.org>
Minutes here:
http://www.w3.org/2013/02/04-svg-minutes.html
which seem to include some of yesterday's minutes. Text version below:
[1]W3C
[1] http://www.w3.org/
- DRAFT -
SVG Working Group Teleconference
04 Feb 2013
See also: [2]IRC log
[2] http://www.w3.org/2013/02/04-svg-irc
Attendees
Present
Regrets
Chair
Mighty Cameron
Scribe
Cyril, Various, heycam
Contents
* [3]Topics
...
5. [8]Relation between enable-background and isolation
property
6. [9]iframe proposal
7. [10]HTML in SVG
8. [11]HTML5 video element in SVG
9. [12]media attribute on iframe
10. [13]streaming of SVG
11. [14]Glyph selection and positioning; associating text
with graphics
12. [15]global coordinate system
* [16]Summary of Action Items
__________________________________________________________
<trackbot> Date: 04 February 2013
<heycam> Meeting: SVG WG F2F Sydney 2013 Day 2
<ed> chair: erik
<heycam> ScribeNick: heycam
Relation between enable-background and isolation property
krit: we have the enable-background property and the isolation
property
two properties with different name but with the same context,
they're supposed to do the same thing
cabanier: except that isolation has different default values:
auto | isolate, enable-background default value is always
accumulate
<cabanier> spec for isolation:
[47]https://dvcs.w3.org/hg/FXTF/rawfile/tip/compositing/index.h
tml#isolation
[47]
https://dvcs.w3.org/hg/FXTF/rawfile/tip/compositing/index.html#isolation
<krit>
[48]https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html
#EnableBackgroundProperty
[48]
https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#EnableBackgroundProperty
krit: the idea is that you can get the background of an element
that you want to filter
and have filter operations based on the background
this is useful in blending and compositing
with feBlend and feComposite
the problem is that the relation between enable-background in
the past is the same as isolation; that's why we wanted a
shorthand
enable-background preserves the background up to the previous
enable-background:new regardless of what graphics are in
between
this is the default behaviour
similar to z-index, making a new stacking context
isolation in the past did the same thing but with different
keywords
the default behaviour now has changed, though
cabanier: but you can say enable-background works on filters
but isolation works on graphics
krit: you could but we shouldn't
... do we still want to preserve both properties with different
behaviours?
... does it make sense to have two different stackings, one for
filters and one for compositing?
nikos: they are for different purposes
the reason behind enable-background was an optimisation, if
you don't have "new" anywhere then background image isn't
available
by setting it to new, you're making a certain region of the
document available in the background
krit: that's just like in compositing
nikos: but they're for different reasons -- for
enable-background it's an optimisation, for compositing it's
for the effect you want
krit: from the implementation pov, there's some cost to
implement both
sometimes it's even not possible
if you have overlapping background regions from both
properties
cabanier: has anyone implemented enable-background for html?
krit: no
cabanier: we could say that isolation:auto defaults to
providing background in svg elements and not in html elements
nikos: I think they should be kept separate, but when you apply
a filter to a group the group is isolated
alex: you have to do it that way anyway
nikos: that's what illustrator does
cabanier: sometimes...
heycam: what is the proposed change?
cabanier: we can make enable-background "auto" ...
krit: but it would still mean that you'd have two different
stacks
cabanier: we can just make enable-background and isolation mean
the same thing
krit: the main thing is that the situation has changed last
year
the behaviour of Compositing has changed
nikos: they can't influence each other; if you apply a filter
to a group makes it isolated
krit: if you have enable-background:accumulate
isolation:isolate what happens?
nikos: [draws]
krit: we should have shared text between Filters and
Compositing saying you isolate up until the ...
Cyril: you can say isolate has two purposes; one is for
compositing and one is that it affects filters as if it were
enable-background:new
... would need to define what happens if you put
isolation:isolate;enable-background:accumulate on an element
nikos: if you have
enable-background:accumulate;isolation:isolate that's not going
to make a difference
Cyril: cabanier says isolation takes precedence
... what "auto" in isolation? is that different from "isolate"?
cabanier: it's mostly not isolated, unless you have opacity or
something that creates a stacking context
ed: where should this go?
krit: I'd like to share the wording, and reference Compositing
from Filters
cabanier: if you really wanted enable-background to only to
apply to filters and not influence compositing, you couldn't
krit: SVG needs to say what stacking is
ed: jwatt wrote up a z-index proposal, what stacking contexts
means -- that might be enough
krit: then define how Filters and Compositing/Blending interact
with stacking contexts in SVG
Cyril: will there be any difference between SVG and HTML?
krit: no
cabanier: you might want to blend something with opacity with
the background in SVG
which isn't possible in HTML/CSS
<ed>
[49]http://lists.w3.org/Archives/Public/www-svg/2009Oct/0042.ht
ml (jwatt's z-index proposal)
[49] http://lists.w3.org/Archives/Public/www-svg/2009Oct/0042.html
krit: why doesn't isolation have a new value to mean never
isolated?
Cyril: when you use CSS Transforms on SVG elements it makes a
stacking context, but if you use the attribute it doesn't?
heycam: that seems bad
krit: that's not how it's implemented
... if you have a transform you should isolate this?
alex: this doesn't make sense in HTML
krit: I think transforms shouldn't affect blending/compositing
in SVG
... we first need to know if Compositing and background are
affected by stacking contexts
ed: we could use a new term and maybe make it equivalent to
stacking contexts later
nikos: "isolated group"
cabanier: I think doing that for CSS will be a nightmare
krit: transforms being affected by stacking contexts is stupid
cabanier: maybe CSS Transforms should be updated?
<scribe> ACTION: krit to ask CSS/FX how blending is supposed to
work with transforms [recorded in
[50]http://www.w3.org/2013/02/04-svg-minutes.html#action18]
<trackbot> Error finding 'krit'. You can review and register
nicknames at
<[51]http://www.w3.org/Graphics/SVG/WG/track/users>.
[51] http://www.w3.org/Graphics/SVG/WG/track/users%3E.
<scribe> ACTION: Dirk to ask CSS/FX how blending is supposed to
work with transforms, opacity, all properties that create
stacking contexts [recorded in
[52]http://www.w3.org/2013/02/04-svg-minutes.html#action19]
<trackbot> Created ACTION-3431 - Ask CSS/FX how blending is
supposed to work with transforms, opacity, all properties that
create stacking contexts [on Dirk Schulze - due 2013-02-11].
iframe proposal
stakagi: we have a document
<stakagi>
[53]http://www.w3.org/Graphics/SVG/WG/wiki/Proposals/IFrame_Lik
e_Syntax
[53]
http://www.w3.org/Graphics/SVG/WG/wiki/Proposals/IFrame_Like_Syntax
birtles: let me summarise
in the Abstract there are three main parts
one is the iframe element; takagi-san has written out spec
text to allow iframe in SVG
it's similar to HTML's iframe element
one addition is the second point, the levels-of-detail, and
it uses a media query to determine when to show the iframe's
contents
it's an attribute on the iframe itself
the third part is the global coordinate system, and there's
some discussion about what that is useful for in the issues
section
Cyril: except for the coordinate system, it looks similar to
the <picture> element or srcset
the responsive images, where they want to load one resource
or another based on media queries
birtles: wrt the media attribute?
Cyril: what's the difference between <img> and <iframe> in this
case?
heycam: it's meant to be just like an HTML <iframe> here
krit: I thought some WebKit engineers were unhappy with
<iframe>
and maybe they would not like it in SVG
birtles: I've heard the opposite feedback, that <iframe> is the
way forward, and people shouldn't use <object> and <embed>
for example we have seamless and sandbox on iframe now
krit: for security concerns
birtles: yes to make it better
so this proposal would allow those attributes on <iframe> in
SVG too
nikos: this doesn't talk about the difference between seamless
or not
birtles: it's not in this document, but we have discussed it
I'm not sure how much we need to say
the behaviour would be the same as in HTML, in how you
inherit styles
that's all common
one area of difference is do you have a border
that does need to be defined
Cyril: what's the difference between <iframe> and <img>?
ed: iframe has interactive, img is static
birtles: there used to be a difference where <image> in SVG was
static as in not animated, but that's changed to allow
animation now
alex: so iframe is like the old <animation> element
ed: this is basically how we implemented Tiny's <animation>
element -- as an <iframe>
... the first thing then is do we want to have an iframe
element and in SVG 2?
heycam: we should write down somewhere how foreignObject
requires HTML to be rendered etc.
krit: so this proposal has an addition?
birtles: yes that's the next part of it
krit: does it make sense to allow that on original <iframe>?
birtles: first question is whether we should allow <iframe>
directly in SVG
second is whether to have media="" just on SVG's <iframe> or
on HTML's too
Cyril: I think the <animation> element had good points, but
maybe too many in the same element, e.g. control of timeline
and the linking to SVG content
maybe it's a good idea to split these
birtles: this isn't about controlling the timeline
Cyril: that's why I'm saying it's a good idea to split these
two
... we should have a common solution across responsive images
krit: should we use <iframe> in SVG directly instead of
inventing it again?
birtles: yes it would be kind of like a shortcut in SVG without
<foreignObject>
it would be in the SVG namespace, just for convencience
it's not reinventing iframe, but importing it and smoothing
over the gaps
Cyril: now in respimg they are talking about srcset in <img> or
a new <picture> element
which are both only for static things
if you have a map that's interactive you couldn't use
<picture>
<stakagi> First of all for with responsive images
compatibility, I introduced media attribute.
heycam: maybe srcset or whatever could apply to <iframe>
birtles: srcset is more about selecting from alternatives, here
<iframe media> is about when to turn the element on or off
<stakagi>
[54]http://www.w3.org/Graphics/SVG/WG/wiki/Proposals/IFrame_Lik
e_Syntax#5.11.1_Additional_Media_features
[54]
http://www.w3.org/Graphics/SVG/WG/wiki/Proposals/IFrame_Like_Syntax#5.11.1_Additional_Media_features
heycam: could you use scoped style sheets instead media=""?
birtles: media queries will fetch all of the matched things,
but in this case we don't want to load everything at once
Cyril: same thing for respimg
<stakagi> Especially, i think 'close-viewport' is unique
feature
birtles: within that media="" attribute, there's a proposal for
some additional media queries
there are two
zoom and close-viewport
they're additional tests to define when the resources are
loaded; one is the zoom factor, and the other is how close the
tile is to the viewport
Cyril: close as in nearby
birtles: you give a radius around the tile, once the viewport
overlaps with this region load this resource
nikos: why would you let the author set that?
birtles: one view is to let the UA choose that to optimise
alex: if you pan the map you'll want to prefetch the tiles
you're about to see
birtles: even if we were to use srcset, these additional media
queries could still be useful in that context
Cyril: this is touching a lot of areas, CSS, HTML...
I am not sure how we can proceed in the SVG WG, coordinate
with the other groups?
birtles: there are different routes
pointer-events was something that was in SVG initially and
then later was adopted more widely
we could say this media="" stuff only applies in SVG
and I think it has more relevance in SVG
Cyril: we shouldn't give the impression that we're modifying
<iframe> unilaterally
birtles: the thing to decide today is do we want to pursue a
native <iframe> in SVG, and what direction would we like to do
with media=""
krit: this is somehow in conflict with the discussion of how to
allow all HTML elements directly in SVG
<ed> -- 15 min break --
<krit> scribeNick: krit
HTML in SVG
<heycam> ScribeNick: heycam
krit: the problem is that HTML uses the CSS box model
all HTML elements have this CSS layout
one problem is that SVG has coordinate based drawing,
CSS/HTML has layout based
I suggested on whatwg to use something other than
<foreignObject>
we could create a shortcut for this, it just takes a
width/height and position and everything inside is HTML
inside that you have the CSS box model
that would be one way to do it
Cyril: I taught SVG this winter to a group of students, they
were mixing SVG/HTML with foreignObject, body, etc.
they knew how to do it easily
krit: it's a lot of code that you waste
you have to specify <foreignObject>, html namespace, body
heycam: I thought we wanted to try to avoid having a wrapper
element
Cyril: are you switching parser in the middle? if you have XML
on the outside and you get to this new element, would you
switch to HTML parsing?
heycam: no
that couldn't work
cabanier: in HTML don't you switch to SVG parsing when you get
<svg>?
heycam: it's switching mode within the HTML parser, not
switching parser
Cyril: when you have a <foreignObject> with HTML inside, does
it have to be XML-compliant HTML?
heycam: yes
Cyril: can you have a <video> self closed tag?
heycam: in XML? yes
cabanier: if you have an HTML file with inline SVG, and inside
that you have <foreignObject> how is that parsed?
heycam: that's still HTML
Cyril: <foreignObject> needs an HTML namespace?
heycam: on the children of <foreignObject>, say the <body>
Cyril: you just want to replace <foreignObject> with <html>?
krit: in addition, not replace
heycam: I don't think you can make HTML elements inside
<svg:html> automatically get parsed into the HTML namespace if
we're being parsed as XML
ed: that wouldn't allow us to have <iframe> directly as a child
of other SVG elements
<iframe> is a bit special in that it defines a rectangular
region, just like <foreignObject>
krit: you cannot just put an HTML element in SVG context
heycam: we could make it so that the namespace URI, whether it
is SVG or HTML, doesn't matter
thus you could have <g><div></div></g>, and <div> would be in
the SVG namespace, but that wouldn't matter -- it would behave
the same as an HTML namespaced <div>
heycam: Tab also suggested at one point having no namespace, so
<svg> as the root, no xmlns
and then all the SVG- and HTML-named elements could be in no
namespace
but you would still get SVGCircleElement, HTMLDivElement
objects created for them
heycam: one problem with <iframe> as a direct child of <g> is
how to specify the position of the iframe
you could use style="top:
; left:
" or style="transform:
translate(
)"
SVG has a bunch of global attributes like transform="",
presentation attributes, etc.
should these be allowed on the <iframe>-as-a-child-of-<g>?
I feel like we should have <iframe> functionality in SVG
without having to have intervening HTML
birtles: <iframe> has some features which would be useful in
SVG as well, like seamless for applying styles across nested
browser contexts
and sandbox as well
heycam: I am a bit worried about these extra attributes on
SVG's <iframe>
if later we want to unify it and HTML's
if we allow x="" and y="" and transform="" and display="" on
our <iframe>, and later we have a plan to allow all HTML
elements as direct children of SVG elements, it would be bad if
they stopped working if the element was in the HTML namespace
I'd like much the same behaviour across both namespaces
(x and y might be ok to have not work in HTML namespace,
since you want to rely on CSS for layout)
Cyril: what about for HTML <video>?
birtles: that raises the same issues
... with x and y, I wonder if you could define those to only
make sense/apply in SVG contexdt
and reuse that for both iframe and video
x and y would mean "the SVG offset", and by definition
wouldn't work in HTML
the next step, when we try to expand integration further, we
could decide if we wanted those on <div> and <p>, but that's a
separate question
[some talk about the difference between width/height properties
and attributes on canvas/video/img]
ed: to me it seems all of these HTML elements that have
width/height, it's a separate problem from all the other HTML
elements like p/div
I think those that have width/height already would be easier
to take in as they are, more or less
the qn is whether to do that first, or consider the whole set
of elements
[discussion of which spec iframe would go in to, SVG 2 or
another; takagi-san prefers SVG 2, but whatever is quicker]
ed: I think it makes sense to do all of video, canvas, iframe
at once
I wouldn't mind it being in SVG 2
heycam: what to do with all the presentation/global attributes
that would otherwise be on SVG elements?
ed: just allow x/y to begin with?
heycam: I think that is safest
RESOLUTION: SVG 2 will have iframe, canvas, video in the SVG
namespace and with the same behaviour as HTML's, but allowing
global SVG attributes on them
... iframe, canvas, video will also have x="" and y=""
attributes in SVG, which eventually will be presentation
attributes for the new 'x' and 'y' properties
<scribe> ACTION: stakagi to edit SVG 2 to add the iframe,
canvas, video elements [recorded in
[55]http://www.w3.org/2013/02/04-svg-minutes.html#action20]
<trackbot> Created ACTION-3432 - Edit SVG 2 to add the iframe,
canvas, video elements [on Satoru Takagi - due 2013-02-12].
birtles: the next thing is the media="" attribute
heycam: I think the specs should say whether media="" means
fetch up front or only once it starts matching
I'd like it not to be different from media="" on style, link,
but I can see that preventing resource fetching is important
for tiles/maps
birtles: in the proposal media="" acts like a conditional
processing attribute
so it should prevent processing of elements altogether
maybe it needs a different name
the reason for choosing media="" was to match the <picture>
element
<ed> -- lunchbreak --
<krit> ScribeNick: krit
HTML5 video element in SVG
<Cyril>
[56]http://www.w3.org/Graphics/SVG/WG/wiki/SVG2Multimedia
[56] http://www.w3.org/Graphics/SVG/WG/wiki/SVG2Multimedia
Cyril: Questions related to this topic.
... We decided to use HTML5 video element instead of tiny
video. I implemented it and have quesions
... what about bollean attributes without values?
... What about self closing tags
krit: they shoulld be closeable
heycam: yes, the parser should ignore that and not closing tags
should be able to have closing tags
Cyril: ok
... checked with tiny waht we miss
... tiny has a timeline
... they are in webanimations, but will they be in media
elements?
birtles: we discuss it next week and have ideas
silvia: i like the idea of timelines
Cyril: timeline is on doc for tiny
... pause on element you don't care
... how do we have this feature in SVG?
birtles: talk about it that next week
... we didn't get put the mechnaics now
Cyril: you need to be careful of timelines between groups
shanestephens_: we should take care of it
... if we don't, the media controler should provide it
... but we want to make it work
Cyril: do you wat to control the doc timeline (start timeline
on load)
birtles: yes, we define what 0 line is on a documen
t
silvia: you could have the media group under the timeline
... every media element has a videocontroler
... media controlers are objects that can be shared?
s/shared\?/shared(\?)/
Cyril: animation element whcih has 2 features
... link to animation, control the timeline, how in
webanimations
?
birtles: webanimations has timing groups
... <par> and <seq>
Cyril: animations can poiint to a external document
shanestephens_: I would modify media controler to have a
timeline. Seems better
Cyril: image with ref to image
no timeline. video would have
with resource restrictions
... video should point to svg content to control timeline on
this svg content
... image does not have any control
... no MediaElements interface
... I would not expect a video to run script
... cartoons are one example
... come back to streaming later
silvia: should be in HTML first
birtles: right
Cyril: yes, commen problem: spec features between html and svg
... how can i run and stop video declaritly
... in html you need scripts and events
birtles: ah, needs to be expressed in webanimations
Cyril: svg document and html document differ and both do not
have timeline
birtles: all documents have a timelien
shanestephens_: embedding does not worry me
... when you use css svg then this will introduce a timline
given by WebAnimation
... html will have a timeline
birtles: so you want 10s after document load?
Cyril: yes
birtles: you can do that with svg animation already
... but you can not do with nesting animation yet
... we need to think about a declaritive way
... might be different to pass it through WG.
shanestephens_: don't think so
Cyril: css animtions trigger when style attached. This was not
possible to synchronize
... how to fixx that
birtles: intentionally it will be fixed magically
... e.g. time groups are one way
... no absolute time in CSS yet, but could be added
... helps synchronizing
... more work on CSS side needed
shanestephens_: there is more that we need to discuss with the
CSS WG
... we should work on appro. to sync CSS to the CSS WG
Cyril: in tiny we had transformable attribute
... transforms like scale could be defined that it just had an
affect on the position
krit: so CTM gets transformed but just affects the position?
Cyril: basically
... do same restrictions apply? do we still need that?
... if so, it should be in CSS Trnasforms?
AlexD: maybe
shanestephens_: we should come up with a unified model for
transforms
heycam: like trnasform-behavior: normal and position?
Cyril: yes, where you transform CTM, or just a point
... where is transform on text?
... not in CSS transforms,
?
AlexD: no, we do that
Cyril: synchMaster and tolerance
... nother point in SVG tiny
... what if one point is lacking
... then you can define if you do not care if audio and video
are in synch or not. It was possible to allow a tolerance
shanestephens_: mediaControler does it, but no master
birtles: webanimation it is sometimes hard to do simple things
shanestephens_: spec of tiny is very hard to understand and
read
Cyril: but the model is simple
shanestephens_: is the spec not easy enought ridden or the spec
not good enough?
AlexD: former
<birtles> (we decided in web animations not to address sync
tolerance initially, but just to have strict synchronisation)
birtles: we won't allow tolerance in the first version
Cyril: RTP is not used much, so it might not a valid use case,
but people use multiplex streams, they won't like
... but hybrid cases, different streams from different media,
sounds interesting
shanestephens_: yes, there are things that ususally separate
video and audio stream for example
silvia: in html it is regarded as quality of browser
... html allows implementation to decide about the tolerance
level
... if i am web dev, and have 4 medias. Then I want them come
in enought speed, so that they can displayed together
... let browser decide how to get quality for streamed media
Cyril: yeah, but sometimes it depends on one master
... but ok for now
... what baout visibility? start from 10s of video, should it
display one fray for this 10s?
heycam: Can you do that?
silvia: it always does that
... either give it a poster, or it will give the first frame.
not described in html, but the way it works
Cyril: basic interface of media seems to be the same
... did not lost anything to tiny
birtles: media attribute on iframe
media attribute on iframe
silvia: is this about media queries?
all: yes
Cyril: iframe is one way to get HTML things into SVG
(see minutes of morning)
birtles: usecase: map and you want control when resources are
loaded and displayed
... media attribute defines (with media queries), when this
will happen
... media for attribute with two different behvaiors (we meean
dont load, don't show) but we want don't show but load if you
like
... maybe we rename it to sth. else
<stakagi> The srcset attribute : An HTML extension for adaptive
images : [57]http://drafts.htmlwg.org/srcset/w3c-srcset/
[57] http://drafts.htmlwg.org/srcset/w3c-srcset/
<stakagi> The picture element : An HTML extension for adaptive
images : [58]http://picture.responsiveimages.org/
[58] http://picture.responsiveimages.org/
silvia: there is also reload audio/video and so on
... this is related
... means load if you can
birtles: media on iframe don't show this resorese and preload
can allow to allow or disallow pre loading
heycam: would it be fine to turn of poss of iframe to laod and
show of iframe?
... or think of media attribute as controlling multiple things
(?)
Cyril: would our iframe prop. interesting as usecase for
<picture> and srccset discussion?
silvia: no, differetn
... media queries specify range of conditions
... in this size use this, this for another screen size?
... what is it on iframe?
... how do you define the range?
... would make a lot more senese
... especially for going to the picture element
... what is the use case?
birtles: SVG conditional prpoposing attr.
... it is choosing between possibilieties like <switch>
... common case you wouldn't
silvia: don't think that is going to work
... rather embed frame with iframes in there and only one is
chosen according criterias
birtles: how is that working on tiling in the mapping use case?
... you have a lot offrames with same query
silvia: is it a use case to turn of tiles?
Cyril: maybe on details
... as more you zoom in, as more details
birtles: you zoom in and get new tiles for this level?
... don't you think this is accepted?
heycam: if you could use <switch> in HTML....
silvia: you getting SMIL back to live once per peace
... do you have an example
birtles: yes
<birtles>
[59]http://www.w3.org/Graphics/SVG/WG/wiki/Proposals/IFrame_Lik
e_Syntax#7.10_Establishing_a_new_viewport
[59]
http://www.w3.org/Graphics/SVG/WG/wiki/Proposals/IFrame_Like_Syntax#7.10_Establishing_a_new_viewport
Cyril: in this case you just want to conrol loading
birtles: yeah, ok
Cyril: smae problem as on resp images
... use cases might be different enough. I your case all tiles
will have the same queries on a given layer
<Cyril> s/I your/In your/
birtles: waht about extensions to media queries regarding to
zooming
ed: maybe a topic of FX TF or CSS WG
<scribe> ACTION: birtles to discuss iframes with media queries
with CSS WG [recorded in
[60]http://www.w3.org/2013/02/04-svg-minutes.html#action21]
<trackbot> Created ACTION-3433 - Discuss iframes with media
queries with CSS WG [on Brian Birtles - due 2013-02-12].
streaming of SVG
<Cyril> [61]http://www.w3.org/Graphics/SVG/WG/wiki/SVGStreaming
[61] http://www.w3.org/Graphics/SVG/WG/wiki/SVGStreaming
Cyril: In Seattle F2F I made wiki page
... had an action a concrete guideline
... put it on my web site for now
<Cyril>
[62]http://perso.telecom-paristech.fr/~concolat/SVG/streaming/
[62] http://perso.telecom-paristech.fr/~concolat/SVG/streaming/
Cyril: some times you want to stream SVG content
... discussed few use cases
... defined terms
... what is SVG stream, what is a part of it, how do you access
a part of this stream
... tries to brdidege a proposal mp4 together with TTML
... defines a concept how to map sources
... use cases are cartoons
... you jump in at any time 24/7
... would be good to make broadcasting of cartoons
... popcorn js does similar things
... things are not meant to be streamed
... live stream not easy
... use cases are valid in web content
... in multi media player as well
... I started what we have now (progressive rendeirng without
control yet).
... communication between client and server missing
... do not forward referecnes
... element of the future not there, so no content, you are
stock
... on progressive rendering you want content be synchronized
in painting
... you can add scripting as well
... for simple things the guideline help you
... but often you want more
... correct displaying on jumping
... used access units, generiv term
... SVG document is cut into parts and defines and start access
units
... on concatenating, the peaces get a valid document
... a cartoon would cut into frames
... you seek into this stream
... you need to look at the points when you jump
... I defined svg stream header.
... helps on seeking
... it helps to simulate playing from the beginning on cut in
peace stream
... to hget a valid state in a stream, you need to care of
haveing a valid DOM, scoped stylesheets and maybe JS in a
correct state on every position
heycam: is this an authoring requirement?
Cyril: author defines a state that you would like to have
heycam: so browser must allow you that
Cyril: yes
... seeking in an SVG stream
... in the future where you don't have the data
... you need to know what you want to fetch
... hte SVG stream header indicates this
heycam: do you have an header
Cyril: different ways to do that
... in a container, separate file
... like WebVTT
... WebVTT give you the time offsets
... I descirbe how you might use this in HTML5
silvia: when you asked to put SVG as source files for Video, is
that waht you asked for.
Cyril: yeah
silvia: this gives you a bunch of restrictions
... it needs a timeline
Cyril: there is already a timeline
silvia: 2s into the file must be the same for every person
Cyril: I think this is the case
birtles: yes, you can synch this
Cyril: if you start storing
... container will give you duration
... author needs to give duration and can be used to loop
... mp4 file does not need to be video, can cntain everything
silvia: <video> can already point to mp4, even with these
things embeded into mp4
Cyril: right
... waht is SVG in HTML track?
... discussed this in the proposal
... I'd like to publish and get feedback
birtles: how much is required of UA, servers and authors
?
Cyril: as UA, you feed stream to preprocessor
... don't think there is much to change in browser to support
this
... for servers there is nothing to change
... they do mp4 already
... mime type is different
... to clarify that a container has a SVG inside
... but is not SVG
silvia: webM is not a generic container
... just for audio and video maybe WebVTT
Cyril: is it a valid use case for WebM
?
silvia: not at the moment
... webm doesn't support it and UA's won't support it anyway,
since they would need to parse it. don't find a browser that
can handle this
Cyril: authors need define Cartoon and then access points +
packaging
silvia: has consequences to put markup data into container that
is used to work on pixel data
... things like Canvas assume to get pixel data on video
birtles: what baout tools?
Cyril: we have an svg player and a tool to create container
files
birtles: isn't there a lot of potential to get it wrong?
Cyril: Haven't make the tool for reconstructuring
... where can I put it?
silvia: feels like it does tooo much
... sounds more like 10 specs
Cyril: put it into different sections
silvia: sounds that some parts would be specified by MPEG
Cyril: yeah, maybe we do it at MPEG or W3C
RESOLUTION: Cyril will upload this document for further
discussion in this group
<ed> -- 15min break --
<birtles> scribenick: birtles
Glyph selection and positioning; associating text with graphics
heycam: I want to see if anyone has a proposal for this, or how
important it is
... regarding the glyph positioning in SVG
... a way of selecting and positioning *glyphs* as opposed to
*characters*
cabanier: isn't this already possible?
krit: no that's just unicode, not glyph id
ed: the only way I know of is to use altGlyph with an SVG font
heycam: altGlyph as a name attribute and you can select glyph
by name
ed: I think it's by id
... although there might be a name as well
<ed> [63]http://www.w3.org/TR/SVG11/text.html#AltGlyphElement
[63] http://www.w3.org/TR/SVG11/text.html#AltGlyphElement
krit: nowadays a lot of people icon fonts
... is that the use case?
heycam: now, it's more for things like converting PDF to SVG
... you want to position glyphs exactly
... so you want predictable glyph selection
AlexD: the solution in XPS is to have both a character string
plus a list of glyph IDs
... and the package includes the font
... so you're guaranteed to have the glyphs
heycam: I also want to be able to have some graphics with a
text string associated with it
cabanier: are you trying to emulate PDF CID fonts
[explanation of what that means... it just has single offset,
works in one direction, so you don't have to specify x,y every
time]
scribe: it also includes an n-to-m mapping so you can say this
set of glyphs represents this set of characters
heycam: altGlyph also has this
[some discussion about how altGlyph's addressing works]
scribe: so are people interested in solving this in the SVG2
timeframe?
cabanier: how does this work in pdf.js?
heycam: it renders to canvas and creates hidden spans over the
text so you can highlight it
cabanier: so doing it with canvas sounds problematic. it sounds
like we need to solve this
... identity encoded fonts are so easy
heycam: one thing about altGlyph is that you can use it in the
middle of other text too
... e.g. <text>abc<altGlyph glyphRef="100">de</altGlyph></text>
... "abc" will use usual layout and font-fallback
... but "de" might, in this case, be represented by a single
glyph 100
... but what if the text direction differs?
... what does it mean to have absolute positions in this case
since the whole thing can be shuffled around?
cabanier: so you're mixing absolute positioning with default
positioning
... it would be easier if you switch modes when you have glyph
IDs
... so maybe you need <idText> or <cidText>
heycam: <glyphs>?
cabanier: something like that
heycam: do you still like the idea of having glyph IDs and
character data
... would a list be better
... not one altGlyph per glyph
AlexD: yeah, a comma-separated list would be better
cabanier: you might want to define the mapping up-front
heycam: is that how CID fonts work?
cabanier: not CID, but PDF
heycam: so you define a table up-front?
cabanier: yes
heycam and ed: but for SVG we want to have the unicode text
there as well as a fallback
scribe: not just a series of glyph IDs and a table
heycam: so CID is either horizontal or vertical and then just
offsets?
cabanier: yes, you start with the CTM and then just offsets
... and it's always LTR or top-to-bottom
... and the default just uses the default width
heycam: I'd prefer to have something like altGlyph but
*outside* a <text> element
... so you're not mixing text layed out by the browser and
author-positioned text
cabanier: but then you'd need the font
heycam: if you're missing the font or some glyphs aren't there
use a box or the undefined glyph
cabanier: there's also entity text
... where you want to map some particular characters to
something else
... not sure what the use case is
... but it's in InDesign for the Asian market
heycam: I'm not sure I'm keen on the table idea
... it's nice to have all the character data in the DOM itself
... for AT tools etc.
cabanier: it just gets bigger that's all
heycam: so in PDF, when you select between horizontal and
vertical is that something you do on the command that draws the
text or is it when you select the glyph
cabanier: it's the encoding, it's either horizontal or vertical
<birtles_> scribenick: birtles_
cabanier: but writing-mode also does top-to-bottom
right-to-left
... can all the font formats that can currently be referenced
in the web content, do they all identify glyphs by integers?
... I believe so
ed: but not SVG fonts
heycam: ok, so numbers are probably ok
... we just need to come up for a name for the element and the
attribute
cabanier: and if you want an n-to-m mapping table you need
somewhere to put that
<birtles> scribenick: birtles
heycam: I don't think we need that
cabanier: I just think it's going to get verbose
... so what if you have several glyphs
heycam: it looks like <___ ids="10,1">ab</___>
cabanier: and then you would have offset="20, 40" ?
heycam: I'd rather use x,y,dx,dy for that
cabanier: you shouldn't have to specify *all* the offsets, just
the ones where you are tweaking them
... the default spacing should be fine for most cases
heycam: so maybe you want <tspans> for that?
cabanier and ed: no we don't want tspans
heycam: what if you want differently coloured text in the
middle?
ed: break it up
heycam: but what about selection and hit-testing
... if you have to have separate elements for different
formatting you'd lose the ability to know that it's the same
text run
AlexD: I want a javascript function that just gets the text
run, I shouldn't have to piece it together
heycam: I think we can easily add a tspan-like element in the
middle
... which would also mean you don't have to do <___ dx="0 0 0 0
3 0">...</___> to tweak the position of just a few characters
... typically when you have a font family do they tend to have
the same glyph ids?
cabanier and AlexD: they can be all mixed up
heycam: well, you have to know the font when you author it
anyway
<Cyril>
s/http:\/\/perso.telecom-paristech.fr\/~concolat\/SVG\/streamin
g\//http:\/\/dev.w3.org\/SVG\/modules\/streaming\/index.html/
AlexD: that's right, that's part of the authoring exercise
heycam: since selections in the document are represented as a
DOM selection using a range
... you couldn't do that if you didn't have the character IDs
and only had IDs
AlexD: the problem is that if you have a <____> and you have 10
ids and 10 characters, you still can't match up ids to
characters for text selection since we don't have the mapping
heycam: so you could only select the whole lot at once
... we could assume some default
... in firefox you can select half a ligature
... can we use something like that as a default
... and then also provide a mechanism if you want something
more accurate
AlexD: I think you'll run into all the same problems that face
SVG fonts not coping with shaping
heycam: so we need the table
AlexD: the mapping table works better, it's a simple lookup
... and that gives you delineated glyph boundaries that you can
use for selection
heycam: so if you have 3 characters mapping to one glyph
... then when you select that glyph you get back those 3
characters
birtles: how do you do the reverse look-up if you have
different characters mapping to the same glyph?
AlexD: that doesn't normally happen, but it can
heycam: what does PDF do?
[discussion about the complexities of an n-to-m mapping where
one glyph/grapheme cluster can be used for multiple characters
and one character/string of characters can be mapped to
different glyphs depending on context/author preference]
krit: what if you have an SVG-in-opentype font you might want
to select the SVG one or not
cabanier and heycam: they have the same ID, you can't do that
heycam: normally in the DOM the character data is the actual
text
... and I think various things expect that to be the case
cabanier: even if the element name is different?
heycam: yeah
... I'm pretty sure AT tools walk the DOM and find character
data to read out
cabanier: so we should try to keep those tools happy?
heycam: not only that, but also the DOM selection stuff
cabanier: but if we put it there we cannot do selection
heycam: we can if we resolve how to look up the mapping
AlexD: you can have the table separate and then you don't need
the IDs next to the character data
cabanier: what do the AT tools use
heycam: they just walk the DOM as far as I am away
... but that was only one concern
... if you select some text with the mouse
... there's a corresponding DOM range that's indexed by
character
... if there's no character data in the DOM, what are you
referring to?
ed: you could construct some kind of shadow tree dom ;)
heycam: is there a method on the text selection that gets the
character data?
krit: what are use cases?
all: representing PDF in SVG?
birtles: how far does CSS Fonts' font-feature-settings get us
with this use case?
... when you want to select a particular variant, use a <tspan>
with the appropriate feature?
heycam: it's conceivable but there may be issues if some
browsers don't support all the layout features of the given
font
... I'd like to have think about how we can still have
character data directly in the DOM but have reliable selection
of glyphs corresponding to a selection of characters in the DOM
without having duplicated information in the table as well as
in the character data of the element
<scribe> ACTION: Cameron to think about glyph selection and
positioning [recorded in
[64]http://www.w3.org/2013/02/04-svg-minutes.html#action22]
<trackbot> Created ACTION-3434 - Think about glyph selection
and positioning [on Cameron McCormack - due 2013-02-12].
<heycam> ScribeNick: heycam
global coordinate system
<ed>
[65]http://www.w3.org/Graphics/SVG/WG/wiki/Proposals/IFrame_Lik
e_Syntax#GlobalCoordinateSystem
[65]
http://www.w3.org/Graphics/SVG/WG/wiki/Proposals/IFrame_Like_Syntax#GlobalCoordinateSystem
birtles: I'm not sure if I can summarise this well
you can see that it's about establishing how different tiles
map to one another's coordinate systems
is this useful?
there are some alternatives listed there
there are different ways you could use a viewBox, and
different ways you could use the coordinates of the child
content for the same effect
you could say that all child content used in the one document
is the same coordinate system
and in the child content if it wanted to represent the data
in a different coordinate system it could have its own viewBox
birtles: three different options on how you could author this
they each have advantages/disadvantages
for example if you say everything is in a global coordinate
system, you introduce a coupling between the child tiles and
the parent
the proposal here is that because each of these 3
alternatives have disadvantages, we should use a
globalCoordinateSystem element
it's also mentioned further on that this would allow
different kinds of coordinate systems; ones which are useful
for connection diagrams, or one for building plans
alex: the only thing is that <globalCorodinateSystem> applies
to siblings, it's different from SVG usually where it would
apply such a transform to a group
<stakagi>
[66]http://www.w3.org/Graphics/SVG/WG/wiki/Proposals/IFrame_Lik
e_Syntax#7.13_.27Global_coordinate_systems.27_.28Add_new_sectio
n.29
[66]
http://www.w3.org/Graphics/SVG/WG/wiki/Proposals/IFrame_Like_Syntax#7.13_.27Global_coordinate_systems.27_.28Add_new_section.29
<stakagi> formula:
[67]http://www.w3.org/Graphics/SVG/WG/wiki/Proposals/IFrame_Lik
e_Syntax#7.13.2_Coodrdinate_Transformation_and_Viewport_Establi
shment
[67]
http://www.w3.org/Graphics/SVG/WG/wiki/Proposals/IFrame_Like_Syntax#7.13.2_Coodrdinate_Transformation_and_Viewport_Establishment
heycam: why not just have tiles wrap their local coordinate
space data in a viewBox or transform that transforms it into
the agreed-upon global coordinate system?
... then you don't need a new <globalCoordinateSystem> element
... is there a disadvantage to this?
alex: you need to know in the outer document what the position
and size of the tile is, so you can avoid loading it unless it
is in view
this is not possible if you position all of your child
iframes at 0,0, with the child content all in the same global
coordinate system
heycam: we'll continue discussing this later
<scribe> Chair: Erik
<scribe> Scribe: Various
<scribe> Meeting: SVG WG F2F Sydney 2013 Day 2
<scribe> Scribe: heycam
<scribe> Chair: Erik
<scribe> Meeting: SVG WG F2F Sydney 2013 Day 2
<scribe> ScribeNick: heycam
<scribe> Chair: Erik
<scribe> Meeting: SVG WG F2F Sydney 2013 Day 2
Summary of Action Items
[NEW] ACTION: birtles to discuss iframes with media queries
with CSS WG [recorded in
[68]http://www.w3.org/2013/02/04-svg-minutes.html#action21]
[NEW] ACTION: Brian to spec the setting/getting of an array of
floats for path handling [recorded in
[69]http://www.w3.org/2013/02/04-svg-minutes.html#action16]
[NEW] ACTION: Cameron to add dash control to SVG2 [recorded in
[70]http://www.w3.org/2013/02/04-svg-minutes.html#action08]
[NEW] ACTION: Cameron to add length shortcuts to SVG DOM
[recorded in
[71]http://www.w3.org/2013/02/04-svg-minutes.html#action01]
[NEW] ACTION: Cameron to follow-up aligning with global HTML
attributes in SVG [recorded in
[72]http://www.w3.org/2013/02/04-svg-minutes.html#action06]
[NEW] ACTION: Cameron to mail HTML people about moving data to
Element [recorded in
[73]http://www.w3.org/2013/02/04-svg-minutes.html#action05]
[NEW] ACTION: Cameron to relax referencing requirements
(issue-2295) [recorded in
[74]http://www.w3.org/2013/02/04-svg-minutes.html#action04]
[NEW] ACTION: Cameron to spec auto-sized images [recorded in
[75]http://www.w3.org/2013/02/04-svg-minutes.html#action02]
[NEW] ACTION: Cameron to think about glyph selection and
positioning [recorded in
[76]http://www.w3.org/2013/02/04-svg-minutes.html#action22]
[NEW] ACTION: Cyril to specify shared-path segments [recorded
in [77]http://www.w3.org/2013/02/04-svg-minutes.html#action09]
[NEW] ACTION: Dirk to ask CSS/FX how blending is supposed to
work with transforms, opacity, all properties that create
stacking contexts [recorded in
[78]http://www.w3.org/2013/02/04-svg-minutes.html#action19]
[NEW] ACTION: Dirk to investigate applying CSS transforms to
SVG when it is the root element of the document [recorded in
[79]http://www.w3.org/2013/02/04-svg-minutes.html#action03]
[NEW] ACTION: Erik to add non-scaling stroke to SVG2 [recorded
in [80]http://www.w3.org/2013/02/04-svg-minutes.html#action07]
[NEW] ACTION: heycam to insure that the text chapter talks
about baseline in terms of CSS features [recorded in
[81]http://www.w3.org/2013/02/04-svg-minutes.html#action17]
[NEW] ACTION: heycam to write up examples and text for
marker-mask [recorded in
[82]http://www.w3.org/2013/02/04-svg-minutes.html#action10]
[NEW] ACTION: krit to ask CSS/FX how blending is supposed to
work with transforms [recorded in
[83]http://www.w3.org/2013/02/04-svg-minutes.html#action18]
[NEW] ACTION: Rik to add new procedural methods for catmull-rom
[recorded in
[84]http://www.w3.org/2013/02/04-svg-minutes.html#action14]
[NEW] ACTION: Rik to add the extendPath and addPath methods to
the SVG 2 [recorded in
[85]http://www.w3.org/2013/02/04-svg-minutes.html#action13]
[NEW] ACTION: Rik to edit the SVG 2 spec to add the possibility
to set the d attribute using a Path object [recorded in
[86]http://www.w3.org/2013/02/04-svg-minutes.html#action12]
[NEW] ACTION: Rik to look at how to attach a path or shape
object to an SVG path element [recorded in
[87]http://www.w3.org/2013/02/04-svg-minutes.html#action11]
[NEW] ACTION: Rik to specify the stringifier method for the
Path object [recorded in
[88]http://www.w3.org/2013/02/04-svg-minutes.html#action15]
[NEW] ACTION: stakagi to edit SVG 2 to add the iframe, canvas,
video elements [recorded in
[89]http://www.w3.org/2013/02/04-svg-minutes.html#action20]
[End of minutes]
__________________________________________________________
Minutes formatted by David Booth's [90]scribe.perl version
1.137 ([91]CVS log)
$Date: 2013-02-05 06:24:24 $
__________________________________________________________
[90] http://dev.w3.org/cvsweb/~checkout~/2002/scribe/scribedoc.htm
[91] http://dev.w3.org/cvsweb/2002/scribe/
Scribe.perl diagnostic output
[Delete this section before finalizing the minutes.]
This is scribe.perl Revision: 1.137 of Date: 2012/09/20 20:19:01
Check for newer version at [92]http://dev.w3.org/cvsweb/~checkout~/2002/
scribe/
[92] http://dev.w3.org/cvsweb/~checkout~/2002/scribe/
Guessing input format: RRSAgent_Text_Format (score 1.00)
FAILED: s/cabanier: how is the quality of what is produced? If you have
/cabanier: how is the quality of what is produced?/
Succeeded: s/Array v/Array/
Succeeded: s/used to/used too/
Succeeded: s/but the impleme//
Succeeded: s/transformed ref/transform="ref"/
Succeeded: s/in SVG/in HTML/
Succeeded: s/resolution:/RESOLUTION:/g
Succeeded: s/Compositing/SVG/
FAILED: s/shared\?/shared(\?)/
Succeeded: s/birtles/Cyril/
Succeeded: s/birtles/shanestephens_/
Succeeded: s/morening/morning/
FAILED: s/I your/In your/
Succeeded: s/on all tiles/on a given layer/
Succeeded: s/to/too/
Succeeded: s/to/too/
WARNING: Bad s/// command: s/http:\/\/perso.telecom-paristech.fr\/~conco
lat\/SVG\/streaming\//http:\/\/dev.w3.org\/SVG\/modules\/streaming\/inde
x.html/
Found ScribeNick: nikos
Found Scribe: Cyril
Inferring ScribeNick: Cyril
Found ScribeNick: heycam
Found ScribeNick: krit
Found ScribeNick: heycam
Found ScribeNick: krit
Found ScribeNick: birtles
Found ScribeNick: birtles_
Found ScribeNick: birtles
Found ScribeNick: heycam
Found Scribe: Various
Found Scribe: heycam
Inferring ScribeNick: heycam
Found ScribeNick: heycam
Scribes: Cyril, Various, heycam
ScribeNicks: nikos, Cyril, heycam, krit, birtles, birtles_
WARNING: No "Present: ... " found!
Possibly Present: ACTION-3427 ACTION-3428 AlexD Cyril Cyril_ Tav alex al
l birtles birtles_ brian cabanier dino dirk dmitry ed erick erik formula
glenn heycam https joined jun konno krit krit1 left nikos nikos1 rik sc
ribenick shane shanestephens_ shepazu silvia stakagi stearns stearns_ sv
g trackbot ys-uchida
You can indicate people for the Present list like this:
<dbooth> Present: dbooth jonathan mary
<dbooth> Present+ amy
Found Date: 04 Feb 2013
Guessing minutes URL: [93]http://www.w3.org/2013/02/04-svg-minutes.html
People with action items: birtles brian cameron cyril dirk erik heycam k
rit rik stakagi
[93] http://www.w3.org/2013/02/04-svg-minutes.html
End of [94]scribe.perl diagnostic output]
[94] http://dev.w3.org/cvsweb/~checkout~/2002/scribe/scribedoc.htm
Received on Tuesday, 5 February 2013 06:29:46 UTC