IRC log of svg on 2013-05-09
Timestamps are in UTC.
- 20:27:05 [RRSAgent]
- RRSAgent has joined #svg
- 20:27:05 [RRSAgent]
- logging to http://www.w3.org/2013/05/09-svg-irc
- 20:27:07 [trackbot]
- RRSAgent, make logs public
- 20:27:07 [Zakim]
- Zakim has joined #svg
- 20:27:09 [trackbot]
- Zakim, this will be GA_SVGWG
- 20:27:09 [Zakim]
- ok, trackbot; I see GA_SVGWG(SVG1)4:30PM scheduled to start in 3 minutes
- 20:27:10 [trackbot]
- Meeting: SVG Working Group Teleconference
- 20:27:10 [trackbot]
- Date: 09 May 2013
- 20:27:29 [Zakim]
- GA_SVGWG(SVG1)4:30PM has now started
- 20:27:36 [Zakim]
- + +1.425.373.aaaa
- 20:28:53 [Zakim]
- +[IPcaller]
- 20:29:02 [birtles]
- Zakim, [ is me
- 20:29:02 [Zakim]
- +birtles; got it
- 20:29:40 [Zakim]
- +[IPcaller]
- 20:29:41 [heycam]
- Zakim, Zakim [ is me
- 20:29:41 [Zakim]
- I don't understand 'Zakim [ is me', heycam
- 20:29:52 [heycam]
- Zakim, [ is me
- 20:29:52 [Zakim]
- +heycam; got it
- 20:30:09 [heycam]
- Zakim, who is on the call?
- 20:30:09 [Zakim]
- On the phone I see +1.425.373.aaaa, birtles, heycam
- 20:32:28 [Zakim]
- + +61.2.980.5.aabb
- 20:32:42 [nikos]
- Zakim, +61.2 is me
- 20:32:42 [Zakim]
- +nikos; got it
- 20:32:50 [Zakim]
- +Doug_Schepers
- 20:33:37 [heycam]
- Chair: Cameron
- 20:33:39 [nikos]
- scribenick: nikos
- 20:33:45 [heycam]
- Agenda: http://lists.w3.org/Archives/Public/public-svg-wg/2013AprJun/0100.html
- 20:34:10 [nikos]
- Topic: textLength tests
- 20:34:28 [Zakim]
- +cabanier
- 20:34:31 [nikos]
- Thomas_Smailus: the plan is to take the existing test (from 1.1) and tweak it to bring it up to speed and deploy
- 20:34:41 [nikos]
- ... looks like it will be one of the first tests for SVG 2
- 20:34:47 [nikos]
- ... might take me a couple of weeks
- 20:35:02 [nikos]
- heycam: we still don't have the test harness that CSS WG uses set up yet
- 20:35:09 [nikos]
- ... so tests will just sit in the repository for the moment
- 20:35:27 [nikos]
- heycam: we did agree on a template
- 20:35:30 [nikos]
- ... it's on the wiki
- 20:35:42 [nikos]
- ... the format is a bit different from the 1.1 tests
- 20:36:09 [nikos]
- Thomas_Smailus: textLength was a feature that has tests but no one implemented
- 20:36:15 [nikos]
- heycam: I'd try Opera, but don't know
- 20:36:41 [nikos]
- Thomas_Smailus: there was something about if at least one browser supports then it's supported?
- 20:36:57 [nikos]
- heycam: if we have two implementations we normally keep a feature when looking to remove
- 20:37:25 [nikos]
- Topic: Variable Width Stroke
- 20:37:41 [nikos]
- heycam: Brian could you summarise?
- 20:37:55 [nikos]
- birtles: I posted to the list a particular use case I have
- 20:38:25 [nikos]
- ... which is related to manipulating a path when you want to bind the width to points on the path
- 20:38:34 [nikos]
- ... one example is a drawing application where the path is built from touch events
- 20:38:48 [Tav]
- I am having trouble phoning in... says 26631 is restricted.
- 20:39:05 [nikos]
- ... another example is a shape and you want to set the width of the stroke at particular points and it sticks to the points when you resize the shape
- 20:39:21 [heycam]
- heycam has changed the topic to: http://lists.w3.org/Archives/Public/public-svg-wg/2013JanMar/0064.html
- 20:39:44 [heycam]
- heycam has changed the topic to: http://lists.w3.org/Archives/Public/public-svg-wg/2013AprJun/0100.html
- 20:41:04 [nikos]
- birtles: for my two examples, it's useful to attach the stroke width to points in the path -details in the mail
- 20:41:24 [nikos]
- ... Rik replied with another use case which is where you want to reuse a particular stroke width profile
- 20:41:33 [nikos]
- ... on paths which have different number of points to widths
- 20:41:39 [Zakim]
- + +33.9.53.77.aacc
- 20:41:44 [nikos]
- ... his example is an illustrator tutorial
- 20:41:57 [Tav]
- zakim, aacc is me
- 20:41:57 [Zakim]
- +Tav; got it
- 20:42:23 [nikos]
- nikos: that was always the use case I imagined when talking about variable stroke width
- 20:42:31 [nikos]
- Thomas_Smailus: it would mimic writing with fountain pen right?
- 20:42:37 [nikos]
- birtles: yes
- 20:42:57 [nikos]
- cabanier: it's a poor mans version of that - it's simple to implement but doesn't mimic the pen exactly
- 20:43:26 [nikos]
- birtles: the application I'm involved in is a variable on that theme, where if you push harder it gets thicker
- 20:43:53 [nikos]
- cabanier: pressing harder need not match up to a point though
- 20:44:11 [nikos]
- birtles: that's a detail, even if you bind stroke widths to points, you can have more widths than points
- 20:44:41 [nikos]
- ... so to summarise, we have two use cases, one where it's desirable to attach stroke widths to points, and one where you use percentages along the path
- 20:44:55 [nikos]
- ... in inkscape they are kind of tied to points, but you have offsets from the points
- 20:45:08 [nikos]
- ... I think we need to come up with a proposal to cover both approaches
- 20:45:18 [nikos]
- ... I'd like to make sure we don't make it difficult for applications like I describe
- 20:45:26 [nikos]
- s/describe/described
- 20:45:37 [nikos]
- ... it would be unfortunate for my application if we only had percentages
- 20:46:03 [nikos]
- cabanier: I don't think it would be that hard
- 20:46:47 [nikos]
- ... it feels like we are going to do the same thing twice
- 20:46:56 [nikos]
- ... and it depends how we apply the curve to the variable stroke width
- 20:47:02 [nikos]
- ... I'm not sure you can add points to Catmull-Rom
- 20:47:17 [nikos]
- ... beziers might be overkill
- 20:47:25 [nikos]
- ... what does InkScape do?
- 20:47:35 [nikos]
- Tav: there are 4 different types of interpolation
- 20:47:48 [nikos]
- ... cubic bezier, cubic bezier johan, linear, and spiral interpolator
- 20:48:24 [nikos]
- ... spiral path is complicated, it uses parts of spirals, hard to explain quickly
- 20:48:33 [nikos]
- ... font forge has an implementation
- 20:48:43 [nikos]
- ... it gives nice smooth paths but can go crazy sometimes
- 20:49:14 [nikos]
- heycam: Brian, what do you think we should do initially?
- 20:49:22 [nikos]
- cabanier: we definitely don't want straight line interpolation
- 20:49:29 [nikos]
- shepazu: what do you mean by straight line interpolation?
- 20:49:33 [nikos]
- heycam: I mean just linear
- 20:49:36 [birtles]
- s/Brian,/Brian, Rik,/
- 20:50:00 [nikos]
- shepazu: I experimented a lot in the past on how to do variable stroke width
- 20:50:04 [nikos]
- ... the syntax is the hard part
- 20:50:24 [nikos]
- ... tying it to particular nodes is extremely unintuitive, percentages is probably more intuitive
- 20:50:37 [nikos]
- Tav: when editing in InkScape, I think you want to tie it to the nodes somewhat
- 20:50:45 [nikos]
- cabanier: do you really think about the nodes when editing?
- 20:51:00 [nikos]
- Tav: suppose you want to modify the existing curve and you want the changes to follow that
- 20:51:04 [nikos]
- shepazu: percentages would do that
- 20:51:18 [nikos]
- cabanier: you can just calculate where the percentages are, and adjust those
- 20:51:43 [nikos]
- ... you have all the information in the application so you can recalculate the percentages
- 20:51:50 [nikos]
- shepazu: thats an authoring tool implementation detail
- 20:52:12 [nikos]
- ... suppose you have a percentage, in one mode of your tool, if you change the length of the path the percentages stay the same
- 20:52:23 [nikos]
- ... stroke width changes remain at the same percentages
- 20:52:33 [nikos]
- ... in another mode when you make the path longer, the percentages change
- 20:52:50 [nikos]
- ... I'm trying to avoid tying it to modes
- 20:52:59 [nikos]
- Tav: try live path effects on InkScape
- 20:53:20 [nikos]
- ... it's not tied exactly, if you drag a width point along, it moves to the next node
- 20:53:35 [nikos]
- shepazu: Here's another possibility; we could allow units
- 20:53:46 [nikos]
- ... if we had a property that had a list of links at which it changes
- 20:54:06 [nikos]
- ... we could have units and allow em, percentages, pixels
- 20:54:31 [nikos]
- birtles: I think that's good
- 20:54:53 [nikos]
- shepazu: we have two scenarios
- 20:54:57 [nikos]
- ... fixed positions of the width node
- 20:55:02 [nikos]
- ... and variable positions of the width node
- 20:55:16 [nikos]
- ... and both these are supported by using different units
- 20:56:05 [nikos]
- shepazu: by pixels I mean unit less device co-ordinate
- 20:56:12 [nikos]
- s/co-ordinate/co-ordinates
- 20:56:53 [nikos]
- shepazu: I have to give a caveat - I have never tried this, it's my intuition
- 20:57:16 [nikos]
- ... I have a third option, if we say widths are tied to percentages or pixels
- 20:57:27 [nikos]
- ... there could be a third thing where we have a keyword or something where we tie it to particular nodes
- 20:57:34 [nikos]
- birtles: that was my suggestion originally
- 20:57:55 [birtles]
- s/that was my suggestion originally/I thought that was what you were suggesting/
- 20:58:21 [nikos]
- shepazu: we have different kinds of segments, and they have a differing number of nodes, and the nodes may not be on the line
- 20:58:24 [nikos]
- ... e.g. a bezier
- 20:58:52 [nikos]
- ... if we are talking Catmul-Rom, I can see a lot of value in attaching to the nodes
- 20:59:17 [nikos]
- cabanier: the control points of the bezier are not useful for attaching widths to
- 20:59:29 [nikos]
- shepazu: so we have a third option - put it at a node on the path
- 20:59:42 [nikos]
- ... so for beziers control points would not be included
- 21:00:01 [nikos]
- ... I don't know how much complexity that would include, but I think those three options will provide real flexibility
- 21:00:20 [nikos]
- heycam: when Brian was talking about the nodes, I thought he was talking about the endpoint of each segment
- 21:00:23 [nikos]
- ... perhaps with an offset
- 21:00:42 [nikos]
- shepazu: I think that gets very complex syntactically
- 21:00:53 [nikos]
- Tav: that's what InkScape does
- 21:00:59 [nikos]
- cabanier: an author would never think like that
- 21:01:19 [nikos]
- shepazu: and for hand editing it seems unintuitive
- 21:01:34 [nikos]
- birtles: I suggested an example on the list, where you are resizing a box
- 21:01:41 [nikos]
- cabanier: do you need to know that in the markup?
- 21:03:02 [nikos]
- heycam: boxes are simple, I'd be interested to know if it applies to other more complex shapes?
- 21:03:45 [nikos]
- nikos: the box is a simple example but it shoes that it can get complicated to keep stroke width profiles attached to segments without Brians idea of attaching widths to indexes
- 21:04:04 [nikos]
- birtles: perhaps we need to consider different syntax proposals on the list
- 21:04:24 [nikos]
- Tav: it would be interesting to look at what we are trying to do and craft syntaxes for them
- 21:05:04 [nikos]
- shepazu: do we agree that we would want to have different stroke widths for inner and outer stroke?
- 21:05:13 [nikos]
- cabanier: no
- 21:05:41 [nikos]
- .. we discussed in Sydney
- 21:05:57 [nikos]
- shepazu: I think that will frustrate people, I think they would want asymmetry more
- 21:06:11 [nikos]
- birtles: would you be able to show some examples?
- 21:06:31 [nikos]
- ... I think we discussed it may be nice to have but for SVG 2 we could add later
- 21:07:29 [nikos]
- shepazu: Let's say we have a property, it lets you do pixels or percentages and it's a list
- 21:07:53 [nikos]
- ... we say that's good enough for version 1 - symmetrical stroke width
- 21:08:20 [nikos]
- ... it makes it harder to do the syntax later on if we want to add asymmetrical stroke widthds
- 21:09:00 [nikos]
- birtles: when we make proposals perhaps we can include ways we could extend
- 21:09:20 [nikos]
- cabanier: I think there's a lot of complexity with asymmetrical variable stroke
- 21:09:27 [nikos]
- heycam: I don't think it would be too complex unless they overlap
- 21:10:05 [nikos]
- birtles: once you have asymmetrical strokes, does it suggest you want negative widths?
- 21:11:07 [nikos]
- shepazu: what is the proposed syntax?
- 21:11:28 [nikos]
- ... for asymmetrical strokes, you have a stroke width and you want the stroke width to be applied at ...
- 21:11:46 [nikos]
- ... you have three values for asymmetrical and two for symmetrical
- 21:11:54 [nikos]
- ... width along the path, and how wide you want it at that point
- 21:12:01 [nikos]
- ... 100% is 100% of the overall stroke width?
- 21:12:37 [nikos]
- ... e.g. stroke width = 15, 100% at 10 pixels means 100% at 10 pixels, and you could say 120% or whatever
- 21:12:45 [nikos]
- ... and that modifies the stroke width at that point
- 21:13:34 [nikos]
- Tav: InkScape does absolute length. I don't see an advantage to using percentages
- 21:13:57 [nikos]
- cabanier: You can reuse profiles
- 21:14:49 [nikos]
- shepazu: I was thinking the width would be specified as a length for each point, but I like the idea of it being a percentage of the stroke width
- 21:15:16 [nikos]
- ... one of the things we were talking about was the interpolation
- 21:15:26 [nikos]
- ... how would we control that, would it also be a list?
- 21:15:47 [nikos]
- ... e.g. at some point it's one type of interpolation and at another use another type
- 21:15:57 [nikos]
- Tav: you could always put nodes close together if you want sharp edges
- 21:16:06 [nikos]
- shepazu: so we'd have a third property?
- 21:16:38 [nikos]
- ... stroke width, variable stroke width, and the third is the variable stroke width interpolation - it's a keyword to select the interpolation
- 21:17:19 [nikos]
- cabanier: You can use Catmull-Rom as it does not need extra control points
- 21:18:06 [nikos]
- shepazu: let's say we might have asymmetrical stroke width and I go from 0 - 100% and I want it nicely curved - shaped like a C
- 21:18:25 [nikos]
- ... somewhere along the curve we would want it to be a certain width
- 21:18:37 [nikos]
- ... are we talking about widths being defined along the normals? or is it always flat
- 21:18:46 [nikos]
- cabanier: what do you mean by normals?
- 21:19:03 [nikos]
- shepazu: if you draw a line that is the tangent
- 21:19:11 [nikos]
- cabanier: yes it should be the nomral
- 21:19:14 [nikos]
- s/nomral/normal
- 21:19:42 [nikos]
- Tav: there's something else to think about - how do we handle end caps and line joins?
- 21:20:06 [nikos]
- ... this is where the arc line join in InkScape comes from
- 21:20:13 [nikos]
- cabanier: Whats the deal with line joins?
- 21:20:29 [nikos]
- ... you would still cap it out - it would just be modified by the width
- 21:20:45 [nikos]
- Tav: what does it mean to have a bevelled cap, or a square cap?
- 21:20:59 [nikos]
- .. if your lines aren't coming in parallel anymore
- 21:21:10 [nikos]
- ... comes up in asymmetrical and symmetrical cases
- 21:21:32 [nikos]
- Tav: suppose you specify the end of your path to be 2 pixels wide and away from the end it's 10 pixels wide
- 21:21:51 [nikos]
- heycam: so at the point where the semicircle connects to the path, the path isn't continuous anymore
- 21:22:00 [nikos]
- ... for a normal stroke they would be going in parallel
- 21:22:40 [nikos]
- cabanier: let me try in illustrator
- 21:23:28 [nikos]
- ... it seems like it's capping with respect to the angles of the edges of the stroke
- 21:24:00 [nikos]
- birtles: I wonder what all the different topics are we need to follow up on
- 21:24:08 [nikos]
- ... first would be syntax - I'm happy to start discussion on the list
- 21:24:22 [nikos]
- ... other issues we can also follow up on the list
- 21:24:37 [nikos]
- ... just want to clarify - Doug you were talking about different interpolation modes
- 21:24:41 [nikos]
- ... is that something we want or not ?
- 21:25:02 [nikos]
- shepazu: personally I feel we should have different modes - but perhaps only two at first - Catmull-Rom and straight
- 21:25:31 [nikos]
- birtles: I wasn't sure if Tav and Rik were agreeing with that
- 21:25:57 [nikos]
- nikos: I'd like to see some examples
- 21:26:13 [nikos]
- Thomas_Smailus: yeh without seeing some graphical use cases I'm not sure how it would look
- 21:26:43 [nikos]
- heycam: If we have curves, they at least degenerate nicely into straight lines
- 21:27:04 [nikos]
- ... that's not to say it might not be nice to have syntax to specify sharp changes
- 21:27:26 [nikos]
- birtles: Doug do you want to produce some pictures and start a new thread?
- 21:27:48 [nikos]
- ... if we decide it's complex, we can only allow one to start with
- 21:27:56 [nikos]
- shepazu: I think it's a minor use case to have anything other than a smooth interpolation
- 21:28:21 [nikos]
- ... so I'd be comfortable with only having a single interpolation now and later introduce an interpolation property if we see the need
- 21:28:30 [nikos]
- ... it should be a simple change to the syntax
- 21:29:02 [nikos]
- heycam: I wonder if you had control over the interpolation, whether it would be per segment or overall
- 21:29:22 [nikos]
- shepazu: I think for calligraphic writing you would want to control per segment
- 21:30:14 [nikos]
- ... would be great for fonts
- 21:30:31 [nikos]
- ... you could use weights
- 21:31:07 [nikos]
- Tav: I've experimented with fonts and it was quite difficult
- 21:31:37 [nikos]
- nikos: it seems like for calligraphy, tuning the variable stroke widths would be so complex that you might as well just use complex paths to start with
- 21:32:40 [nikos]
- heycam: Brian do you want to gather up the proposals on the wiki page?
- 21:33:10 [nikos]
- birtles: there's still a lot that's changing so for now I'll send some stuff to the list with a straw-man proposal
- 21:36:48 [Zakim]
- -Tav
- 21:37:35 [Zakim]
- - +1.425.373.aaaa
- 21:37:43 [Zakim]
- -cabanier
- 21:37:48 [Zakim]
- -Doug_Schepers
- 21:37:49 [Zakim]
- -heycam
- 21:37:51 [Zakim]
- -nikos
- 21:37:51 [Zakim]
- GA_SVGWG(SVG1)4:30PM has ended
- 21:37:51 [Zakim]
- Attendees were +1.425.373.aaaa, [IPcaller], birtles, heycam, +61.2.980.5.aabb, nikos, Doug_Schepers, cabanier, +33.9.53.77.aacc, Tav
- 21:37:59 [nikos]
- RRSAgent, make minutes
- 21:37:59 [RRSAgent]
- I have made the request to generate http://www.w3.org/2013/05/09-svg-minutes.html nikos
- 22:37:06 [glenn]
- glenn has joined #svg
- 23:05:51 [birtles]
- birtles has joined #svg
- 23:37:28 [Zakim]
- Zakim has left #svg
- 23:58:59 [glenn]
- glenn has joined #svg