W3C home > Mailing lists > Public > www-style@w3.org > June 2016

Re: [css-round-display][motion-path] Integrate polar positioning to the motion path spec

From: Brad Kemper <brad.kemper@gmail.com>
Date: Mon, 20 Jun 2016 11:04:35 -0700
Cc: www-style list <www-style@w3.org>
Message-Id: <F5336F4C-82F2-4D1C-8D69-C5F0EE56D7C5@gmail.com>
To: Jihye Hong <jh.hong@lge.com>


On Jun 20, 2016, at 12:04 AM, Jihye Hong <jh.hong@lge.com> wrote:

>> On Jun 14, 2016, at 5:49 PM, Brad Kemper < brad.kemper@gmail.com > wrote:
>> 
>> On Jun 13, 2016, at 7:57 PM, Jihye Hong <jh.hong@lge.com> wrote:
>> 
>>>>> On Jun 14, 2016, at 1:12 AM, Brad Kemper <brad.kemper@gmail.com> wrote:
>>>>> On Jun 13, 2016, at 2:00 AM, Jihye Hong <jh.hong@lge.com> wrote:
> 
>>>> I didn't see anything in there about 'offset-position', which was
>>>> part of the same resolution. It is supposed to be a means of positioning that is similar to how
>> background-position works.
>>>> You have 'offset-anchor' described as "Defines an origin of the element in the path."
>>>> But as discussed, it should work with offset-position to set the
>>>> alignment point of the element ('auto' for
>>>> 'offset-position:<percentage>' would copy percentages from offset-position) to set the alignment
>> point in the element to align to the offset-position point in the containing block).
>>> 
>>> The name of the property which specifies the initial position of the
>>> path was suggested 'offset-origin' or 'offset-position' [2].
>>> As you mentioned, when the property is specified with 'offset-anchor'
>>> to an element, it works similar to how 'background-position' works.
>>> I wrote the property as 'offset-origin' instead of 'offset-position'.
>> 
>> I see. Origin and anchor are such similar ideas, that it is very confusing having them mean such
>> different things in the same spec, and trying to keep straight which is which. Especially since
>> 'transform-origin' uses the word "origin" to describe what you are calling an anchor.
>> 
>> Whereas "offset-position" shares a word with "background-position" that it is very similar to. It
>> makes it really easy to remember that it is the one that is similar to background-position for moving
>> stuff around, and not the thing that sets an alignment point. I don't have to go through the slow
>> exercise of trying to remember which is which whenever I see "origin" or "anchor".
> 
> I know that you have had hard time in between 'origin' and 'anchor', and I think other people also may confuse of them.
> SO, let's change 'offset-origin' to 'offset-position'! :)

Thank you! 😀 

>>> 'offset-origin'('offset-position') doesn't matter with the origin of
>>> the element. It decides the initial position of the path.
>> 
>> initial position of the element, you mean? The initial start of the path (relative to the element) is
>> set by 'offset-anchor', based on everything you've said so far.
> 
> What I meant is, 'offset-position' decides the initial position of the path.

How? Offset position is only a length, not a point. It is a distance along the path, not the location of the path (nor a path point) relative to the element. 

> In the specification of "offset-path"[1] (which refers 'motion-path'), "initial position" for the path

No, the "initial position" is a point on the path, not on the element. For instance, for circle(), is is a point at the very top center of the circle (obtusely described as "by the point where a virtual tangent to the circle/ellipse would reach the top vertical position."*). It doesn't say which point in the element aligns to that path point. 

> which is the same
> when 'offset-distance' is 0 is already defined.

For non-straight paths of more than 0 distance and non-zero rotation, you also need to know where that initial position on the path aligns to the element, because different points yield different results. Are you assuming it is the center of the element?

> So 'offset-position: auto' follows the definition in [1], the initial position sets to the specified position
> differently according to the type of value for 'offset-path'.
> 
> 
>>> When 'offset-origin' and 'offset-path' with <angle> is specified in an element, the position given
>> by 'offset-origin'
>>> works as the origin point of the coordinate system.
>> 
>> We don't need to talk about coordinate systems. 'Offset-origin/position' determines the position of
>> the element prior to moving  it along a path or angle. It is simpler to describe it this way, than to
>> speak of new coordinate systems.
> 
> I agree with that. 

Cool. 

> = Jihye
> 
> [1] https://drafts.csswg.org/css-round-display/#initial-position 
> 
* I'm not sure what tangents have to do with it. A tangent is a line with an infinite number of points, each of which has a position.  I'm assuming we are talking about the point at which the tangent touches the circle. But that could just be described as "the point on the circle/ellipse perimeter that reaches the top vertical position." And "top vertical" is redundant. "Top" already implies vertical, since z-axis has nothing to do with a 2-dimensional path. 

And how can you be following the path, if the direction is 90deg from the top of the circle?
Received on Monday, 20 June 2016 18:05:11 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 22:52:47 UTC