<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.w3.org/Bugs/Public/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4"
          urlbase="https://www.w3.org/Bugs/Public/"
          
          maintainer="sysbot+bugzilla@w3.org"
>

    <bug>
          <bug_id>23761</bug_id>
          
          <creation_ts>2013-11-07 16:24:56 +0000</creation_ts>
          <short_desc>&quot;Zero-length line segments must be pruned&quot; is a bit unclear. Presumably this doesn&apos;t apply just to lines, but to any zero length path segment? Maybe useng &quot;path segment&quot; instead of &quot;line segment&quot; in that case?</short_desc>
          <delta_ts>2013-11-25 19:29:30 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WHATWG</product>
          <component>HTML</component>
          <version>unspecified</version>
          <rep_platform>Other</rep_platform>
          <op_sys>other</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://www.whatwg.org/specs/web-apps/current-work/#drawing-paths-to-the-canvas</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>Unsorted</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>contributor</reporter>
          <assigned_to name="Ian &apos;Hixie&apos; Hickson">ian</assigned_to>
          <cc>ian</cc>
    
    <cc>jwatt</cc>
    
    <cc>mike</cc>
          
          <qa_contact>contributor</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>95960</commentid>
    <comment_count>0</comment_count>
    <who name="">contributor</who>
    <bug_when>2013-11-07 16:24:56 +0000</bug_when>
    <thetext>Specification: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html
Multipage: http://www.whatwg.org/C#drawing-paths-to-the-canvas
Complete: http://www.whatwg.org/c#drawing-paths-to-the-canvas
Referrer: 

Comment:
&quot;Zero-length line segments must be pruned&quot; is a bit unclear. Presumably this
doesn&apos;t apply just to lines, but to any zero length path segment? Maybe useng
&quot;path segment&quot; instead of &quot;line segment&quot; in that case?

Posted from: 207.218.72.65
User agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:25.0) Gecko/20100101 Firefox/25.0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95988</commentid>
    <comment_count>1</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2013-11-07 22:25:20 +0000</bug_when>
    <thetext>What&apos;s the difference?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95993</commentid>
    <comment_count>2</comment_count>
    <who name="Jonathan Watt">jwatt</who>
    <bug_when>2013-11-07 22:36:23 +0000</bug_when>
    <thetext>&quot;line segment&quot; could be interpreted as a lineTo() segment. &quot;path segment&quot; doesn&apos;t have that ambiguity.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96266</commentid>
    <comment_count>3</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2013-11-13 22:55:54 +0000</bug_when>
    <thetext>The term &quot;path segment&quot; doesn&apos;t appear in the spec currently (and would be confusing, since it sounds like the same thing as a &quot;subpath&quot;). &quot;Line segment&quot; appears three times, all in places where it wouldn&apos;t make sense to just refer to straight line segments or the output of lineTo(). I&apos;m happy to use other terms, but I don&apos;t know what the right term is.

The term &quot;line&quot; is used all over the canvas spec to refer to things that aren&apos;t straight or lineTo() output. For example, &quot;line caps&quot;, &quot;line joins&quot;, &quot;line styles&quot;, &quot;line width&quot;, &quot;line dash pattern&quot;...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96268</commentid>
    <comment_count>4</comment_count>
    <who name="Jonathan Watt">jwatt</who>
    <bug_when>2013-11-13 23:04:13 +0000</bug_when>
    <thetext>I don&apos;t think &quot;path segment&quot; sounds like the same thing as a &quot;subpath&quot;. In fact the people I talk to use &quot;subpath&quot; to refer to refer specifically to a series of &quot;path segments&quot; that are not separated by a moveto command.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96612</commentid>
    <comment_count>5</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2013-11-20 23:07:42 +0000</bug_when>
    <thetext>&quot;sub&quot; and &quot;segment&quot; mean almost the same thing, according to the dictionary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96613</commentid>
    <comment_count>6</comment_count>
    <who name="Jonathan Watt">jwatt</who>
    <bug_when>2013-11-20 23:11:46 +0000</bug_when>
    <thetext>???</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96646</commentid>
    <comment_count>7</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2013-11-21 19:14:04 +0000</bug_when>
    <thetext>From the Oxford dictionaries:
  segment: each of the parts into which something is or may be divided
  sub-: of a smaller size; of a subordinate nature

I think what we call &quot;subpath&quot; today could equally well be called &quot;path segment&quot;, and therefore using one term for one thing and the other term for another thing would be at least as, and IMHO more, confusing than the current use of &quot;line segments&quot; to refer to both straight lines and curved lines (and, in this case, zero-length lines, which are neither, but could come from either APIs for making straight lines or APIs for making curved lines).

The definition of &quot;segment&quot; includes, under Geometry, &quot;the part of a line included between two points&quot;. &quot;line segment&quot; seems therefore like the most appropriate term here. And we use &quot;line&quot; to mean things other than straight lines already in plenty of places including in the API, as noted above.

Having said that, if it&apos;s confusing, I&apos;m happy to add more non-normative text that clarifies it. Would changing this:

# A path has a list of zero or more subpaths. Each subpath consists of a list 
# of one or more points, connected by straight or curved lines [...]

...to this (adding &quot;segments&quot;) help?

: A path has a list of zero or more subpaths. Each subpath consists of a list 
: of one or more points, connected by straight or curved line segments [...]

I can&apos;t really see how to change this to be clearer:

# Zero-length line segments must be pruned before stroking a path.

All the changes I could come up with are subtly wrong (e.g. &quot;Zero-length line segments (whether curved or straight)&quot; doesn&apos;t make sense; the segments are zero-length and therefore neither curved nor straight by definition).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96714</commentid>
    <comment_count>8</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2013-11-22 18:50:43 +0000</bug_when>
    <thetext>I&apos;ve tried to improve matters slightly. Let me know if you think it&apos;s still confusing, and if so, what you think should be done, given comment 7. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96718</commentid>
    <comment_count>9</comment_count>
    <who name="">contributor</who>
    <bug_when>2013-11-22 18:51:57 +0000</bug_when>
    <thetext>Checked in as WHATWG revision r8308.
Check-in comment: Try to clarify the term &apos;line segments&apos; with a cross-reference.
http://html5.org/tools/web-apps-tracker?from=8307&amp;to=8308</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>